Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Какое поле отвечает за одобрение поста

Проблемы с установкой или работой phpBB 3.1.x? Получите помощь здесь!
С 1 июля 2018 года phpBB Group прекращает поддержку phpBB версии 3.1.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.1 до 1 января 2019 года.
Подробнее: Окончание поддержки phpBB 3.1.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
regina68
phpBB 1.4.2
Сообщения: 65
Стаж: 9 лет 9 месяцев
Благодарил (а): 9 раз

Какое поле отвечает за одобрение поста

Сообщение regina68 »

Была версия 3.0.2
В целях борьбы со спамом была дописана своя програмка которая проверят и выставляет значение
post_approved в 0 и тогда сообщение требует модерации.
Записывала значение post_approved в в базу "post"

В 3.1 не могу найти поле одобрения поста.
Где можно посмотреть значение поле в базе "post" .


Р.S.
Про стандартные средства знаю, не нравиться что человек не может написать первый пост без одобрения.
Но после первого одобренного поста часто пишут спам.
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 9 лет 11 месяцев
Благодарил (а): 41 раз
Поблагодарили: 830 раз

Re: Какое поле отвечает за одобрение поста

Сообщение LavIgor »

Есть столбец post_visibility, который может принимать значения, заданные константами ITEM_.
https://github.com/phpbb/phpbb/blob/7e3 ... ts.php#L95
По умолчанию значение 0 - сообщение ещё не было одобрено, 1 - одобрено. Есть и другие значения.
regina68
phpBB 1.4.2
Сообщения: 65
Стаж: 9 лет 9 месяцев
Благодарил (а): 9 раз

Re: Какое поле отвечает за одобрение поста

Сообщение regina68 »

Спасибо!

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 между собой сочетаются.
В какие значения их надо выставить чтобы пост был неодобрен после мой проверки.
Аватара пользователя
Sumanai
phpBB 3.0.0 RC5
Сообщения: 1668
Стаж: 9 лет 5 месяцев
Благодарил (а): 257 раз
Поблагодарили: 195 раз

Re: Какое поле отвечает за одобрение поста

Сообщение Sumanai »

regina68 писал(а): Только не поняла как ITEM_APPROVED и ITEM_UNAPPROVED между собой сочетаются.
Это константы. В коде записывается ITEM_APPROVED как более понятное человеку, а в БД пишется значение константы, то есть 1.
Правда не понимаю как вы собираетесь приспосабливать код вашей программы, не зная основ PHP.
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 9 лет 11 месяцев
Благодарил (а): 41 раз
Поблагодарили: 830 раз

Re: Какое поле отвечает за одобрение поста

Сообщение LavIgor »

regina68 писал(а): В какие значения их надо выставить чтобы пост был неодобрен после мой проверки.
Я старался понятно и доступно описать то, что нужно именно Вам.
LavIgor писал(а): значение 0 - сообщение ещё не было одобрено, 1 - одобрено
Используйте 0 для данного поля так же, как когда-то использовали это значение для post_approved.
regina68
phpBB 1.4.2
Сообщения: 65
Стаж: 9 лет 9 месяцев
Благодарил (а): 9 раз

Re: Какое поле отвечает за одобрение поста

Сообщение regina68 »

Спасибо за ответы.
В phpbb 3.0.12 я в (functions_posting.php) в функцию function submit_post вставила свою проверку
и на основании ее меняла

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

$post_approval=0; 
и

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

$sql_data[POSTS_TABLE]['sql']['post_approved']=0;
Т.е. у меня в phpbb_topics в поле post_approved записывалось 0
Все было нормально.

В phpbb 3.1.6 не могу разобраться.
Понимаю что надо после все проверок перед самой записью в поменять переменные. Не могу найти этот кусок.
Последний раз редактировалось владимир1983 05.12.2015 0:31, всего редактировалось 1 раз.
Причина: code
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 9 лет 11 месяцев
Благодарил (а): 41 раз
Поблагодарили: 830 раз

Re: Какое поле отвечает за одобрение поста

Сообщение LavIgor »

regina68 писал(а): $sql_data[POSTS_TABLE]['sql']['post_approved']=0;
А здесь разве нельзя поменять 'post_approved' на 'post_visibility'?
regina68
phpBB 1.4.2
Сообщения: 65
Стаж: 9 лет 9 месяцев
Благодарил (а): 9 раз

Re: Какое поле отвечает за одобрение поста

Сообщение regina68 »

Вот здесь нашла что предлают менять позднее. Ищу где меняется 'post_visibility' => $post_visibility, ??????

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

		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_posts_approved и 'forum_topics_approved

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

				$sql_data[FORUMS_TABLE]['stat'][] = 'forum_topics_approved = forum_topics_approved + 1';
				$sql_data[FORUMS_TABLE]['stat'][] = 'forum_posts_approved = forum_posts_approved + 1';
C топиком вроде понятно

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