Была версия 3.0.2
В целях борьбы со спамом была дописана своя програмка которая проверят и выставляет значение
post_approved в 0 и тогда сообщение требует модерации.
Записывала значение post_approved в в базу "post"
В 3.1 не могу найти поле одобрения поста.
Где можно посмотреть значение поле в базе "post" .
Р.S.
Про стандартные средства знаю, не нравиться что человек не может написать первый пост без одобрения.
Но после первого одобренного поста часто пишут спам.
Какое поле отвечает за одобрение поста
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение

-
- phpBB 1.4.2
- Сообщения: 65
- Стаж: 10 лет 9 месяцев
- Благодарил (а): 1 раз
-
- Former team member
- Сообщения: 3468
- Стаж: 11 лет
- Благодарил (а): 39 раз
- Поблагодарили: 792 раза
Re: Какое поле отвечает за одобрение поста
Есть столбец
https://github.com/phpbb/phpbb/blob/7e3 ... ts.php#L95
По умолчанию значение 0 - сообщение ещё не было одобрено, 1 - одобрено. Есть и другие значения.
post_visibility
, который может принимать значения, заданные константами ITEM_
.https://github.com/phpbb/phpbb/blob/7e3 ... ts.php#L95
По умолчанию значение 0 - сообщение ещё не было одобрено, 1 - одобрено. Есть и другие значения.
-
- phpBB 1.4.2
- Сообщения: 65
- Стаж: 10 лет 9 месяцев
- Благодарил (а): 1 раз
Re: Какое поле отвечает за одобрение поста
Спасибо!
define('ITEM_UNAPPROVED', 0); // => has not yet been approved
define('ITEM_APPROVED', 1); // => has been approved, and has not been soft deleted
Только не поняла как ITEM_APPROVED и ITEM_UNAPPROVED между собой сочетаются.
В какие значения их надо выставить чтобы пост был неодобрен после мой проверки.
define('ITEM_UNAPPROVED', 0); // => has not yet been approved
define('ITEM_APPROVED', 1); // => has been approved, and has not been soft deleted
Только не поняла как ITEM_APPROVED и ITEM_UNAPPROVED между собой сочетаются.
В какие значения их надо выставить чтобы пост был неодобрен после мой проверки.
-
- phpBB 3.0.0 RC5
- Сообщения: 1668
- Стаж: 10 лет 6 месяцев
- Благодарил (а): 235 раз
- Поблагодарили: 173 раза
Re: Какое поле отвечает за одобрение поста
Это константы. В коде записывается
ITEM_APPROVED
как более понятное человеку, а в БД пишется значение константы, то есть 1
.Правда не понимаю как вы собираетесь приспосабливать код вашей программы, не зная основ PHP.
-
- Former team member
- Сообщения: 3468
- Стаж: 11 лет
- Благодарил (а): 39 раз
- Поблагодарили: 792 раза
Re: Какое поле отвечает за одобрение поста
Я старался понятно и доступно описать то, что нужно именно Вам.
Используйте 0 для данного поля так же, как когда-то использовали это значение для
post_approved
.-
- phpBB 1.4.2
- Сообщения: 65
- Стаж: 10 лет 9 месяцев
- Благодарил (а): 1 раз
Re: Какое поле отвечает за одобрение поста
Спасибо за ответы.
В phpbb 3.0.12 я в (functions_posting.php) в функцию function submit_post вставила свою проверку
и на основании ее менялаи
Т.е. у меня в phpbb_topics в поле post_approved записывалось 0
Все было нормально.
В phpbb 3.1.6 не могу разобраться.
Понимаю что надо после все проверок перед самой записью в поменять переменные. Не могу найти этот кусок.
В phpbb 3.0.12 я в (functions_posting.php) в функцию function submit_post вставила свою проверку
и на основании ее меняла
Код: Выделить всё
$post_approval=0;
Код: Выделить всё
$sql_data[POSTS_TABLE]['sql']['post_approved']=0;
Все было нормально.
В phpbb 3.1.6 не могу разобраться.
Понимаю что надо после все проверок перед самой записью в поменять переменные. Не могу найти этот кусок.
Последний раз редактировалось владимир1983 05.12.2015 0:31, всего редактировалось 1 раз.
Причина: code
Причина: code
-
- Former team member
- Сообщения: 3468
- Стаж: 11 лет
- Благодарил (а): 39 раз
- Поблагодарили: 792 раза
Re: Какое поле отвечает за одобрение поста
А здесь разве нельзя поменять
'post_approved'
на 'post_visibility'
?-
- phpBB 1.4.2
- Сообщения: 65
- Стаж: 10 лет 9 месяцев
- Благодарил (а): 1 раз
Re: Какое поле отвечает за одобрение поста
Вот здесь нашла что предлают менять позднее. Ищу где меняется 'post_visibility' => $post_visibility, ??????
$sql_data[FORUMS_TABLE]['stat'] вот сюда засылается значение forum_posts_approved и 'forum_topics_approved
C топиком вроде понятно
Код: Выделить всё
if (!isset($sql_data[POSTS_TABLE]['sql']))
{
$sql_data[POSTS_TABLE]['sql'] = array();
}
$sql_data[POSTS_TABLE]['sql'] = array_merge($sql_data[POSTS_TABLE]['sql'], array(
'forum_id' => $data['forum_id'],
'poster_id' => $data['poster_id'],
'icon_id' => $data['icon_id'],
// We will change the visibility later
//'post_visibility' => $post_visibility,
'enable_bbcode' => $data['enable_bbcode'],
'enable_smilies' => $data['enable_smilies'],
'enable_magic_url' => $data['enable_urls'],
'enable_sig' => $data['enable_sig'],
'post_username' => ($username && $data['poster_id'] == ANONYMOUS) ? $username : '',
'post_subject' => $subject,
'post_checksum' => $data['message_md5'],
'post_attachment' => (!empty($data['attachment_data'])) ? 1 : 0,
'bbcode_bitfield' => $data['bbcode_bitfield'],
'bbcode_uid' => $data['bbcode_uid'],
'post_edit_locked' => $data['post_edit_locked'])
);
Код: Выделить всё
$sql_data[FORUMS_TABLE]['stat'][] = 'forum_topics_approved = forum_topics_approved + 1';
$sql_data[FORUMS_TABLE]['stat'][] = 'forum_posts_approved = forum_posts_approved + 1';