pcmist Опубликовано 30 декабря, 2014 Поделиться Опубликовано 30 декабря, 2014 Добрый день. Обновления с 3.4.5 на 3.4.7 прошло гладко. Но есть небольшая ошибка при удалении сообщения. Сегодня залез в панель модератора, там удалил темы, перешел в закладку сообщения и попробовав удалить сообщение выдало вот это. Date: Tue, 30 Dec 2014 00:40:41 +0000 Error: 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IN (132361) AND attach_rel_module='post'' at line 1 IP Address: ХХХХХХХХХХ - /index.php?app=forums&module=moderate§ion=moderate&do=p_hdelete&f=36&t=2325&pid[]=132361&st=&auth_key=dbe1ab65a33355664fa3741747f5fe6a&return=modcp:deleted ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- mySQL query error: SELECT * FROM ibf_attachments WHERE IN (132361) AND attach_rel_module='post' .--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------. | File | Function | Line No. | |----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------| | admin/applications/forums/sources/classes/moderate.php | [class_attach].bulkRemoveAttachment | 1119 | '----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------' | admin/applications/forums/modules_public/moderate/moderate.php | [moderatorLibrary].postDeleteFromDb | 418 | '----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------' | admin/applications/forums/modules_public/moderate/moderate.php | [public_forums_moderate_moderate]._multiRemoveHardDeletedPost | 362 | '----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------' | admin/applications/forums/modules_public/moderate/moderate.php | [public_forums_moderate_moderate]._postsManage | 248 | '----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------' | admin/sources/base/ipsController.php | [public_forums_moderate_moderate].doExecute | 306 | '----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------' В этом сообщение нет приаттаченных файлов, тупо текст, почему он ругается на таблицу с аттачами я не знаю. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
pcmist Опубликовано 2 января, 2015 Автор Поделиться Опубликовано 2 января, 2015 Попробуем поднять. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
pcmist Опубликовано 15 января, 2015 Автор Поделиться Опубликовано 15 января, 2015 На всякий случай попробую Апнуть. Тоже самое, если в адмике у пользователя нажать ОПЦИИ-Удалить все сообщения. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
tonyk Опубликовано 22 марта, 2015 Поделиться Опубликовано 22 марта, 2015 Победили проблему? Та же самая беда выскочила. Если есть решение- поделитесь, а то поиск результатов не приносит... Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Death1 Опубликовано 22 марта, 2015 Поделиться Опубликовано 22 марта, 2015 Присоединяюсь. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Efremov Опубликовано 22 марта, 2015 Поделиться Опубликовано 22 марта, 2015 Вы только обновились на 3.4.7? Больше ничего не устанавливали после этого? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Riddick Опубликовано 22 марта, 2015 Поделиться Опубликовано 22 марта, 2015 Та же проблема и у меня... Error: 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IN (5642) AND attach_rel_module='post'' at line 1 Появилась так же после обновления с 3.4.6 на 3.4.7. Темы удалить можно без проблем а вот сообщения приходится ждать когда движок сам удалит автоматически... Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
tonyk Опубликовано 22 марта, 2015 Поделиться Опубликовано 22 марта, 2015 хм...развернул рядом 2-й форум, чистый, без доп.модулей и хуков...для свей базы он удаляет сообщения через acp в conf_global.php подменил ему базу на "рабочую" и...ничего не изменилось, пошла ошибка. Вывод- хуки и моды к данной проблеме если и имеют отношение, то только косвенное - надо искать различия в таблицах базы... Бегло: структура таблицы attachments совпадает на 100%, её исключаем... Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
tonyk Опубликовано 22 марта, 2015 Поделиться Опубликовано 22 марта, 2015 (изменено) Оп ... В двух словах: Ошибка возникает ТОЛЬКО при попытке уделения из acp и только тогда, когда сообщение уже было удалено с форума средствами модерирования. Возникает она даже на чистом форуме. В базе записи о сообщениях при удалении средствами модерирования не удалятся, о чем сигнализирует нам в acp счетчик сообщений пользователя. Ни установленные хуки, ни что другое на неё не влияет. Вероятнее всего в самом движке собака зарылась. Вывод только один - либо отключать функцию удаления сообщений модераторам и всем, оставлять только возможность скрытия, а полное удаление сообщений оставлять только через acp , либо забить... Причина возникновения ошибки теперь ясна. Метод решения - ковырять и переписывать файлы, отвечающие за выборку и удаление сообщений из базы. Вряд ли кто-то кроме разработчиков движка займется этим, посему тему можно считать закрытой, а ошибку считать ворнингом и криворукостью разработчиков. Изменено 22 марта, 2015 пользователем tonyk Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
soka Опубликовано 22 марта, 2015 Поделиться Опубликовано 22 марта, 2015 В коде есть баг. В чем заключается решение не помню, но видел на ipbskins.ru с аналогичной проблемы. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Riddick Опубликовано 23 марта, 2015 Поделиться Опубликовано 23 марта, 2015 (изменено) В коде есть баг. В чем заключается решение не помню, но видел на ipbskins.ru с аналогичной проблемы. Там всего две темы по поводу этой ошибки и в обоих случаях виновен хук. В моем случае как и выше в теме я отключал все хук они не причем. Ну что же движок тут не причем, сегодня и я установил Версия: IP.Board 3.4.7 английский язык все работает на ура, проблем нет. Сейчас сделаю локализацию на русский, я думаю проблема там. Нет русский язык тоже не причем все работает без ошибок, сообщения удаляются, перевел и админ панель тоже, все норм. Сейчас прикручу базу форума где есть ошибка на новый форум посмотрим будет ли ошибка... Изменено 23 марта, 2015 пользователем BertT Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
soka Опубликовано 23 марта, 2015 Поделиться Опубликовано 23 марта, 2015 (изменено) Там всего две темы по поводу этой ошибки и в обоих случаях виновен хук. Смотря как искать. Изменено 23 марта, 2015 пользователем soka Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
tonyk Опубликовано 23 марта, 2015 Поделиться Опубликовано 23 марта, 2015 (изменено) И так: Ошибка связана с проверкой на предмет прикрепленных файлов. Если в файле admin/applications/forums/sources/classes/moderate.php Закоментировать проверку прикрепленных файлов // Is there an attachment to this post? //----------------------------------------- //$classToLoad = IPSLib::loadLibrary( IPSLib::getAppDir( 'core' ) . '/sources/classes/attach/class_attach.php', 'class_attach' ); //$class_attach = new $classToLoad( $this->registry ); //$class_attach->type = 'post'; //$class_attach->init(); //$class_attach->bulkRemoveAttachment( array_keys( $posts ), $taskInitiated ); Работоспособность на предмет удаления из acp восстанавливается, но я так предполагаю, что таким путем могут быть вызваны еще какие-либо ошибки... В общем-то осталось найти, где формируется строка вида IN (132361) и изменить её так, что бы формировалось так attach_rel_id=132361 Изменено 23 марта, 2015 пользователем tonyk Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
tonyk Опубликовано 23 марта, 2015 Поделиться Опубликовано 23 марта, 2015 (изменено) хм...вот это поворот... где формируется сам запрос нашел, установил принудительно attach_rel_id вместо переменной $id_type, которой присвоено это же значение и что получил? снова пустой запрос. Случайно прописал не верный запрос, после чего обратил внимание, что из запроса исчезает именно attach_rel_id... Функция bulkRemoveAttachment, которая формирует запрос работает корректно, но вот что именно удаляет attach_rel_id из запроса при обработке этой функции? Временно можно устранить закоментировав строчку в файле admin/applications/forums/sources/classes/moderate.php //$class_attach->bulkRemoveAttachment( array_keys( $posts ), $taskInitiated ); Изменено 23 марта, 2015 пользователем tonyk Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
tonyk Опубликовано 23 марта, 2015 Поделиться Опубликовано 23 марта, 2015 //$class_attach->bulkRemoveAttachment( array_keys( $posts ), $taskInitiated ); Заменить на $class_attach->bulkRemoveAttachment( array_keys( $posts ), 'attach_rel_id', $taskInitiated ); Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Riddick Опубликовано 24 марта, 2015 Поделиться Опубликовано 24 марта, 2015 Проблему с ошибкой решил заменой moderate.php скопировав его с тестового форума. Теперь все работает, сообщения с темы удаляются без ошибок. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.