Фильтр по:
  

  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Admin, Cибиря4ка, Komoff, Diana  
Скрипты и коды для юкоз - Форум аццкого кодера » Раздел для начинающих » Если вы пришли за помощью, то Вам сюда... » Премодерация сообщений форума (Возможно ли?)
Премодерация сообщений форума
Дата: Среда, 02.01.2013, 21:57 |
nevyansk
Лейтенант
Группа: Проверенные
Сообщений: 58
Награды: 0
Репутация: 0
Статус: Offline


Уважаемый likbezz, с прошедшими и наступающими праздниками. Возник вопрос - возможно ли сделать премодерацию гостевых сообщений на форуме? Из поисковиков понял, что теоретически возможно, но скрипты после установки не работают. Также понял механизм - закрыть гостевой коммент ключом, до удаления его админом, как это можно реализовать?
Если уже было - прошу пнуть в нужную тему.
С уважением,


 
Дата: Четверг, 03.01.2013, 01:10 |
Полковник
Группа: Помощники
Сообщений: 210
Награды: 0
Репутация: 11
Статус: Offline


Цитата (nevyansk, Чт, 03.01.2013, 00:57:58)
возможно ли сделать премодерацию гостевых сообщений на форуме
ну например условиями
Цитата
<?if($GROUP_NAME$='Гости' && !$EDITEDBY$)?>здесь то что будет выводится вместо сообщения и кнопка редактирования для модеров<?else?>обычный вид сообщения для остальных<?endif?>
вставляем в вид материалов форума. Далее модер заходит в редактирование сообщения и одобряет его, указывая в опциях "Добавить надпись "Отредактировано..." в это сообщение?". Можно ещё задать условие чтобы сообщение модеры видели изначально, чтобы его удалить не редактируя, например. Ну это то, что первое на ум пришло, можно ещё чего-нить похимичить с условиями.


 
Дата: Четверг, 03.01.2013, 09:35 |
nevyansk
Лейтенант
Группа: Проверенные
Сообщений: 58
Награды: 0
Репутация: 0
Статус: Offline


Цитата (Komoff)
вставляем в вид материалов форума. Далее модер заходит в редактирование сообщения и одобряет его, указывая в опциях "Добавить надпись "Отредактировано..." в это сообщение?". Можно ещё задать условие чтобы сообщение модеры видели изначально, чтобы его удалить не редактируя, например. Ну это то, что первое на ум пришло, можно ещё чего-нить похимичить с условиями.

Не получилось sad
Вставил сюда:

Потестил:

У всех гостевых сообщений на форуме(в т.ч. старых) - аналогичная подпись

Прикрепления: 4519388.jpg (44.2 Kb) · 1473126.jpg (23.0 Kb)

 
Дата: Четверг, 03.01.2013, 10:17 |
Полковник
Группа: Помощники
Сообщений: 210
Награды: 0
Репутация: 11
Статус: Offline


Цитата (nevyansk, Чт, 03.01.2013, 12:35:09)
Не получилось
Потому что я не доходчиво объяснил. По порядку, заходим в ПУ » Управление дизайном » Форум » Вид материалов, вставляем в начало кода
Цитата
<?if($GROUP_NAME$='Гости' && !$EDITEDBY$)?>здесь то что будет выводится вместо сообщения и кнопка редактирования для модеров<?else?>
далее идет код который там был до этого (код вида материалов), а в конце вставляем
Код
<?endif?>
Т.е. должно быть примерно так
Цитата
<?if($GROUP_NAME$='Гости' && !$EDITEDBY$)?>здесь то что будет выводится вместо сообщения и кнопка редактирования для модеров<?else?><table border="0" width="100%" cellspacing="1" cellpadding="2" class="postTable">
<tr><td width="23%" class="postTdTop" align="center"><a class="postUser" href="javascript://" rel="nofollow" onClick="emoticon('$USERNAME$,');return false;">$USERNAME$</a></td><td class="postTdTop"><?if($AWARDS_DO_URL$ && $USER_LOGGED_IN$ && $CUR_USER_ID$!=$UID$)?><div style="float:right"><a href="javascript://" rel="nofollow" onclick="new _uWnd('AwD','Вручить награду',380,200,{autosize:1,maxh:300},{url:'/index/55-$UID$-28-forum-$FID$_$TID$_$ID$_16_$TIMESTAMP$'});return false;"><img alt="" src="http://s105.ucoz.net/img/icon/thumbu.png" width="13" border="0" title="Хороший пост"></a> <a href="javascript://" rel="nofollow" onclick="new _uWnd('AwD','Вручить награду',380,200,{autosize:1,maxh:300},{url:'/index/55-$UID$-47-forum-$FID$_$TID$_$ID$_16_$TIMESTAMP$'});return false;"><img alt="" src="http://s105.ucoz.net/img/icon/thumbd.png" width="13" border="0" title="Плохой пост"></a></div><?endif?>Дата: $WDAY$, $DATE$, $TIME$ | Сообщение # $NUMBER$</td></tr>
<tr><td class="postTdInfo" valign="top">
<?if($AVATAR_URL$)?><img alt="" title="$USERNAME$" class="userAvatar" border="0" src="$AVATAR_URL$"><?endif?><?if($USER_TITLE$)?><div class="postRankName">$USER_TITLE$</div><?else?><div class="postRankName">$USER_RANK_NAME$</div><?endif?>

