Как написать письмо модератору через меню "Сообщение"

Добавление возможности написать модератору, даже если он не в друзьях

#1 9 сентября 2009 в 22:51
Отцы, помогите! Возникла необходимость исправить способ общения с модератором. Очень часто юзеру надо попросить модератора удалить файл, откорректировать сообщение или статью… да просто пожаловаться на что-то. Нельзя ли добавить такую функцию?

Я сама уже залезла в код файла \components\users\messages.php и изменила текст. Вот что я туда написала (строки с 205 по 222):
  1.  
  2. echo '<form action="" id="newmessage" method="POST" name="msgform">';
  3. echo '<table class="usr_msgmenu_bar" width="100%" height="30" border="0" cellpadding="5" cellspacing="0"><tr>';
  4. echo '<tr>';
  5. echo '<td width="50"><strong>Кому:</strong> </td>';
  6. echo '<td width="8"><input name="massmail" type="radio" value="0" /></td>';
  7. echo '<td width="50"><strong>Друзьям:</strong> </td>';
  8. echo '<td width="160"><select name="id" id="to_id" style="width:150px">'.cmsUser::getFriendsList($inUser->id).'</select></td>';
  9. echo '<td width="8"><input name="massmail" type="radio" value="1" /></td>';
  10. echo '<td width="50"><strong>Модератору:</strong> </td>';
  11. echo '<td width="200"><select name="id" id="to_id" style="width:150px">'.cmsUser::getModerators($inUser->id).'</select></td>';
  12. if ($inUser->is_admin){
  13. echo '<td width="10"><input name="massmail" type="checkbox" value="1" /></td>';
  14. echo '<td width="">Отправить всем (массовая рассылка)</td>';
  15. } else {
  16. echo '<td> </td>';
  17. }
  18. echo '</tr>';
  19. echo '</table>';
  20.  
Что получилось, смотрите в прикрепленном файле.

Теперь я захожу в файл \core\classes\user.class.php и вставляю туда описание функции getModerators()

  1.  
  2. public static function getModerators($user_id, $selected=0){
  3.  
  4. $inDB = cmsDatabase::getInstance();
  5.  
  6. $html = '';
  7.  
  8. $sql = "SELECT title
  9. FROM cms_user_groups
  10. WHERE (title='Модераторы')
  11. ORDER BY id ASC";
  12. $result = $inDB->query($sql);
  13.  
  14.  
  15. if ($inDB->num_rows($result)){
  16. while($moderator = $inDB->fetch_assoc($result)){
  17.  
  18. if ($moderator['from_id']==$user_id) { $moderator_id = $moderator['to_id']; } else { $moderator_id = $moderator['from_id']; }
  19.  
  20. $moderator_nickname = $inDB->get_field('cms_users', 'id='.$moderator_id, 'nickname');
  21.  
  22. if (@$selected==$cat['id']){
  23. $s = 'selected';
  24. } else {
  25. $s = '';
  26. }
  27. }
  28. $html .= '<option value="'.$moderator_id.'" '.$s.'>'.$moderator_nickname.'</option>';
  29. } else {
  30. $html = '<option value="1" selected>--Нет модераторов--</option>';
  31. }
  32.  
  33.  
  34. return $html;
  35.  
  36. }
  37.  
  38.  
Но у меня не работает. Может, я неправильно sql-запрос написала? Помогите! Я ведь в пхп нубиха!
#2 10 сентября 2009 в 04:10
а для чего существует форма обратной связи и личные сообщения?
#3 10 сентября 2009 в 08:21
2 anonimus. Вы совершенно правы. Но, посудите сами, чтобы написать модеру через личное сообшение, юзер должен пройти путь Меню/Пользователи, затем найти в перечне логин модератора (хотя он свой логин забывает через минуту после регистрации) щелкнуть по нему, под аватарой найти конвертик, щелкнуть по нему и только тогда писать сообщение. У меня юзеры поднимают вой, потому что для них это СЛИШКОМ СЛОЖНО. У меня контингент специфический. Юзеры — военные, у некоторых мозги высохли, а у некоторых их и не было никогда. Они меня трясут :"сделай нам проще". Отказать им тяжело, потому что один из них — мой папа.

Путь Сообщение/Написать даже полковники запомнить смогут)))

Поэтому, отцы, выручайте девушку! Пожалуйста!!!
#4 10 сентября 2009 в 08:33
Можно просто в шаблоне добавить прямую ссылочку на сообщение конкретному модератору: «под аватарой найти конвертик, щелкнуть по нему и только тогда писать сообщение.»
Где-нить в меню\шапке.
#5 10 сентября 2009 в 14:41
2 Wave. Спасибо за совет, но он не проходит. По сути, Вы предлагаете мне править шаблон каждый раз, когда взамен старого модератора появляется новый. Все-таки хотелось бы информацию о модераторах получать из sql-запроса.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.