Trotor 27 02/03/20 07:04 Есть такой хук как - Автоуведомление в приват (то есть отдельно загружающая настройка) - отправляет в приват сообщение пользователю, если его тему закрыли, удалили и тому подобное. Хук прилагаю к теме. А возможно ли на основе данных из таблицы moderator_logs в отдельную тему автоматически публиковались сообщения, которые бы состояли из логов модераторов? Поделиться сообщением Ссылка на сообщение
Trotor 27 02/03/20 17:21 10 часов назад, Haktar сказал: Хук прилагаю к теме. Забыл прикрепить. Вот: (Импорт) Автоуведомление в приват.xml Поделиться сообщением Ссылка на сообщение
Trotor 27 02/03/20 20:49 Я так понял что такое нереально реализовать? Вот жалость то Поделиться сообщением Ссылка на сообщение
newbie 1723 02/04/20 08:39 Берете часть кода и добавляете в хук Поделиться сообщением Ссылка на сообщение
Trotor 27 02/04/20 23:20 14 часов назад, newbie сказал: Берете часть кода и добавляете в хук А куда добавлять то? И какую часть кода? Вот сам файл хука: pmAthrOnTpcMdrtn.php Поделиться сообщением Ссылка на сообщение
newbie 1723 02/05/20 09:39 Можете в самом конце метода doSendPM добавить 12 часов назад, Haktar сказал: И какую часть кода? $classToLoad = IPSLib::loadLibrary( IPSLib::getAppDir( 'forums' ) . '/sources/classes/post/classPost.php', 'classPost', 'forums' ); $post = new $classToLoad( $this->registry ); $tid = 1; // ID темы $fid = 2; // ID форума, в котором уже создана тема $post->setTopicID( $tid ); $post->setAuthor( 1 ); // ID автора $post->setPostContent( $message_body ); $post->setPublished(true); $topic = $this->DB->buildAndFetch( array( 'select' => '*', 'from' => 'topics', 'where' => 'tid=' . $tid ) ); $post->setTopicData( $topic ); $post->setForumID( $fid ); $post->setForumData($this->registry->getClass('class_forums')->forum_by_id[$fid]); try { $post->addReply(); } catch( Exception $e ) { } Там, где комментарии, нужно изменить данные Поделиться сообщением Ссылка на сообщение
Trotor 27 02/05/20 10:22 41 минуту назад, newbie сказал: Можете в самом конце метода doSendPM добавить В смысле в самый конец файла? Добавил, выдаёт такое: Fatal error: Call to undefined method class_forums_searchable::getForumById() in адрес файла на сервере Поделиться сообщением Ссылка на сообщение
newbie 1723 02/05/20 11:25 38 минут назад, Haktar сказал: В смысле в самый конец файла? Метод (функция), а не файл. 47 минут назад, Haktar сказал: Fatal error: Call to undefined method class_forums_searchable::getForumById() in адрес файла на сервере В теме, ссылку на которую дал, написано Цитата Ответ в теме [addReply] (для более старых версии 3.1x, 3.2x) Поэтому не стал проверять код. Пробуйте сейчас Поделиться сообщением Ссылка на сообщение
Trotor 27 02/05/20 12:00 35 минут назад, newbie сказал: Метод (функция), а не файл. Есть файл pmAthrOnTpcMdrtn.php, а есть xml-файл настройки который импортируется. Как такового хука нет. Поделиться сообщением Ссылка на сообщение
newbie 1723 02/05/20 12:02 Я вообще про хук не писал. Добавляйте после $this->messenger->sendNewPersonalTopic( $row['starter_id'], $this->settings['e_paotm_sender'] ? $this->settings['e_paotm_sender'] : $this->memberData['member_id'], array(), $message_title, $message_body, array( 'origMsgID' => 0, 'fromMsgID' => 0, 'postKey' => md5(microtime()), 'trackMsg' => 0, 'addToSentFolder' => 0, 'hideCCUser' => 0, 'forcePm' => 1, 'isSystem' => $this->settings['e_paotm_ss'] ? TRUE : FALSE, ) ); Поделиться сообщением Ссылка на сообщение
Trotor 27 02/05/20 12:14 9 минут назад, newbie сказал: Добавляйте после Добавлял. И при каком то действии с темой (закрытие, открытие и так далее), вот такое выдаёт: Fatal error: Call to a member function buildAndFetch() on a non-object in адрес файла на сервере Поделиться сообщением Ссылка на сообщение
Trotor 27 02/05/20 12:23 4 минуты назад, newbie сказал: А сейчас? Ух ты - работает! Спасибо! А как можно сделать что бы выводился ник пользователя, который совершил то или иное действие? Поделиться сообщением Ссылка на сообщение
newbie 1723 02/05/20 12:25 1 минуту назад, Haktar сказал: А как можно сделать что бы выводился ник пользователя, который совершил то или иное действие? Где выводился? Поделиться сообщением Ссылка на сообщение
Trotor 27 02/05/20 12:27 1 минуту назад, newbie сказал: Где выводился? $post->setAuthor( 1 ); Что бы сообщение автоматически публиковалось от имени модератора, который совершил то или иное действие с темой. Поделиться сообщением Ссылка на сообщение