<?if($GROUP_ICON$)?><div class="postRankIco">$GROUP_ICON$</div><?else?><div class="postRankIco">$USER_RANK_ICON$</div><?endif?>
<?if($GROUP_NAME$)?><div class="postUserGroup">Группа: $GROUP_NAME$</div><?endif?>
<?if($POSTS$)?><div class="numposts">Сообщений: <span="unp">$POSTS$</span></div><?endif?>
<?if($AWARDS_READ_URL$)?><div class="reputation">Награды: <a href="$AWARDS_READ_URL$" title="Список наград"><span class="repNums"><b>$AWARDS$</b></span></a> <?if($AWARDS_DO_URL$)?> <a href="$AWARDS_DO_URL$"><span style="font-size:10pt" title="Вручить награду"><b>+</b></span></a><?endif?><?endif?>
<?if($READ_REP_URL$)?><div class="reputation">Репутация: <a title="Смотреть историю репутации" class="repHistory" href="$READ_REP_URL$"><b>$REP_RATING$</b></a> <?if($DO_REP_URL$)?>  <a class="reputationDo" title="Изменить репутацию" href="$DO_REP_URL$"><span style="font-size:10pt"><b>±</b></span></a></div><?endif?><?endif?>
<?if($READ_BAN_URL$)?><div class="userBan">Замечания: <a class="banPercent" title="Смотреть историю замечаний" href="$READ_BAN_URL$">$BAN_RATING$</a> <?if($DO_BAN_URL$)?>  <a title="Изменить уровень замечаний" class="banDo" href="$DO_BAN_URL$">±</a></div><?endif?><?endif?>
<?if($USER_STATUS$)?><div class="statusBlock">Статус: $USER_STATUS$</div><?endif?>
<?if($GROUP_ID$)?> <?else?><br><br><br><br><br><?endif?>
</td><td class="posttdMessage" valign="top">$MESSAGE$
<?if($ATTACHMENT$)?> <div align="left" class="eAttach">Прикрепления: $ATTACHMENT$</div><?endif?>
<?if($SIGNATURE$)?><br><hr size="1" width="150" align="left" class="signatureHr"><span class="signatureView">$SIGNATURE$</span><?endif?>
<?if($EDITEDBY$)?><br><br><div class="edited">Сообщение отредактировал $EDITEDBY$</div><?endif?></td></tr>
<tr><td class="postBottom" align="center"><?if($USER_IP$)?><div class="postip">[ <a class="postIpLink" href="http://www.ripe.net/perl/whois?$USER_IP$" target="_blank">$USER_IP$</a><?if($POST_COUNTRY_ID$)?> (<a href="javascript://" rel="nofollow" onclick='prompt("","$POST_COUNTRY$");return false;'>$POST_COUNTRY_ID$</a>)<?endif?> ]</div><?else?> <?endif?></td><td class="postBottom">
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr><td>$USER_DETAILS_ICON_BAR$</td><td align="right" style="padding-right:15px;">$ENTRY_MANAGE_ICON_BAR$</td><td width="2%" nowrap align="right">$ON_TOP_ICON$$DEL_ENTRY_FIELD$</td></tr>
</table></td></tr></table><?endif?>
только код вида материалов отсюда не копируй, свой вставляй, а то он тут правится автоматически.

Добавлено (03.01.2013, 10:17)
---------------------------------------------
Кстати, можно даже сделать более эстетично, обернуть только код $MESSAGE$ условием, например, так

Код
<?if($GROUP_NAME$='Гости' && !$EDITEDBY$)?>Сообщение появится после одобрения модератора<?else?>$MESSAGE$<?endif?>
т.е. в виде материалов это будет выглядеть примерно так
Цитата
<table border="0" width="100%" cellspacing="1" cellpadding="2" class="postTable">
<tr><td width="23%" class="postTdTop" align="center"><a class="postUser" href="javascript://" rel="nofollow" onClick="emoticon('$USERNAME$,');return false;">$USERNAME$</a></td><td class="postTdTop"><?if($AWARDS_DO_URL$ && $USER_LOGGED_IN$ && $CUR_USER_ID$!=$UID$)?><div style="float:right"><a href="javascript://" rel="nofollow" onclick="new _uWnd('AwD','Вручить награду',380,200,{autosize:1,maxh:300},{url:'/index/55-$UID$-28-forum-$FID$_$TID$_$ID$_16_$TIMESTAMP$'});return false;"><img alt="" src="http://s105.ucoz.net/img/icon/thumbu.png" width="13" border="0" title="Хороший пост"></a> <a href="javascript://" rel="nofollow" onclick="new _uWnd('AwD','Вручить награду',380,200,{autosize:1,maxh:300},{url:'/index/55-$UID$-47-forum-$FID$_$TID$_$ID$_16_$TIMESTAMP$'});return false;"><img alt="" src="http://s105.ucoz.net/img/icon/thumbd.png" width="13" border="0" title="Плохой пост"></a></div><?endif?>Дата: $WDAY$, $DATE$, $TIME$ | Сообщение # $NUMBER$</td></tr>
<tr><td class="postTdInfo" valign="top">
<?if($AVATAR_URL$)?><img alt="" title="$USERNAME$" class="userAvatar" border="0" src="$AVATAR_URL$"><?endif?><?if($USER_TITLE$)?><div class="postRankName">$USER_TITLE$</div><?else?><div class="postRankName">$USER_RANK_NAME$</div><?endif?>

<?if($GROUP_ICON$)?><div class="postRankIco">$GROUP_ICON$</div><?else?><div class="postRankIco">$USER_RANK_ICON$</div><?endif?>
<?if($GROUP_NAME$)?><div class="postUserGroup">Группа: $GROUP_NAME$</div><?endif?>
<?if($POSTS$)?><div class="numposts">Сообщений: <span="unp">$POSTS$</span></div><?endif?>
<?if($AWARDS_READ_URL$)?><div class="reputation">Награды: <a href="$AWARDS_READ_URL$" title="Список наград"><span class="repNums"><b>$AWARDS$</b></span></a> <?if($AWARDS_DO_URL$)?> <a href="$AWARDS_DO_URL$"><span style="font-size:10pt" title="Вручить награду"><b>+</b></span></a><?endif?><?endif?>
<?if($READ_REP_URL$)?><div class="reputation">Репутация: <a title="Смотреть историю репутации" class="repHistory" href="$READ_REP_URL$"><b>$REP_RATING$</b></a> <?if($DO_REP_URL$)?> <a class="reputationDo" title="Изменить репутацию" href="$DO_REP_URL$"><span style="font-size:10pt"><b>±</b></span></a></div><?endif?><?endif?>
<?if($READ_BAN_URL$)?><div class="userBan">Замечания: <a class="banPercent" title="Смотреть историю замечаний" href="$READ_BAN_URL$">$BAN_RATING$</a> <?if($DO_BAN_URL$)?> <a title="Изменить уровень замечаний" class="banDo" href="$DO_BAN_URL$">±</a></div><?endif?><?endif?>
<?if($USER_STATUS$)?><div class="statusBlock">Статус: $USER_STATUS$</div><?endif?>
<?if($GROUP_ID$)?> <?else?><br><br><br><br><br><?endif?>
</td><td class="posttdMessage" valign="top"><?if($GROUP_NAME$='Гости' && !$EDITEDBY$)?>Сообщение появится после одобрения модератора<?else?>$MESSAGE$<?endif?>
<?if($ATTACHMENT$)?> <div align="left" class="eAttach">Прикрепления: $ATTACHMENT$</div><?endif?>
<?if($SIGNATURE$)?><br><hr size="1" width="150" align="left" class="signatureHr"><span class="signatureView">$SIGNATURE$</span><?endif?>
<?if($EDITEDBY$)?><br><br><div class="edited">Сообщение отредактировал $EDITEDBY$</div><?endif?></td></tr>
<tr><td class="postBottom" align="center"><?if($USER_IP$)?><div class="postip">[ <a class="postIpLink" href="http://www.ripe.net/perl/whois?$USER_IP$" target="_blank">$USER_IP$</a><?if($POST_COUNTRY_ID$)?> (<a href="javascript://" rel="nofollow" onclick='prompt("","$POST_COUNTRY$");return false;'>$POST_COUNTRY_ID$</a>)<?endif?> ]</div><?else?> <?endif?></td><td class="postBottom">
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr><td>$USER_DETAILS_ICON_BAR$</td><td align="right" style="padding-right:15px;">$ENTRY_MANAGE_ICON_BAR$</td><td width="2%" nowrap align="right">$ON_TOP_ICON$$DEL_ENTRY_FIELD$</td></tr>
</table></td></tr></table>
только не копируй весь вид материалов отсюда (он может быть не таким как у тебя), а замени $MESSAGE$ на то, что я сказал.


 
Дата: Четверг, 03.01.2013, 11:37 |
nevyansk
Лейтенант
Группа: Проверенные
Сообщений: 58
Награды: 0
Репутация: 0
Статус: Offline


Да, 1 способ работает, только кнопку как вывести для того, чтобы можно было отмодерировать сообщение. Есть еще одна проблема - код закрыл ВСЕ комментарии гостей за всю историю форума sad :


Сейчас попробую 2 способ

Прикрепления: 4349604.jpg (62.4 Kb)

 
Дата: Четверг, 03.01.2013, 11:56 |
nevyansk
Лейтенант
Группа: Проверенные
Сообщений: 58
Награды: 0
Репутация: 0
Статус: Offline


Попробовал - все отлично:

Огромное спасибо!

Но так же все сообщения гостей на форуме "закрылись" на премодерацию. Это можно как-то исправить? Прописать условие, о закрытии сообщений, опубликованных после 03.01.2012 например?

Прикрепления: 0194062.jpg (71.8 Kb)

 
Дата: Четверг, 03.01.2013, 18:15 |
Полковник
Группа: Помощники
Сообщений: 210
Награды: 0
Репутация: 11
Статус: Offline


nevyansk, по дате я фиг знает как условие сделать, нужно у Антона спросить. Но можно добавить условие по ID материала, узнаем ID последнего материала для этого к $MESSAGE$ добавим $ID$ и полученную цифру добавим в условие
Цитата
$ID$>цифра
т.е. полностью условие у нас будет такое
Цитата
<?if($GROUP_NAME$='Гости' && !$EDITEDBY$ && $ID$>123)?>Сообщение появится после одобрения модератора<?else?>$MESSAGE$<?endif?>
здесь ID у меня 123, замени на нужный. В примере, если ID материала больше 123, то сообщение будет скрыто, все остальные сообщения от гостей будут видимы. ID также можно увидеть в ссылке на сообщение, третья группа цифр.


 
Дата: Понедельник, 07.01.2013, 09:21 |
nevyansk
Лейтенант
Группа: Проверенные
Сообщений: 58
Награды: 0
Репутация: 0
Статус: Offline


Цитата (Komoff, Чт, 03.01.2013, 20:15:13)
здесь 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
 
Дата: Понедельник, 07.01.2013, 20:46 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


nevyansk,
Цитата (nevyansk, Пн, 07.01.2013, 09:21:49)
а если пойти дальше, и ввести премодерацию для вновь зарегистрированных?
код должен быть такой:

Код
<?if(($GROUP_NAME$='Гости' || 'ID группы вновь зарегистрированных пользователей') && !$EDITEDBY$ && $ID$>123)?>Сообщение появится после одобрения модератора<?else?>$MESSAGE$<?endif?>


