[Merge Double Posts By Same Member] - Соединение сообщений

Автор DestroyNet, 17 сентября 2005, 08:00:20

« назад - далее »

0 Пользователи и 6 гостей просматривают эту тему.

Yarik

Я сколько не бился с этой версией так и не убрал.Я себе версию 1.0 ставил,там такого не происходит.

Lexx77761

а на 2.0.9 пойдет 1.0
Интересно, каким модом на этом форуме пользуются
http://forum.homedistiller.ru/index.php?topic=35032.80;topicseen

GeorG

Цитата: Lexx77761 от 25 марта 2015, 22:01:20а как убрать 25 Март 2015, 22:03:31
Цитата: GeorG от 25 марта 2015, 04:12:04$parts[$i] = preg_replace_callback('~\[time\](\d{0,10})\[/time\]~i', 'time_format__preg_callback', $parts[$i]);

Её нужно комментировать, чтобы при многократном объединении одного сообщения, не было видно BBC кодов на линии объединения.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Lexx77761

Честно, хотел это сделать, но почему то по ftp не могу попасть на сервер, пишет "Не удалось получить список каталогов"
Хостер молчит второй день. Напрягает что то уже этот хостер. Обидно что за хост оплатил 5 дней назад за год.

Yarik

Спасибо Георг,вчера не внимательно тему читал и пропустил этот пост.Вечером попробуем....

GeorG

Цитата: Lexx77761 от 26 марта 2015, 07:03:08но почему то по ftp не могу попасть на сервер
Тогда больше никак, как убрать [time] я вам уже сказал.


Цитата: Lexx77761 от 25 марта 2015, 22:47:25Интересно, каким модом на этом форуме пользуются
http://forum.homedistiller.ru/index.php?topic=35032.80;topicseen
Скорее всего, тем же самым...
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Lexx77761

Странно, по filezille не мог подключиться, по total commander получилось.
Закоментировал строку, все отлично получилось.
Спасибо GeorG

salam

Мод  отсюда нормально работает на 2.0.4. Спасибо GeorG

Romman

Уважаемые гуру, пожалуйста, помогите с этим модом.
Ставлю мод на 2.0.9. Выдает две ошибки.
Первую правлю вручную из Этого поста. Второе, на что ругается это добавить целый блок в subs-post после // Update the last message in a board, and its parents.
После ручной правки форум начинает выдавать ошибку
Fatal error: Cannot redeclare doublePostCheck() (previously declared in /home/pechera/xn----7sbbaaza3dvamfi7e.xn--p1ai/docs/forum/Sources/Subs-Post.php:2987) in /home/pechera/xn----7sbbaaza3dvamfi7e.xn--p1ai/docs/forum/Sources/Subs-Post.php on line 3151
при попытке зайти в личные сообщения и при попытке написать сообщение.
Куда копать?
Строка 3151 это конец вставляемого блока...

Yworld_garry

Цитата: Romman от 12 апреля 2015, 12:09:51Куда копать?

Отсюда нам не видно что вы вставляли, куда и как. Так что приводите что и куда вставляли, возможно вам помогут.

Yarik

Жмёте на карандаш,рядом с ошибкой.И содержимое с описанием ошибки сюда.

Romman

Первая ошибка в файле subs-post:
Найти
$parts[$i] = preg_replace('~\[time\](\d{0,10})\[/time\]~ie', '\'\' . timeformat(\'$1\', false) . \'\'', $parts[$i]);
Заменить на
// $parts[$i] = preg_replace('~\[time\](\d{0,10})\[/time\]~ie', '\'\' . timeformat(\'$1\', false) . \'\'', $parts[$i]);
Вторая ошибка в файле subs-post:
Найти
// Update the last message in a board, and its parents.
Добавить перед
// This function Check Double Post - MOD AutoMergeDoublePost
function doublePostCheck($merge_msg = false)
{
   global $smcFunc, $board, $topic, $modSettings, $user_info, $post_errors, $txt;

   if (empty($merge_msg))   // Auto Merge
   {
      // Allow Doble Post?
      if (allowedTo('doublePost') && !($modSettings['AutoMergePost_4all']))
         return;

      $result = $smcFunc['db_query']('','
         SELECT t.id_last_msg, m.subject, m.body, m.poster_time
         FROM {db_prefix}topics AS t
            LEFT JOIN {db_prefix}messages AS m ON (t.id_last_msg = m.id_msg)
         WHERE t.id_topic = {int:topic}
            AND m.id_member = {int:user}
         LIMIT 1',
         array('user' => $user_info['id'], 'topic' => $topic)
      );

      list ($row['id_msg'], $row['subject'], $row['body'], $row['posterTime']) = $smcFunc['db_fetch_row']($result);
      $smcFunc['db_free_result']($result);

      // No Flood?
      if (empty($row['id_msg']))
         return;

      // Time for allow Doble Post?
      if (time() >= ($modSettings['AutoMergePost_time'] * 86400 + $row['posterTime']))
         return;
   }
   else               // Manual Merge
   {
      checkSession('get');
      $post_errors = array();
      $result = $smcFunc['db_query']('','
         SELECT id_msg, id_board, id_member, subject, body, icon
         FROM {db_prefix}messages
         WHERE id_topic = {int:topic}
            AND id_msg <= {int:id_msg}
         ORDER BY id_msg DESC
         LIMIT 2',
         array('id_msg' => $merge_msg, 'topic' => $topic)
      );
      $tmp = array();
      while ($tmp[] = $smcFunc['db_fetch_assoc']($result)){};
      $smcFunc['db_free_result']($result);

      // No Flood?
      if (empty($tmp[0]) || empty($tmp[1]) || $tmp[0]['id_member'] != $tmp[1]['id_member'])
         fatal_lang_error('cannot_merged_replies', false);

      // Allow Merge Doble Post?
      if (!allowedTo('doublePostmerge_any') && ($tmp[0]['id_member'] != $user_info['id'] || !allowedTo('doublePostmerge_own')))
         fatal_lang_error('cannot_merged_replies', false);

      $user_info['permissions'][] = 'modify_any';
      $user_info['permissions'][] = 'delete_any';
      $user_info['permissions'][] = 'delete_own';
      $modSettings['AutoMergePost_manual_flag'] = $tmp[0]['id_msg'];
      $modSettings['recycle_enable'] = false;
      $_REQUEST['board'] = $_GET['board'] = $board = $tmp[1]['id_board'];
      $_REQUEST['icon'] = $_POST['icon'] = $tmp[1]['icon'];
      $_REQUEST['goback'] = $_POST['goback'] = 1;

      $row = $tmp[1];
      $_POST['message'] = un_htmlspecialchars(un_preparsecode($tmp[0]['body']));
      unset($tmp);
   }

   // Compatibility with Reason For Editing Mod
   $_POST['edit_reason'] = $txt['AutoMergePost_reason'];

   // Now Modify >:D
   $user_info['permissions'][] = 'modify_own';
   $modSettings['edit_disable_time'] = 0;
   $modSettings['max_messageLength'] = empty($modSettings['AutoMergePost_nomax']) ? $modSettings['max_messageLength'] : 0;
   $_REQUEST['msg'] = $_GET['msg'] = $row['id_msg'];
   $_REQUEST['subject'] = $_POST['subject'] = addslashes(un_htmlspecialchars($row['subject']));
   $_REQUEST['message'] = $_POST['message'] = un_htmlspecialchars(un_preparsecode($row['body'])) . "\n" . str_replace('$date', ''.time().'', $modSettings['AutoMergePost_div']) . "\n" . $_POST['message'];
}
Кстати, в файле install_2.xml про вторую вставку написано <search position="after">. Пробовал и до, и после - результат один.

Yarik

Схраняете бекап этого файла...Потом прикрепляете к посту этот файл,я сделаю в нём все нужные изменения и прикреплю к сообщению.Вы потом этот файл подмените на хостинге.Это все ошибки?

Romman

Цитата: Yarik от 12 апреля 2015, 13:51:27Схраняете бекап этого файла...Потом прикрепляете к посту этот файл,я сделаю в нём все нужные изменения и прикреплю к сообщению.Вы потом этот файл подмените на хостинге.Это все ошибки?
Да, это единственные две ошибки.
буду безмерно благодарен.
В приложении файл без изменений этого мода.

Yarik

Правлю Ваш файл...Дайте плиз ссылку на модификацию что ставите,Вы немного неправильно выложили изменения.
Я вижу строку которую нужно изменить,но не знаю версию мода которую ставите

Romman


Yarik

#216
Значится так...

Romman

#217
Кстати, победил я...
Внес изменения в install_2.xml согласно вот ЭТОМУ посту и всё установилось без ошибок. Мод работает как часы. Всем спасибо.
Надеюсь GeorG не обидится - во вложении подправленный мод под 2.0.9, может кто с такой же проблемой как я столкнется...

