Иконка ресурса

Icewind Conversation Tools 1.0.21

Нет прав для скачивания

Hope

Premium
Сообщения
48,318
Решения
22
Реакции
71,959
Баллы
40,905
Пользователь Hope разместил новый ресурс:

Icewind Conversation Tools - Возможность удаления переписок и 3 новых права для групп пользователей.

Возможности плагина:
  • Возможность у администратора для удаления переписок (удаление переписок, в которых не было ответов более X дней и удаление переписок, последний ответ в которых был более X дней назад)
  • Три новых права для групп пользователей (максимальное количество отправленных переписок, максимальное количество отправляемых переписок в день и максимальное количество дней в существующих переписках для возможности их возобновления)
  • Возможность поиска переписок по имени...

Узнать больше об этом ресурсе...
 
Плагин совместим с XenForo 1.4
Только что проверил.
 
Server Error
Invalid argument supplied for foreach()

  1. XenForo_Application::handlePhpError() in Icewind/ConversationTools/Model/User.php at line 40
  2. Icewind_ConversationTools_Model_User->prepareUserTitle() in Icewind/ConversationTools/Model/Conversation.php at line 135
  3. Icewind_ConversationTools_Model_Conversation->prepareMessages() in Icewind/ConversationTools/ControllerAdmin/User.php at line 157
  4. Icewind_ConversationTools_ControllerAdmin_User->actionViewConversation() in XenForo/FrontController.php at line 347
  5. XenForo_FrontController->dispatch() in XenForo/FrontController.php at line 134
  6. XenForo_FrontController->run() in /home/d/******/forumtest/public_html/admin.php at line 13

При попытке посмотреть переписку. версия XF 1/4/1

Что значит эта ошибка?
 
Что значит эта ошибка?
Да тут вроде как написано -
Invalid argument supplied for foreach()
Пытаетесь просмотреть переписку удаленного пользователя, ну или что-то в этом духе - надо в коде плагина изменения вносить, чтобы на таком не падал.
 
  • Мне нравится
Реакции: Hope
Свою переписку смотрел

Ответ автора
Good find, fixed for the next release. The data registry key for titles was changed in XF 1.4; however the old key was still in the data registry so anyone who used this add-on before updating to XF 1.4 would never encounter the error you posted after upgrading to 1.4.

Here is the fix if you do not mind editing a file (it'll make this add-on compatible with XF 1.4 and lower):

In Icewind/ConversationTools/Model/User.php, find:
Код:
foreach ($this->_getDataRegistryModel()->get('trophyUserTitles') AS $points => $title)
        {
            if ($user['trophy_points'] >= $points)
            {
                return $title;
            }
        }
and replace with:
Код:
if (!$userTitles = $this->_getDataRegistryModel()->get('userTitleLadder'))
        {
            // compatible with XF version less than 1.4
            $userTitles = $this->_getDataRegistryModel()->get('trophyUserTitles');
        }

        foreach ($userTitles AS $points => $title)
        {
            if ($user['trophy_points'] >= $points)
            {
                return $title;
            }
        }
 
  • Мне нравится
Реакции: Hope
Хорошая вещь :)) а русского языка нигде не видно ?
 
Нигде не видно.
 
Перевел плагин как смог, поправьте что не так я в английском не очень. В плагине переведены все фразы на русский язык.
Да и кто пользовался отпишите оптимальные настройки.

Говорят разработчики, что когда все покидают переписку она автоматом удаляется, но это не так я поставил этот плагин ради интереса и что увидел? Все переписки за все время сайта так и висят в базе. Я представляю за несколько лет какой срач в базе.
 

Вложения

  • ConversationTools_v1.0.21[RU].rar
    23.7 KB · Просмотры: 58
Боже мой... Ну зачем спорить...
PHP:
public function deleteConversationForUser($conversationId, $userId, $deleteType)
   {
...
    if (!$haveActive)
     {
       // no one has the conversation any more, so delete it
       $dw = XenForo_DataWriter::create('XenForo_DataWriter_ConversationMaster');
       $dw->setExistingData($conversationId);
       $dw->delete();
     }
  }
 
Не кто не спорит я говорю так как есть) Все переписки которые я создавал с модератором мы из них вышли давно но они остались. А то что там код мне не о чем не говорит.
 
если например в переписки участвует 5 человек, и 1 написал чуш и надо полностью удалить(не отредактировать а физичиски удалить) этот плагин не поможет? может есть который поможет?
 
бестолковая штука
попробовал поюзать, с удивлением обнаружил что эта фигня позволяет админу читать чужую личку, это само по себе уже херня нездоровая. Ну да ладно, пусть будет на совести разработчика и тех админов, кто данную функцию использует.

Но самая нездоровая херня в юзерской части.

Поставил ограничение на количество переписок для группы Х - 300 штук. Так было в булке до миграции - 300 сообщений в ящике.
Сразу посыпались жалобы что не могут отправить ЛС. Посоветовал почистить лишние переписки. Юзеры повыходили из переписок, но создать новые все равно не могут. Говорят осталось 100, но пишет что достигнут лимит в 300.

Пришлось отключить нафиг
 
На 1.5.1 работает

Правда так и не смог найти, можно ли удалить ВСЕ переписки нужного юзверя одним кликом. Приходится по одной удалять, мало того после удаления сразу кидает на страницу поиска. Заного искать переписки юзверя, опять одну удалять и дальше по кругу.
 
Приходится по одной удалять, мало того после удаления сразу кидает на страницу поиска. Заного искать переписки юзверя, опять одну удалять и дальше по кругу.
Открывай в новой странице потом жми удалить
 
Перевел плагин как смог, поправьте что не так я в английском не очень.
судя по описанию там поля удаление переписки,если не отвечали X дней, у вас перевод
Дней с момента последнего сообщения, чтобы сохранить переписку:
как бы противоположное значение,причем совсем)
 
Не понимаю как работает данный плагин т.к. после пруна - таблица `xf_conversation_message` только выросла.
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу