Плагин "Расширенная песочница"
Возможности новой версии:
Для пользователя
- Выводить форму для отправки статьи админу в закрытом или открытом режиме сайта;
- Получать уведомления на указанный при отправке e-mail о результатах.
Для админа:
- Список записей в песочнице;
- Уведомление о новой записи в песочнице в личку;
- Возможность посмотреть, принять, отклонить, отправить/удалить запись в/из блога песочницы;
- При отклонении записи уведомляет на мыло автора, что запись отклонена;
- При одобрении записи отправляет автору на мыло приглашение с инвайтом.
Запись в блоге песочницы – это запись по функционалу идентична обычному топику, ее можно комментировать, голосовать за нее, имея права – изменить/или удалить.
Возможность при достижении определенного рейтинга топика, автоматически отправляеть автору приглашение с инвайтом зарегистрироваться на сайте. Значение рейтинга при котором отправлять уведомление задается в конфиге.
Также предусмотрена возможность переноса топика из блога песочницы в личный блог пользователя при регистрации пользователя по такому инвайту, по умолчанию включено.
Настройки в конфиге:
- максимальное количество символов в песочнице
- id блога песочницы
- рейтинг топика в песочнице для автоматической отправки инвайта автору
- перенос топика из песочницы в болог пользователю при регистрации
- логин админа от которого отправляются уведомления
- логин пользователя от которого публикуются записи в песочнице
Плагин использует (1) делегирование шаблона \templates\skin\_Ваш_скин_\actions\ActionRegistration\invite.tpl и (2) переопределине экшена ActionRegistration. Это нужно для (1) вывода ссылки на песочницу на странице проверки инвайта и (2) для возможности использования хука при регистрации по пришлашению, так как по дефолту оный отсутствует.
Эти делегирование и переопределение можно отключить (закомментировать в PluginSandbox.class.php) не потеряв функционала, добавив вручную хук в шаблон\templates\skin\_Ваш_скин_\actions\ActionRegistration\invite.tpl
после строчки
<h2>{$aLang.registration_invite}</h2>
добавить{hook run='form_registration_begin'}
и в экшен \classes\actions\ActionRegistration.class.php после строчки $this->User_UpdateInvite($oInvite);
добавить$this->Hook_Run('user_add_invite_after', array('oUser' => $oUser, 'oInvite' => $oInvite));
и в экшен \classes\actions\ActionAjax.class.php после строчки
if ($this->Vote_AddVote($oTopicVote) and $this->Topic_UpdateTopic($oTopic)) {
добавить хук $this->Hook_Run('vote_topic_add_after', array('oTopic'=>$oTopic));
Все.
Плагин в каталоге. Стоимость плагина 9,9$.
24 комментария
Еще:
1. Если случайно кликнуть «Принять» два раза приглашение высылается два раза.
2. После нажатия «Удалить» выскакивает сообщение «Принято» (но на деле топик все же удаляется).
3. На странице /sandbox не хватает кнопки «Предпросмотр».
остальное профикшу
Купил, поставил. Возникла такая проблема:
* Отпраивть пост в песочницу, получается.
* Письмо пользователю, написавшему в песочницу приходит.
* Сообщение с заголовком «Новая запись в песочнице» и текстом «Новая запись в песочнице» админу приходит.
Но блога песочницы и каких-либо следов отправленного туда поста найти на сайте не удается.
В базе данных в таблице prefix_sandbox есть строчка с отправленным постом.
В таблице prefix_sandbox_topiсs пусто.
Что я упустил?
В конфиге прописал
Результат прежний: сообщения и письма доходят, записи в блоге не отображаются.
Возник новый вопрос: после регистрации пользователя по приглашению, его пост не был перенесен из блога guest'a в блог созданного пользователя.
С какого конца начинать диагностику?