Уважаемый likbezz, с прошедшими и наступающими праздниками. Возник вопрос - возможно ли сделать премодерацию гостевых сообщений на форуме? Из поисковиков понял, что теоретически возможно, но скрипты после установки не работают. Также понял механизм - закрыть гостевой коммент ключом, до удаления его админом, как это можно реализовать? Если уже было - прошу пнуть в нужную тему. С уважением,
возможно ли сделать премодерацию гостевых сообщений на форуме
ну например условиями
Цитата
<?if($GROUP_NAME$='Гости' && !$EDITEDBY$)?>здесь то что будет выводится вместо сообщения и кнопка редактирования для модеров<?else?>обычный вид сообщения для остальных<?endif?>
вставляем в вид материалов форума. Далее модер заходит в редактирование сообщения и одобряет его, указывая в опциях "Добавить надпись "Отредактировано..." в это сообщение?". Можно ещё задать условие чтобы сообщение модеры видели изначально, чтобы его удалить не редактируя, например. Ну это то, что первое на ум пришло, можно ещё чего-нить похимичить с условиями.
вставляем в вид материалов форума. Далее модер заходит в редактирование сообщения и одобряет его, указывая в опциях "Добавить надпись "Отредактировано..." в это сообщение?". Можно ещё задать условие чтобы сообщение модеры видели изначально, чтобы его удалить не редактируя, например. Ну это то, что первое на ум пришло, можно ещё чего-нить похимичить с условиями.
Не получилось Вставил сюда: Потестил: У всех гостевых сообщений на форуме(в т.ч. старых) - аналогичная подпись
только код вида материалов отсюда не копируй, свой вставляй, а то он тут правится автоматически.
Добавлено (03.01.2013, 10:17) --------------------------------------------- Кстати, можно даже сделать более эстетично, обернуть только код $MESSAGE$ условием, например, так
Код
<?if($GROUP_NAME$='Гости' && !$EDITEDBY$)?>Сообщение появится после одобрения модератора<?else?>$MESSAGE$<?endif?>
т.е. в виде материалов это будет выглядеть примерно так
Да, 1 способ работает, только кнопку как вывести для того, чтобы можно было отмодерировать сообщение. Есть еще одна проблема - код закрыл ВСЕ комментарии гостей за всю историю форума :
Но так же все сообщения гостей на форуме "закрылись" на премодерацию. Это можно как-то исправить? Прописать условие, о закрытии сообщений, опубликованных после 03.01.2012 например?
nevyansk, по дате я фиг знает как условие сделать, нужно у Антона спросить. Но можно добавить условие по ID материала, узнаем ID последнего материала для этого к $MESSAGE$ добавим $ID$ и полученную цифру добавим в условие
Цитата
$ID$>цифра
т.е. полностью условие у нас будет такое
Цитата
<?if($GROUP_NAME$='Гости' && !$EDITEDBY$ && $ID$>123)?>Сообщение появится после одобрения модератора<?else?>$MESSAGE$<?endif?>
здесь ID у меня 123, замени на нужный. В примере, если ID материала больше 123, то сообщение будет скрыто, все остальные сообщения от гостей будут видимы. ID также можно увидеть в ссылке на сообщение, третья группа цифр.
здесь ID у меня 123, замени на нужный. В примере, если ID материала больше 123, то сообщение будет скрыто, все остальные сообщения от гостей будут видимы. ID также можно увидеть в ссылке на сообщение, третья группа цифр.
Все получилось! Спасибо огромное!
Добавлено (07.01.2013, 09:21) --------------------------------------------- Komoff, а если пойти дальше, и ввести премодерацию для вновь зарегистрированных? код должен быть такой:
Код
<?if($GROUP_NAME$='Гости' && 'ID группы вновь зарегистрированных пользователей' && !$EDITEDBY$ && $ID$>123)?>Сообщение появится после одобрения модератора<?else?>$MESSAGE$<?endif?>
или надо в 2 условия делать?
Код
<?if($GROUP_NAME$='Гости' && !$EDITEDBY$ && $ID$>123)?>Сообщение появится после одобрения модератора<?else?>$MESSAGE$<?endif?>
+
Код
<?if($GROUP_NAME$='ID группы вновь зарегистрированных пользователей' && !$EDITEDBY$ && $ID$>123)?>Сообщение появится после одобрения модератора<?else?>$MESSAGE$<?endif?>
?
Сообщение отредактировал nevyansk - Понедельник, 07.01.2013, 17:14
а если пойти дальше, и ввести премодерацию для вновь зарегистрированных? код должен быть такой:
Код
<?if(($GROUP_NAME$='Гости' || 'ID группы вновь зарегистрированных пользователей') && !$EDITEDBY$ && $ID$>123)?>Сообщение появится после одобрения модератора<?else?>$MESSAGE$<?endif?>
Так что вот так: <?if(($GROUP_ID$ || $GROUP_ID$='9999') ... )?>
Попробовал вставить код: ID брал отсюда:
Вот что получилось: Допустим хочу премодерацию поставить гостям и администраторам: при коде:
Код
<?if(($GROUP_ID$ || $GROUP_ID$='4') && !$EDITEDBY$ && $ID$>913)?>Если сообщение не нарушает правил поведения и публикации сообщений в разделах сайта, оно появится после проверки<?else?>$MESSAGE$<?endif?>
Получается так: а при коде:
Код
<?if(($GROUP_NAME$='Гости' || $GROUP_ID$='4') && !$EDITEDBY$ && $ID$>913)?><center><b>Если сообщение не нарушает <a href="http://www.nevyansk.org.ru/forum/0-0-0-36" target="_blank">правил поведения и публикации сообщений в разделах сайта www.nevyansk.org.ru</a>, оно появится после проверки</b></center><?else?>$MESSAGE$<?endif?>
А я что-то не подумал про это, логики не хватило.))
В общем для других напишу простой способ премодерации на форуме: В ПУ в виде материала форума ищем $MESSAGE$ и заменяем его на
Цитата
<?if(!$GROUP_ID$ && !$EDITEDBY$)?>Сообщение появится после одобрения модератором!<?if($CUR_GROUP_ID$='4' || $CUR_GROUP_ID$='3')?>$MESSAGE$<?endif?><?else?>$MESSAGE$<?endif?>
красным разрешить видеть текст сообщения модерам и админам, можно изменить на нужный ID группы. Теперь другие не будут видеть сообщение до тех пор, пока админ или модер в редактировании сообщения не поставит галочку "Добавить надпись "Отредактировано..." в это сообщение?". Есть ещё решение посложней, но с выводом кнопки в сообщение смотрите в мануале uCoz.
2014-07-06Дата: Воскресенье, 06.07.2014, 22:47 | Сообщение # 15
Группа: Гости
[b]likbezz[/b], Доброго времени суток. А можно как-то сделать чтобы, если открыть права, для Гостя, создавать темы и их промодерировать и в этом же коде установить модерацию для Пользователей,но для определенного раздела...Спасибо!!!