Недоработки движка phpFOX 3 по удалению заметок
29.09.2017 06:39:27 pm
Здравствуйте.
Я уже приводил примеры недоработок по удалению заметок и их решения в теме Подарки (модуль phpFOX 3). Продолжу тут. И так пишем статус на стене, затем его удаляем, заметка удаляется из таблицы feed, но остается в таблице user_status.
Этот баг я исправил так: открыть: module/feed/include/service/process.class.php, найти:
после добавить:
Готово. Теперь статус удален полностью.
Допилил код для удаления комментов и лайков к музыки.
В файле: module/feed/include/service/process.class.php, найти:
Заменить на:
Затем открыть: module/music/include/service/process.class.php, найти (функция delete):
Ниже вставить:
Готово!
Если Вы нашли недоработку в движке, расскажите о ней, постараюсь исправить.
Спасибо.
Я уже приводил примеры недоработок по удалению заметок и их решения в теме Подарки (модуль phpFOX 3). Продолжу тут. И так пишем статус на стене, затем его удаляем, заметка удаляется из таблицы feed, но остается в таблице user_status.
Этот баг я исправил так: открыть: module/feed/include/service/process.class.php, найти:
// Delete likes that belonged to this feed
$this->database()->delete(Phpfox::getT('like'), 'type_id = "'. $aFeed['type_id'] .'" AND item_id = ' . $aFeed['item_id']);
после добавить:
// Delete User Status (Table: user_status)
if ($aFeed['type_id'] == 'user_status')
{
$this->database()->delete(Phpfox::getT('user_status'), 'status_id = ' . (int) $aFeed['item_id']);
}
// End Delete User Status (Table: user_status)
Готово. Теперь статус удален полностью.
Допилил код для удаления комментов и лайков к музыки.
В файле: module/feed/include/service/process.class.php, найти:
// Delete likes that belonged to this feed
$this->database()->delete(Phpfox::getT('like'), 'type_id = "'. $aFeed['type_id'] .'" AND item_id = ' . $aFeed['item_id']);
Заменить на:
# Удаление музыки
if ($aFeed['type_id'] != 'music_song')
{
# Delete likes that belonged to this feed
$this->database()->delete(Phpfox::getT('like'), 'type_id = "'. $aFeed['type_id'] .'" AND item_id = ' . $aFeed['item_id']);
}
# END Удаление музыки
Затем открыть: module/music/include/service/process.class.php, найти (функция delete):
(Phpfox::isModule('feed') ? Phpfox::getService('feed.process')->delete('music_song', $iId) : null);
(Phpfox::isModule('feed') ? Phpfox::getService('feed.process')->delete('music_album', $iId) : null);
Ниже вставить:
(Phpfox::isModule('comment') ? Phpfox::getService('comment.process')->deleteForItem(null, $iId, 'music_song') : null);
$this->database()->delete(Phpfox::getT('like'), 'type_id = \'music_song\' AND item_id = ' . (int) $iId);
Готово!
Если Вы нашли недоработку в движке, расскажите о ней, постараюсь исправить.
Спасибо.
- Жалоба