nevyansk,
Цитата (nevyansk, Пн, 07.01.2013, 09:21:49)
<?if($GROUP_NAME$='Гости'

А чего по $GROUP_NAME$ ?, оптимальнее по $GROUP_ID$ ...
Так, к слову )


 
Дата: Вторник, 08.01.2013, 01:15 |
Полковник
Группа: Помощники
Сообщений: 210
Награды: 0
Репутация: 11
Статус: Offline


Цитата (likbezz, Пн, 07.01.2013, 23:46:38)
А чего по $GROUP_NAME$ ?, оптимальнее по $GROUP_ID$
А чето не сработал у меня для гостей $GROUP_ID$='0', и UID='0' тоже, в виде материалов форума.


 
Дата: Вторник, 08.01.2013, 01:35 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Komoff,
Цитата (Komoff, Вт, 08.01.2013, 01:15:14)
А чето не сработал у меня для гостей $GROUP_ID$='0'

А у гостя нет этого параметра)
Так что вот так:
Код
<?if(($GROUP_ID$ || $GROUP_ID$='9999') ... )?>


 
Дата: Вторник, 08.01.2013, 12:43 |
nevyansk
Лейтенант
Группа: Проверенные
Сообщений: 58
Награды: 0
Репутация: 0
Статус: Offline


Цитата (likbezz, Вт, 08.01.2013, 03:35:09)
Так что вот так:
<?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?>

получается так:

т.е. именно то, что я хочу

Прикрепления: 8551592.jpg (24.6 Kb) · 9778030.jpg (21.6 Kb) · 8347905.jpg (42.2 Kb) · 3668579.jpg (79.9 Kb) · 1657621.jpg (65.2 Kb)

 
Дата: Вторник, 08.01.2013, 14:21 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


nevyansk,
Цитата (nevyansk, Вт, 08.01.2013, 12:43:39)
Допустим хочу премодерацию поставить гостям и администраторам:
при коде:
Код
<?if(($GROUP_ID$ || $GROUP_ID$='4') && !$EDITEDBY$ && $ID$>913)?>
...

У гостей нет $GROUP_ID$ - восклицательный знак перед параметром - я забыл )
Код
<?if((!$GROUP_ID$ || $GROUP_ID$='4') && !$EDITEDBY$ && $ID$>913)?>...

...

Цитата (nevyansk, Вт, 08.01.2013, 12:43:39)
т.е. именно то, что я хочу

Замечательно что у вас все получилось )


 
Дата: Среда, 09.01.2013, 02:12 |
Полковник
Группа: Помощники
Сообщений: 210
Награды: 0
Репутация: 11
Статус: Offline


Цитата (likbezz, Вт, 08.01.2013, 04:35:09)
Так что вот так:
А я что-то не подумал про это, логики не хватило.))

В общем для других напишу простой способ премодерации на форуме:
В ПУ в виде материала форума ищем $MESSAGE$ и заменяем его на
Цитата
<?if(!$GROUP_ID$ && !$EDITEDBY$)?>Сообщение появится после одобрения модератором!<?if($CUR_GROUP_ID$='4' || $CUR_GROUP_ID$='3')?>$MESSAGE$<?endif?><?else?>$MESSAGE$<?endif?>
красным разрешить видеть текст сообщения модерам и админам, можно изменить на нужный ID группы. Теперь другие не будут видеть сообщение до тех пор, пока админ или модер в редактировании сообщения не поставит галочку "Добавить надпись "Отредактировано..." в это сообщение?".
Есть ещё решение посложней, но с выводом кнопки в сообщение смотрите в мануале uCoz.


 
Дата: Воскресенье, 06.07.2014, 22:47 |
Группа: Гости





[b]likbezz[/b], Доброго времени суток.
А можно как-то сделать чтобы, если открыть права, для Гостя, создавать темы и их промодерировать и в этом же коде установить модерацию для Пользователей,но для определенного раздела...Спасибо!!!


 
Скрипты и коды для юкоз - Форум аццкого кодера » Раздел для начинающих » Если вы пришли за помощью, то Вам сюда... » Премодерация сообщений форума (Возможно ли?)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:


Мобильная версия