digger®

Romman,
в очередной раз, прошу не размещать на форуме чужих авторских работ, не имея на то прав. Если такие права вам автором предоставлены, сразу это указывайте.

sco_rp

Как в этом моде объединять сообщения вручную. Никаких кнопок на панели сообщения не появилось.

valek0972

Цитата: sco_rp от 13 мая 2015, 11:34:52
Как в этом моде объединять сообщения вручную. Никаких кнопок на панели сообщения не появилось.
В настройках мода включить данную опцию.

sco_rp

Цитата: valek0972 от 13 мая 2015, 11:38:37
В настройках мода включить данную опцию.
Я включил (галочку поставил), ничего не появилось(

Как они хотя бы выглядят, где их искать? Если 2 сообщения были написаны раньше, чем установлен мод, что делать чтобы их объединить?

valek0972

Цитата: sco_rp от 13 мая 2015, 11:49:42
Я включил (галочку поставил), ничего не появилось(

Как они хотя бы выглядят, где их искать? Если 2 сообщения были написаны раньше, чем установлен мод, что делать чтобы их объединить?



Все появляется.
В ручном режиме объединяются сообщения написанные ранее до установки мода.


sco_rp

У меня такое.



В автоматическом режиме мод нормально отрабатывает:

Yarik


GeorG

Цитата: sco_rp от 13 мая 2015, 12:25:05У меня такое.
Мод от куда брали для установки?
Мод ставился с ошибками?
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

sco_rp

#226
Цитата: GeorG от 13 мая 2015, 18:17:56
Мод от куда брали для установки?
Мод ставился с ошибками?


Мод с топика http://www.simplemachines.ru/index.php?topic=44.msg95245#msg95245

Ошибка была такая же как упоминалась выше

  Вроде писали, что с ней нормально работает.

В общем, в автоматическом режиме все работает нормально. Но в темы кнопка не добавилась, ни в текущую, ни в дефолтную.

Версия форума 2.0.10






GeorG

Цитата: sco_rp от 13 мая 2015, 20:18:47Ошибка была такая же как упоминалась выше
Да там много чего пишут, на 16-ти страницах темы.

Как найдёте, дайте ссылку, а лучше саму ошибку покажите, так вернее.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

sco_rp

 
Цитата: GeorG от 13 мая 2015, 21:42:31Да там много чего пишут, на 16-ти страницах темы.
По ссылке картинка с ошибкой открывалась. Взял ее в теги, теперь она показывается в предыдущем сообщении картинкой.

GeorG

На дефолтной теме посмотрите, работает ли объединение постов.

p.s. Вы при установке, отмечали другую тему, чтобы в неё тоже вносились изменения?
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

sco_rp

Цитата: GeorG от 14 мая 2015, 04:45:43На дефолтной теме посмотрите, работает ли объединение постов.

Нет, на дефолтной теме тоже не работает

Цитата: GeorG от 14 мая 2015, 04:45:43p.s. Вы при установке, отмечали другую тему, чтобы в неё тоже вносились изменения?

Я не заметил, чтобы при установке можно было отмечать другие темы. Но в любом случае получается, что ничего не отмечал.

GeorG

Цитата: sco_rp от 14 мая 2015, 05:28:46Я не заметил, чтобы при установке можно было отмечать другие темы
Бывает что и не замечаешь.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

bulatus

В первом сообщении указано:
Цитата: DestroyNet от 17 сентября 2005, 08:00:20Merge Double Posts
Автор: din1031
Последняя версия: 1.0.8
Где скачать эту версию?

На http://custom.simplemachines.org/mods/index.php?mod=1523 Latest Version: 1.3

Цитата: DestroyNet от 17 сентября 2005, 08:00:20Версия для SMF2: http://www.simplemachines.ru/index.php?topic=44.msg95245#msg95245
ведет на версию 2.5

Существует ли Latest Version которая работает без проблем в SMF 2.0.10?

GeorG

У меня версия 2.5, без проблем работает на форуме 2.0.10.
Версия 1.0.8, вроде как для форума 1.1.х
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

bulatus

to GeorG под проблемой я имел ввиду ошибки при установке в файле subs-post и тегами при повторном склеивании.

Что я сделал:
Я закомментировал строку
$parts[$i] = preg_replace_callback('~\[time\](\d{0,10})\[/time\]~i', create_function('$m', ' return "[time]" . timeformat("$m[1]", false) . "[/time]";'), $parts[$i]);

она превратилась в // create_function('$m', ' return "[time]" . timeformat("$m[1]", false) . "[/time]";'), $parts[$i]);

Проблема с тегами
Цитировать25 Март 2015, 22:03:31
исчезла. Вроде всё работает и не падает, форум ошибок не кажет. Надеюсь что всё ОК.

Yarik


GeorG

Цитата: bulatus от 05 июня 2015, 16:44:12Я закомментировал строку
Да, именно это и нужно было сделать.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

thunderamur

Юзаю мод из этого поста
http://www.simplemachines.ru/index.php?topic=44.msg95245#msg95245
Наблюдаю проблему при объединение постов в топике, где в названии темы используются кавычки. После 1-го объединения перед кавычками встает 1 слэш, после 2-го объединения ещё 2 и т.д.



Посмотрел install_2.xml, на строке 255 вижу
$_REQUEST['subject'] = $_POST['subject'] = addslashes(un_htmlspecialchars($row['subject']));
addslashes для чего используется? И если оно реально нужно, где слэши уже можно удалять?
или может быть addslashes работает не корректно.

GeorG,
Тут по теме ещё какие-то фиксы упоминались, залейте исправленную версию мода, пожалуйста. А то с 2011 года уже много времени прошло.

GeorG

Цитата: thunderamur от 08 июня 2015, 19:40:15где слэши уже можно удалять?
Слеши можно удалять, например при переименовании всех сообщений в теме или вручную.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

thunderamur

Я это понимаю, но это же бред, должно автоматом работать как положено.

sgtWhite

Давно у себя установил, а как сделать чтобы он еще и добавления бампал ? К примеру :



На главной форума все равно остается за 23:46, т.е никаких обновлений. Может кто дорабатывал ?

GeorG

Последнее добавляется к предыдущему, следовательно технически сам пост не считается новым, а только обновлённым.

Есть мод который поднимает тему при редактирование последнего сообщения, т.е., заменяет его новым, меняя ID поста (если стоит мод спасибок, то будут проблемы, возможно и с другими подобными тоже) и показывает иконку NEW если посты обновлены:
http://custom.simplemachines.org/mods/index.php?mod=1557
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

sgtWhite

GeorG, спасибо за совет. Установил, но что-то он не хотеть. Грешу на включенную опцию "Не показывать дату и ник после редактирования сообщений админом" - на досуге поковыряю из-под юзера  :)

GeorG

Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

sgtWhite


GameSindrom

Классный мод, давно такой хотел установить, но не как руки не доходили. Установил версия Auto Merge Double Post v1.2, немного старовато, зато вроде работает, а вот версия v1.3 не хотела устанавливаться, ошибки выдавала. Так что пробуйте другие версии ставить если последняя версия не ставиться.

shurutov

Я таки дико извиняюсь, но вот такая конструкция:
            $smcFunc['db_query']('', '
                 UPDATE {db_prefix}attachments
                     SET id_msg = {int:id_msg}
                     WHERE id_msg = {int:id_ms0}
                     LIMIT {int:limit}',
                 array(
                     'id_msg' => $_REQUEST['msg'],
                     'id_ms0' => $modSettings['AutoMergePost_manual_flag'],
                     'limit' => $modSettings['attachmentNumPerPostLimit']
                 )
             );
В постгресе не работает, пришлось ручками выпиливать LIMIT. :(

С уважением,
Шурутов Михаил

kak2z

Цитата: shurutov от 13 августа 2016, 21:36:25Я таки дико извиняюсь, но вот такая конструкция:
            $smcFunc['db_query']('', '
                 UPDATE {db_prefix}attachments
                     SET id_msg = {int:id_msg}
                     WHERE id_msg = {int:id_ms0}
                     LIMIT {int:limit}',
                 array(
                     'id_msg' => $_REQUEST['msg'],
                     'id_ms0' => $modSettings['AutoMergePost_manual_flag'],
                     'limit' => $modSettings['attachmentNumPerPostLimit']
                 )
             );
В постгресе не работает, пришлось ручками выпиливать LIMIT. :(



а вот так сделать пробовали?
LIMIT 0, {int:limit}'
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

Yarik

Мод хороший,такой мод обязательно нужен будет для 2.1

shurutov

kak2z
В постгресе использование LIMIT-а при UPDATE-е явялется ошибкой. Синтаксической. Со всеми вытекающими.
С уважением,
Шурутов Михаил