Определённый список групп, те кто может отвечать в определённой теме


Определённый список групп, те кто может отвечать в определённой т...

606
6 из 10
Проголосовало: 3








Определённый список групп, те кто может отвечать в определённой теме.

Функция для тонкой настройки приватности темы. Модератор, или любая другая группа, имеющая доступ к модерированию, имеет право при создании темы настраивать то, какие группы смогут отвечать на неё. Отличное решение, если у вас на сайте стоит правило запрета писать пользователям в теме «Общение».

Форум » Общий вид страниц форума.
Ищем тэг $BODY$ и перед ним вставляем:

Code
<script type="text/javascript">  
  var whtRes = [1,2,255,3,4], qqt = [1,0];  
   
  // где 1,2,255,3,4 — ID групп в таком же порядке, как и в лэйблах выбора групп  
  </script>


Форум » Форма добавления сообщения.
Ищем строку <?if($MODER_OPTIONS_FLAG$)?> и сразу после неё ставим:

Code
<?if($PAGE_ID$='addthread' || $PAGE_ID$='postedit')?>  
  <tr><td class="gTableLeft">Кто может отвечать в теме:</td><td id="whtObj" class="gTableRight">  
  <input name="whtp" id="pn1" type="checkbox" value="1" checked=""> <label for="pn1">Пользователи</label><br>  
  <input name="whtp" id="pn2" type="checkbox" value="1" checked=""> <label for="pn2">Проверенные</label><br>  
  <input name="whtp" id="pn3" type="checkbox" value="1" checked=""> <label for="pn3">V.I.P.</label><br>  
  <input name="whtp" id="pn4" type="checkbox" value="1" checked=""> <label for="pn4">Модераторы</label><br>  
  <input name="whtp" id="pn5" type="checkbox" value="1" checked=""> <label for="pn5">Администраторы</label><br>  
  </td></tr>  
  <?endif?>


Здесь же в самом конце ставим:

Code
<?if($MODER_OPTIONS_FLAG$)?>  
  <script type="text/javascript">  
  $('input[name="whtp"]').change(function(){n = qqt[$(this).val()*1];$(this).val(n);});  
  if($('#message').val().indexOf('|||')!=-1){  
  nqi = $('#message').val().substr($('#message').val().indexOf('|||')+3).split('|');  
  $('#message').val($('#message').val().substr(0,$('#message').val().indexOf('|||')));  
  $('input[name="whtp"]').each(function(i){  
  if(nqi[i]*1==0){$(this).val('0').removeAttr('checked');};  
  });  
  };  
  <?if($PAGE_ID$='addthread' || $PAGE_ID$='postedit')?>  
  $('.postSubmit').click(function(){  
  $('#message').removeAttr('name').after('<input style="display:none;" id="msgInputNew" name="message"/>');  
  pn = $('#message').val()+'|||';  
  $('input[name="whtp"]').each(function(){  
  pn += $(this).val()+'|';  
  });  
  <?endif?>  
  $('#msgInputNew').val(pn);  
  $('form[name="addform"]').submit();  
  return false;  
  });  
  </script>  
  <?endif?>  
  <script type="text/javascript">if(whtA)$('#frM53').remove();</script>


Форум » Вид материалов.
Находим $MESSAGE$ и заменяем его на:

Code
<?if($GROUP_ID$==3 || $GROUP_ID$==4)?><span style="display:none;">$MESSAGE$</span><?if(strpos($MESSAGE$,'|||')!=-1)?><?substr($MESSAGE$,0,strpos($MESSAGE$,'|||'))?><?else?>$MESSAGE$<?endif?><?else?>$MESSAGE$<?endif?>


И всё там же в конце ставим:

Code
<script type="text/javascript">  
  var whtMsg = $('.posttdMessage span').text(), whtArr = whtMsg.substr(whtMsg.indexOf('|||')+3).split('|');for(bcq=0;bcq<=whtArr.length-2;bcq++){if(whtArr[bcq]*1==0){if(whtRes[bcq]==$CUR_GROUP_ID$){whtA = 1;};};};  
  </script>
Автор публикации: Загрузка
Загрузка
Вовчик, это его n материал
  • Оставить первым комментарий:
Добавлять комментарии могут только зарегистрированные пользователи.
Регистрация | Вход
Меню сайта
Категории
Для помощи создания сайта uCoz 25
Скрипты и модификации для Ucoz 2113
Шаблоны форумов Ucoz 28
Шаблоны сайтов Ucoz 431
Авторство Webo4ki 309
php скрипты для ucoz 57
Графика для uCoz 40
Мини-чат
Последние комментарии
  • sasha2016tv написал:
  • Хороший скрипт
    Ох. Вижу, что обсуждение очень старое. Но!
    На других CMS так же будет все это реализовано. На нормальных CMS.
    Такое решение может подойти лишь для landing сайтов. Но и то, не думаю, что там кто то заморачивается в написании какого либо контроллера генерирования шаблона и используют прямо в лоб чистый HTML, поэтому и будут для каждой страницы свои блоки делать.

    Поэтому лучше тут все же дописать решение именно для ucoz без загрузки этих лишних блоков на странице. Ведь используя условные операторы этот код даже не будет прогружаться на странице. (Лол. Это ж доли секунд загрузки...) И что? Но давайте делать оптимальнее
    Моё авторство:)
  • 1488 написал:
  • 1488 написал:
  • Смысл исходный код? он возвращает после обновление страницы на то положение которое было... или как?
  • 1488 написал:
  • как поставить галки как скрине?
    а то невозможно поставить...
    Последние темы
    Опрос
    433
    А
    Р
    Оцените новый дизай:)
    Статистика
    Анализ интернет сайта
    0
    онлайн
    0
    наших
    0
    чужих
    Онлайн всего: 5
    Гостей: 5
    Пользователей: 0
    0
    Сегодня были
    Топ пользователей: