Создание темы без заполнения заголовка

Предложения по созданию модов на бесплатной основе и переводам уже имеющихся модов на русский язык. Если вы хотите какой-нибудь мод, но не хватает знаний, чтобы его создать - напишите в этот раздел. Кто-то из заинтересованных программистов может взяться за вашу идею.
cefp
Сообщения: 44
Зарегистрирован: 15.10.13 02:28

Создание темы без заполнения заголовка

Сообщение cefp »

В стандартном форуме при создании новой темы нужно обязательно ввести заголовок темы. Форум проверяет наличие заголовка и если заголовок не введен, то предлагает его ввести. Необходимо сделать так, чтобы при незаполненном заголовке форум не предлагал заполнить заголовок, а сам его заполнял из текста темы и создавал тему без дополнительных вопросов.
cefp
Сообщения: 44
Зарегистрирован: 15.10.13 02:28

Создание темы без заполнения заголовка

Сообщение cefp »

Нашел как сделать необязательным заголовок в личном сообщении:

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

OPEN
includes/ucp/ucp_pm_compose.php

FIND
				$error[] = $user->lang['EMPTY_MESSAGE_SUBJECT'];

REPLACE WITH
				$subject = '...';

FIND
				$error[] = $user->lang['EMPTY_MESSAGE_SUBJECT'];
REPLACE WITH
				$subject = '...';
Думаю, с темами можно примерно также, только добавить копирование текста из сообщения в заголовок. В каком файле и какие строки редактировать?
Shredder
Администратор
Сообщения: 1069
Зарегистрирован: 22.08.13 09:05
Благодарил (а): 132 раза
Поблагодарили: 264 раза
Контактная информация:

Создание темы без заполнения заголовка

Сообщение Shredder »

В posting.php найти и удалить фрагмент кода:

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

	// Parse subject
	if (!$preview && !$refresh && utf8_clean_string($post_data['post_subject']) === '' && ($mode == 'post' || ($mode == 'edit' && $post_data['topic_first_post_id'] == $post_id)))
	{
		$error[] = $user->lang['EMPTY_SUBJECT'];
	}
В includes/functions_posting.php найти:

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

				'post_subject'		=> $subject,
Заменить на:

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

				'post_subject'		=> ($post_mode == 'post') ? utf8_substr($data['message'], 0, 32) : $subject,
Найти:

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

				'topic_title'				=> $subject,
Заменить на:

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

				'topic_title'				=> substr($data['message'], 0, 32),
Вместо 32 подставить своё значение, до которого будет обрезаться заголовок в случае превышения этого значения.

Заменять только самые первые вхождения.
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
cefp
Сообщения: 44
Зарегистрирован: 15.10.13 02:28

Создание темы без заполнения заголовка

Сообщение cefp »

Shredder, спасибо, хороший мод получился, даже длину текста для заголовка учли, я об этом думал, как об отдельном сложном вопросе.
Werefire
Сообщения: 1
Зарегистрирован: 04.12.15 17:47

Немного офф-топ

Сообщение Werefire »

А как сделать так, чтобы в заголовке темы при её создании, кроме названия отображался id темы. Например Ответ № (topic_id) (текст_заголовка_темы)
Shredder
Администратор
Сообщения: 1069
Зарегистрирован: 22.08.13 09:05
Благодарил (а): 132 раза
Поблагодарили: 264 раза
Контактная информация:

Создание темы без заполнения заголовка

Сообщение Shredder »

Werefire
Использовать уже имеющуюся в движке шаблонную переменную {TOPIC_ID}, не?
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Ответить