Approve Post MOD

Ответы на вопросы, связанные с модами для phpBB 2.0.x, кроме относящихся к форуму Для авторов (phpBB 2.0.x).
Закрыто
Delestor
phpBB 1.4.1
Сообщения: 44
Зарегистрирован: 22.06.2006 14:29

Approve Post MOD

Сообщение Delestor » 05.12.2006 18:47

Предварительная модерация определенной темы или конференции

Нашёл-таки для себя мод: (http://www.phpbbguru.net/community/topic10324.html)
Реинкарнация заброшенного Approve Mod:
http://www.phpbb.com/phpBB/viewtopic.php?p=2183442
(Оригинал: http://www.phpbb.com/phpBB/viewtopic.php?t=76852)

И еще другой мод (Post Control / Approval MOD)
http://www.phpbb.com/phpBB/viewtopic.ph ... t=approval
Ставил оба, лучший из них Approve Post MOD 0.0.2, он куда богаче по возможностям (имеет различные режимы работы, премодерация всех пользователей, тем или только выбранных, форумов, тем...), и не так уродует движок при установке.

Мод малец сыроват, в приложенном файле мой русификатор некоторые фиксы и дополнения, может их и до автора донести получится. (С Eazy MOD не совместимы.)

Добавлено спустя 13 минут 11 секунд:

Блин, сейчас посмотрел тему в phpbb.com, "locked"...
Какого... Блин вот зря с английским халявил, влом читать разбираться…

Добавлено спустя 58 минут 37 секунд:

Времени нет у чела...
Вложения
Rus & Add & Fix 0.0.1.rar
(6.8 КБ) 531 скачивание
Последний раз редактировалось Delestor 03.01.2007 0:37, всего редактировалось 4 раза.
Чувствую себя натуральной блондинкой...

Аватара пользователя
Ламер
phpBB 1.4.4
Сообщения: 107
Зарегистрирован: 13.08.2004 20:38

Сообщение Ламер » 21.12.2006 3:30

да, мод нплохой)))
его бы еще с adv_posts_mergin увязать)))) а то если юзер не одобрен, да же при условии одобрения его последнего поста, больше сообщения не цепляются))))

Аватара пользователя
MuzDmitry
phpBB 1.2.1
Сообщения: 26
Зарегистрирован: 12.12.2006 14:32
Откуда: г. Королёв Московской области
Контактная информация:

Сообщение MuzDmitry » 22.12.2006 0:45

А как можно убрать название самой темы до её одобрения? А то в названии уже можно дать достаточную информацию, что очень не желательно.

Delestor
phpBB 1.4.1
Сообщения: 44
Зарегистрирован: 22.06.2006 14:29

Сообщение Delestor » 02.01.2007 15:00

У меня к названию нет никаких путей, ни в viewforum ни в index.php( правда для Glance придётся писать аддон), возможно ты установил криво.
Пробовал в админке в управлении форумами отмечать:
Включить модерирование: "Новые темы", "Новые сообщения";) ?
Чувствую себя натуральной блондинкой...

Аватара пользователя
MuzDmitry
phpBB 1.2.1
Сообщения: 26
Зарегистрирован: 12.12.2006 14:32
Откуда: г. Королёв Московской области
Контактная информация:

Сообщение MuzDmitry » 02.01.2007 16:43

Модерирование включено и работает.

Просто, пока тема не одобрена, сообщения не видно - надпись "сообщение ждёт одобрения". Это правильно.

Но видно НАЗВАНИЕ ТЕМЫ. А в названии в моём случае можно уместить всю информацию. Нужно, что бы вместо НАЗВАНИЯ ТЕМЫ тоже было что-нибудь типа "тема ждёт одобрения".

Если интересно: restorany-koroleva.ru - форум - Работа в ресторанах, кафе, барах и клубах - ТРЕБУЕТСЯ.

Delestor
phpBB 1.4.1
Сообщения: 44
Зарегистрирован: 22.06.2006 14:29

Сообщение Delestor » 02.01.2007 17:25

Index.php у вас в полном порядке, ссылка на ваше последнее сообщение.
А вот с viewforum.php что-то не так, вы точно не забыли вставить блоки номер 9 и 8?

Неодобренная тема вообще не должна отображаться обычному пользователю, как будто её нет.


Обновил пакет дополнений:
Ссылка для автоодобрения сообщений пользователя внизу, под числом сообщений (при использовании формы быстрого ответа, две ссылки оказываются рядом, что неудобно).

Корректное сообщение о том, что пост добавлен, если сообщения пользователя одобряются автоматически, раньше он всегда предупреждался, что его сообщение будет просмотрено модератором пепед публикацией, даже если у него есть автоодобрение.
Чувствую себя натуральной блондинкой...

Аватара пользователя
MuzDmitry
phpBB 1.2.1
Сообщения: 26
Зарегистрирован: 12.12.2006 14:32
Откуда: г. Королёв Московской области
Контактная информация:

Сообщение MuzDmitry » 02.01.2007 19:02

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

Всегда одновременно правлю два форума, и почему-то на restorany-koroleva.ru действительно в файле viewforum.php не было 8 и 9 блока. Видимо проглядел.

Сейчас всё работает.

Ещё раз огромное спасибо!

Tundra
phpBB 1.0.0
Сообщения: 1
Зарегистрирован: 28.10.2007 0:35

Предварительная модерация постов

Сообщение Tundra » 29.10.2007 16:26

Необходима предварительная модерация новых тем в одном из форумов.

Это - http://www.phpbb.com/community/viewtopi ... t=approval - оно и есть?

Кто-нибудь пользовал этот МОД?

Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Зарегистрирован: 12.05.2005 17:25
Откуда: Оренбург (Южный Урал)
Благодарил (а): 24 раза
Поблагодарили: 54 раза
Контактная информация:

Сообщение Поручик » 29.10.2007 16:49

1. Оно самое и есть.
2. Поставьте и попользуйтесь.

Добавлено спустя 1 минуту 51 секунду:

Или попробуйте
Approve Post MOD
Лично не пользовался, но ставил на один форум, судя по отсутствию сообщений, заказчика устраивает.

Добавлено спустя 3 минуты 7 секунд:

Обсуждение
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html

Finarfin
phpBB 1.0.0
Сообщения: 5
Зарегистрирован: 16.01.2009 23:31

Re: Approve Post MOD

Сообщение Finarfin » 24.01.2009 1:58

А никому не удавалось ужить вместе Moby Threads и какой либо из Approve-модов?
Единственное что нагуглилось -- один чел это делал, с тем еще старым Approve Mod 1.01, интересно бы посмотреть его "few modifications". Там когда переключаешься в древовидный режим скрытые сообщения становятся видны. В битве побеждает мобитредс - он работает, а премодерация глючит

P.S. Большое Спасибо Delestor`у, глюки уже достали, а теперь красота :)

Добавлено спустя 47 минут 1 секунду:
проблема в том что если пользователь отвечает цитатой то в файле posting.php есть многочисленные изменения где и когда перехватывается цитата, и это действие обрабатывается кодом от моби тредса и не доходит до Аппрува. И пост отвеченный цитатой не подвергается проверке :(. косяк вносится где то здесь (кусок install.txt к moby threads). за незнанием php опускаю перед проблемой руки :(
была бредовая идея попробовать поподнимать куски от appruve выше кусков от moby thread :oops:

Код: Выделить всё

#-----[ OPEN ]------------------------------------------ 
#
posting.php
# 
#-----[ FIND ]------------------------------------------ 
#
  case 'reply':
  case 'vote':
# 
#-----[ REPLACE WITH ]------------------------------------------ 
#
// START THREADED MOD CODE
  //case 'reply':
// END THREADED MOD CODE
  case 'vote':
# 
#-----[ FIND ]------------------------------------------ 
#
  case 'quote':
  case 'editpost':
  case 'delete':
  case 'poll_delete':
# 
#-----[ BEFORE, ADD ]------------------------------------------ 
#
// START THREADED MOD CODE
  case 'reply':
// END THREADED MOD CODE
# 
#-----[ FIND ]------------------------------------------ 
# 
	  $select_sql = (!$submit) ? ', t.topic_title, p.enable_bbcode, p.enable_html, p.enable_smilies, p.enable_sig, p.post_username, pt.post_subject, pt.post_text, pt.bbcode_uid, u.username, u.user_id, u.user_sig, u.user_sig_bbcode_uid' : '';
# 
#-----[ REPLACE WITH ]------------------------------------------ 
# 
	  $select_sql = (!$submit) ? ', p.enable_bbcode, p.enable_html, p.enable_smilies, p.enable_sig, p.post_username, pt.post_subject, pt.post_text, pt.bbcode_uid, u.username, u.user_id, u.user_sig, u.user_sig_bbcode_uid' : '';
#
#-----[ FIND ]------------------------------------------ 
# 
    $sql = "SELECT f.*, t.topic_id, t.topic_status, t.topic_type, t.topic_first_post_id, t.topic_last_post_id, t.topic_vote, p.post_id, p.poster_id" . $select_sql . " 
# 
#-----[ REPLACE WITH ]------------------------------------------ 
# 
    $sql = "SELECT f.*, t.topic_id, t.topic_title, t.topic_status, t.topic_type, t.topic_first_post_id, t.topic_last_post_id, t.topic_vote, p.post_id, p.poster_id" . $select_sql . "
# 
#-----[ FIND ]------------------------------------------ 
#
    if ( $mode == 'quote' )
    {
      $topic_id = $post_info['topic_id'];
    }
# 
#-----[ REPLACE WITH ]------------------------------------------ 
#
// START THREADED MOD CODE
    if ( $mode == 'quote' || $mode == 'reply' )
    {
      $topic_id = $post_info['topic_id'];
      $post_id = $post_info['post_id'];
    }
    else if ( $mode == 'newtopic' )
    {
      $post_id = 0;
    }
// END THREADED MOD CODE
# 
#-----[ FIND ]------------------------------------------ 
#
    case 'reply':
    case 'topicreview':
# 
#-----[ REPLACE WITH ]------------------------------------------ 
#
// START THREADED MOD CODE
    case 'reply':
      $redirect = "mode=reply&" . POST_POST_URL . "=" . $post_id;
      break;
// END THREADED MOD CODE
    case 'topicreview':
# 
#-----[ FIND ]------------------------------------------ 
#
      $username = ( !empty($HTTP_POST_VARS['username']) ) ? $HTTP_POST_VARS['username'] : '';
# 
#-----[ BEFORE, ADD ]------------------------------------------ 
#
// START THREADED MOD CODE
    case 'quote':
// END THREADED MOD CODE
# 
#-----[ FIND ]------------------------------------------ 
#
      $user_id = ( $mode == 'reply' || $mode == 'newtopic' ) ? $userdata['user_id'] : $post_data['poster_id'];
      update_post_stats($mode, $post_data, $forum_id, $topic_id, $post_id, $user_id);
# 
#-----[ REPLACE WITH ]------------------------------------------ 
#
// START THREADED MOD CODE
      $user_id = ( $mode == 'reply' || $mode == 'quote' || $mode == 'newtopic' ) ? $userdata['user_id'] : $post_data['poster_id'];
      update_post_stats($mode, $post_data, $forum_id, $topic_id, $post_id, $user_id);
// END THREADED MOD CODE
# 
#-----[ FIND ]------------------------------------------ 
#
    if ( $mode == 'newtopic' || $mode == 'reply' )
# 
#-----[ REPLACE WITH ]------------------------------------------ 
#
// START THREADED MOD CODE
    if ( $mode == 'newtopic' || $mode == 'reply' || $mode == 'quote')
// END THREADED MOD CODE
# 
#-----[ FIND ]------------------------------------------ 
#
  if ( $mode == 'newtopic' || $mode == 'reply')
# 
#-----[ REPLACE WITH ]------------------------------------------ 
#
// START THREADED MOD CODE
  if ( $mode == 'newtopic' || $mode == 'reply' || $mode == 'quote' )
// END THREADED MOD CODE
# 
#-----[ FIND ]------------------------------------------ 
#
  else if ( $mode == 'reply' )
  {
    $user_sig = ( $userdata['user_sig'] != '' ) ? $userdata['user_sig'] : '';

    $username = ( $userdata['session_logged_in'] ) ? $userdata['username'] : '';
    $subject = '';
    $message = '';

  }
  else if ( $mode == 'quote' || $mode == 'editpost' )
  {
    $subject = ( $post_data['first_post'] ) ? $post_info['topic_title'] : $post_info['post_subject'];
    $message = $post_info['post_text'];
# 
#-----[ REPLACE WITH ]------------------------------------------ 
#
// START THREADED MOD CODE
  else if ( $mode == 'quote' || $mode == 'editpost' || $mode == 'reply' )
  {
    $subject = ( $post_data['first_post'] ) ? $post_info['topic_title'] : $post_info['post_subject'];

    if ( $mode != 'reply' )
    {
      $message = $post_info['post_text'];
    }
// END THREADED MOD CODE
# 
#-----[ FIND ]------------------------------------------ 
#
    if ( $post_info['bbcode_uid'] != '' )
    {
      $message = preg_replace('/\:(([a-z0-9]:)?)' . $post_info['bbcode_uid'] . '/s', '', $message);
    }

    $message = str_replace('<', '<', $message);
    $message = str_replace('>', '>', $message);
    $message = str_replace('<br />', "\n", $message);

    if ( $mode == 'quote' )
# 
#-----[ REPLACE WITH ]------------------------------------------ 
#
// START THREADED MOD CODE
    if ( $mode != 'reply' )
    {
      if ( $post_info['bbcode_uid'] != '' )
      {
        $message = preg_replace('/\:(([a-z0-9]:)?)' . $post_info['bbcode_uid'] . '/s', '', $message);
      }

      $message = str_replace('<', '<', $message);
      $message = str_replace('>', '>', $message);
      $message = str_replace('<br />', "\n", $message);
    }

    if ( $mode == 'quote' || $mode == 'reply' )
// END THREADED MOD CODE
# 
#-----[ FIND ]------------------------------------------ 
#
      $message = '[quote="' . $quote_username . '"]' . $message . '[/quote]';

      if ( !empty($orig_word) )
      {
        $subject = ( !empty($subject) ) ? preg_replace($orig_word, $replace_word, $subject) : '';
        $message = ( !empty($message) ) ? preg_replace($orig_word, $replace_word, $message) : '';
      }

      if ( !preg_match('/^Re:/', $subject) && strlen($subject) > 0 )
      {
        $subject = 'Re: ' . $subject;
      }

      $mode = 'reply';
# 
#-----[ REPLACE WITH ]------------------------------------------ 
#
// START THREADED MOD CODE
      if ( $mode != 'reply' )
      {
        $message = '[quote="' . $quote_username . '"]' . $message . '[/quote]';
      }

      if ( !empty($orig_word) )
      {
        $subject = ( !empty($subject) ) ? preg_replace($orig_word, $replace_word, $subject) : '';

        if ( $mode != 'reply' )
        {
          $message = ( !empty($message) ) ? preg_replace($orig_word, $replace_word, $message) : '';
        }
      }

      if ( !preg_match('/^Re:/', $subject) && strlen($subject) > 0 )
      {
        $subject = 'Re: ' . $subject;
      }
// END THREADED MOD CODE
# 
#-----[ FIND ]------------------------------------------ 
#
  case 'reply':
    $page_title = $lang['Post_a_reply'];
    $hidden_form_fields .= '<input type="hidden" name="' . POST_TOPIC_URL . '" value="' . $topic_id . '" />';
    break;
# 
#-----[ REPLACE WITH ]------------------------------------------ 
#
// START THREADED MOD CODE
  case 'reply':
  case 'quote':
	$page_title = $lang['Post_a_reply'];
    $hidden_form_fields .= '<input type="hidden" name="' . POST_POST_URL . '" value="' . $post_id . '" />';
    break;


// END THREADED MOD CODE
# 
#-----[ FIND ]------------------------------------------ 
#
  'L_EMPTY_MESSAGE' => $lang['Empty_message'],
# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
// START THREADED MOD CODE
  'L_EMPTY_SUBJECT' => $lang['Empty_subject'], 
// END THREADED MOD CODE
# 
#-----[ FIND ]------------------------------------------ 
#
  'U_VIEWTOPIC' => ( $mode == 'reply' ) ? append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&postorder=desc") : '', 
  'U_REVIEW_TOPIC' => ( $mode == 'reply' ) ? append_sid("posting.$phpEx?mode=topicreview&" . POST_TOPIC_URL . "=$topic_id") : '', 
# 
#-----[ REPLACE WITH ]------------------------------------------ 
#
// START THREADED MOD CODE
  'U_VIEWTOPIC' => ( $mode == 'reply' || $mode == 'quote' ) ? append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&postorder=desc") : '', 
  'U_REVIEW_TOPIC' => ( $mode == 'reply' || $mode == 'quote' ) ? append_sid("posting.$phpEx?mode=topicreview&" . POST_TOPIC_URL . "=$topic_id") : '', 
// END THREADED MOD CODE
# 
#-----[ FIND ]------------------------------------------ 
#
if( $mode == 'reply' && $is_auth['auth_read'] )
# 
#-----[ REPLACE WITH ]------------------------------------------ 
#
if(( $mode == 'reply' && $is_auth['auth_read']) || $mode == 'quote' )

Finarfin
phpBB 1.0.0
Сообщения: 5
Зарегистрирован: 16.01.2009 23:31

ApprovePostMOD-0.0.2 и mobythreads_1.2 заставить работать вм

Сообщение Finarfin » 25.01.2009 11:59

пришлось браться за изучение php.
может кто-нибудь сказать что делает $db->sql_fetchrow($approve_result) ?
это присваивает $db результат запроса, определяемого функцией sql_fetchrow с параметром $approve_result? нормально, а где посмотреть что за функция sql_fetchrow? в каком файле она определяется? присутствует-то она много где...

я пошел методом дедукции.
когда я правлю posting.php, даже больше ничего не меняя по moby threads при ответе с цитатой в БД не записывается что сообщение ожидает проверки (проверял восстановлением старого posting.php)
в частности я не вижу админом сслыки на посте "одобрить". пройдя через языковой файл к перменной и выполнив поиск я понял что в viewtopic.php элемент массива $approve_mod['posts_awaiting'] получается False вместо true.

к этому может привести несколько причин, наиболее вероятная sql_fetchrow($approve_result) не true. Если понять что делает sql_fetchrow можно пройти дальше

PS мозгу капец на сегодня :mrgreen:

Закрыто

Вернуться в «Поддержка модов для phpBB 2.0.x»