-
Постов
6 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Загрузки
База знаний IPS Community Suite 4
База знаний IP.Board 3.x
Форумы
События
Магазин
Совместные покупки
Сообщения, опубликованные tonyk
-
-
хм...вот это поворот...
где формируется сам запрос нашел, установил принудительно 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 );
-
И так:
Ошибка связана с проверкой на предмет прикрепленных файлов.
Если в файле 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 -
Оп ...
В двух словах:
Ошибка возникает ТОЛЬКО при попытке уделения из acp и только тогда, когда сообщение уже было удалено с форума средствами модерирования.
Возникает она даже на чистом форуме.
В базе записи о сообщениях при удалении средствами модерирования не удалятся, о чем сигнализирует нам в acp счетчик сообщений пользователя.
Ни установленные хуки, ни что другое на неё не влияет.
Вероятнее всего в самом движке собака зарылась.
Вывод только один - либо отключать функцию удаления сообщений модераторам и всем, оставлять только возможность скрытия, а
полное удаление сообщений оставлять только через acp , либо забить...
Причина возникновения ошибки теперь ясна.
Метод решения - ковырять и переписывать файлы, отвечающие за выборку и удаление сообщений из базы.
Вряд ли кто-то кроме разработчиков движка займется этим, посему тему можно считать закрытой, а ошибку считать ворнингом и криворукостью разработчиков.
-
хм...развернул рядом 2-й форум, чистый, без доп.модулей и хуков...для свей базы он удаляет сообщения через acp
в conf_global.php подменил ему базу на "рабочую" и...ничего не изменилось, пошла ошибка.
Вывод- хуки и моды к данной проблеме если и имеют отношение, то только косвенное - надо искать различия в таблицах базы...
Бегло: структура таблицы attachments совпадает на 100%, её исключаем...
-
Победили проблему? Та же самая беда выскочила.
Если есть решение- поделитесь, а то поиск результатов не приносит...
3.4.7. При удалении сообщения ошибка.
в Техническая поддержка IP.Board
Опубликовано
//$class_attach->bulkRemoveAttachment( array_keys( $posts ), $taskInitiated );
Заменить на
$class_attach->bulkRemoveAttachment( array_keys( $posts ), 'attach_rel_id', $taskInitiated );