Страница 1 из 2

Post Expire phpbb3 (тайммодерация)

Добавлено: 09 авг 2013, 01:07
DeaDRoMeO
Всем доброго времени суток. Настало время анонса очередной хорошей модификации. Гвоздь сегодняшней программы Post Expire, модификация, добавляющая на форум функции отложенного модерирования темы. Тобишь, допустим, с помощью него мы можем сделать так, чтобы через любой промежуток времени выбранная тема была закрыта и перемещена в выбранный подфорум. Надеюсь вы поняли меня....

Основные функции отложенного модерирования (все действия осуществляются через выбранный вами промежуток времени, можно указать даже точное время выполнения)
1. Удаление темы
2. Закрытие темы
3. Закрытие и перемещение темы
4. Открытие закрытой темы
5. Открытие и перемещение закрытой темы
Данная модификация интегрируется со следущими модами
[list]
[*]


[*][/list]
Если данный функционал вас устроит - скачиваем и ставим, мод несложен в установке и настройке (русификация уже внутри архива модификации в нужной папке)


После установки, модификация появится в Админка - Сообщения. Впринципе еще не забывайте настраивать права доступа к ней, Админка - Права доступа - Права групп, успехов :bra_vo:

----------------- Дополнение. Вывод статуса темы на странице Активные темы, новые сообщения и тд ---------------------

По стандарту, статус темы выводится при просмотре подфорумов, выведем этот статус на страницу Активных тем (Новые сообщения, Ваши сообщения и тд так же относятся к этому)
Для начала откроем корневой search.php и находим

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

$user->setup('search');
Вставляем после найденного

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

$user->add_lang('mods/pe');
Находим

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

	// Grab icons
	$icons = $cache->obtain_icons();
Вставляем после найденного

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

post_expire_remove();
Находим

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

$tpl_ary = array(
				
					'TOPIC_AUTHOR'				=> get_username_string('username', $row['topic_poster'], $row['topic_first_poster_name'], $row['topic_first_poster_colour']),
Вставляем ПЕРЕД найденным

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

  switch($row['topic_expire_type'])
		{
			case 0:
				$l_topic_expire_type = $user->lang['TOPIC_EXPIRE_DELETE'];
			break;
			case 1:
				$l_topic_expire_type = ($row['topic_status'] == ITEM_LOCKED) ? $user->lang['TOPIC_EXPIRE_UNLOCK'] : $user->lang['TOPIC_EXPIRE_LOCK']; 
			break;
			case 2:
				$l_topic_expire_type = $user->lang['TOPIC_EXPIRE_MOVE'];
			break;	
			case 3:
				$l_topic_expire_type = ($row['topic_status'] == ITEM_LOCKED) ? $user->lang['TOPIC_EXPIRE_UNLOCK_AND_MOVE'] : $user->lang['TOPIC_EXPIRE_LOCK_AND_MOVE'];
			break;	
			default:
				$l_topic_expire_type = '';
			break;
		}
А ПОСЛЕ найденного вставляем

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

	'TOPIC_EXPIRE'		=> ($row['topic_expire_time']) ? $user->format_date($row['topic_expire_time']) : 0,
			'L_TOPIC_EXPIRE_TYPE'		=> $l_topic_expire_type,
Открываем шаблон вашего стиля search_results.html и находим

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

<!-- IF searchresults.S_TOPIC_UNAPPROVED or searchresults.S_POSTS_UNAPPROVED -->
Вставляем перед найденным

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

<!-- IF searchresults.TOPIC_EXPIRE --> <br /><strong>{L_TOPIC_WILL_EXPIRE} [{searchresults.L_TOPIC_EXPIRE_TYPE}]:</strong> {searchresults.TOPIC_EXPIRE}<!-- ENDIF -->	
Код внутри условия можно украсить на свое усмотрение, чистим кеш и радуемся результатам :ya-za:

Post Expire phpbb3 (тайммодерация)

Добавлено: 24 сен 2013, 17:23
Vl@d1m1r
Сергей , благодарю за мод , но есть вопрос , при переносе тем выходит ошибка

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

Общая ошибка
Tried to redirect to potentially insecure url.

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/includes/functions.php
LINE: 2636
CALL: trigger_error()

FILE: [ROOT]/includes/mcp/mcp_main.php
LINE: 793
CALL: redirect()

FILE: [ROOT]/includes/mcp/mcp_main.php
LINE: 98
CALL: mcp_move_topic()

FILE: [ROOT]/includes/functions_module.php
LINE: 507
CALL: mcp_main->main()

FILE: [ROOT]/includes/functions_module.php
LINE: 802
CALL: p_master->load_active()

FILE: [ROOT]/mcp.php
LINE: 169
CALL: p_master->load()
но если честно , незнаю , после установки мода или до, т.к. не приходилось переносить темы , надеюсь на Вашу помощь.
P/S И ещё хотел узнать , где можно увидеть данные о переносе , в админке есть , но , например хотел удалить , мне вышла страница с подтверждением ДА или НЕТ , больше ничего, если можно подробней.

Post Expire phpbb3 (тайммодерация)

Добавлено: 24 сен 2013, 17:35
Vl@d1m1r
Первый вопрос решён , кэш почистил , вроде всё переносится .

Post Expire phpbb3 (тайммодерация)

Добавлено: 24 сен 2013, 17:42
DeaDRoMeO
Vl@d1m1r писал(а): например хотел удалить
Так это ж стандартная функция, а не этого мода, потому и подтверждение

Post Expire phpbb3 (тайммодерация)

Добавлено: 24 сен 2013, 17:44
Vl@d1m1r
Сергей , Благодарю за ответ , но вообщем я сам затупил , я права не выдал , вот и не видел эти функции , ещё раз Спасибо .

Post Expire phpbb3 (тайммодерация)

Добавлено: 24 сен 2013, 18:04
Vl@d1m1r
Рано радовался , при нажатии на ОТВЕТИТЬ , debug ругается

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

[phpBB Debug] PHP Notice: в файле [ROOT]/posting.php в строке 1984: Undefined index: seo_post_key
вот строка

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

	'FORUM_NAME'			=> $post_data['forum_name'],
	'FORUM_DESC'			=> ($post_data['forum_desc']) ? generate_text_for_display($post_data['forum_desc'], $post_data['forum_desc_uid'], $post_data['forum_desc_bitfield'], $post_data['forum_desc_options']) : '',
	'SEO_DESC'              => $post_data['seo_desc'],
	'SEO_KEY'               => $post_data['seo_key'],
1984	'SEO_POST_KEY'       	=> $post_data['seo_post_key'],
	'S_TOPIC_SEO'			=> (!empty($post_data['enable_topic_seo'])) ? true : false,
	'TOPIC_SEO_TITLE'       => $post_data['topic_seo_title'],
	'TOPIC_TITLE'			=> censor_text($post_data['topic_title']),
Можно ли решить данную проблему?

Post Expire phpbb3 (тайммодерация)

Добавлено: 24 сен 2013, 19:00
Lorem Ipsum
Vl@d1m1r писал(а):seo_post_key
Если у вас установлена эта тройка сео-модов, то нужно ещё много модов затачивать под них, легче повеситься. Почитайте здесь и попробуйте делать по аналогии такие же правки для модов, которые делали для сео-модов http://www.phpbbguru.net/community/topi ... ml#p403000.

Post Expire phpbb3 (тайммодерация)

Добавлено: 24 сен 2013, 19:17
DeaDRoMeO
А может просто мод некорректно установлен? Тот который сео

Post Expire phpbb3 (тайммодерация)

Добавлено: 24 сен 2013, 19:19
Vl@d1m1r
Ирина , где он находится , искал в корне , та нет его quickedit.php

Post Expire phpbb3 (тайммодерация)

Добавлено: 24 сен 2013, 19:20
Vl@d1m1r
DeaDRoMeO писал(а):А может просто мод некорректно установлен?
Вроде до этого проблем не создовал.

Post Expire phpbb3 (тайммодерация)

Добавлено: 24 сен 2013, 19:59
Lorem Ipsum
Vl@d1m1r писал(а):Ирина , где он находится , искал в корне , та нет его quickedit.php
Да нет, я же говорю по аналогии. У вас же вылезла проблема в моде Post Expire? Вот редактируете файлы этого мода. То есть, ищите похожие строки *как в приведённой мною ссылке* и добавляете нужные строки.

Post Expire phpbb3 (тайммодерация)

Добавлено: 24 сен 2013, 20:00
Lorem Ipsum
DeaDRoMeO писал(а):А может просто мод некорректно установлен? Тот который сео
Мне пришлось штук 5-6 модов подредактировать, чтобы не вылезала ошибка от сео-модов.

Post Expire phpbb3 (тайммодерация)

Добавлено: 24 сен 2013, 20:02
Lorem Ipsum
Короче говоря, нужно делать добавления типа

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

$uninit = array('post_attachment' => 0, 'poster_id' => $user->data['user_id'], 'enable_magic_url' => 0, 'topic_status' => 0, 'topic_type' => POST_NORMAL, 'post_subject' => '', 'topic_title' => '', 'post_time' => 0, 'post_edit_reason' => '', 'notify_set' => 0, 'seo_desc' => '', 'seo_key' => '', 'seo_post_key' => '', 'topic_seo_title' => '');
и

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

			'seo_desc'              => $post_data['seo_desc'],
			'seo_key'               => $post_data['seo_key'],
            'seo_post_key'          => $post_data['seo_post_key'],
			'topic_seo_title'       => $post_data['topic_seo_title'],
В те моды, в которых вызывают ошибки сео-моды.

Post Expire phpbb3 (тайммодерация)

Добавлено: 24 сен 2013, 20:08
Vl@d1m1r
Просто у Вас был установлен мод jQuery Quick Edit. , у меня его нету , так как узнать из-за чего?

Post Expire phpbb3 (тайммодерация)

Добавлено: 24 сен 2013, 20:10
Lorem Ipsum
Вы текст ошибки читали? Я же специально выделила в цитату. Проблема в seo_post_key. Делайте аналогичные (как для jQuery Quick Edit) правки, только для своего мода.

Post Expire phpbb3 (тайммодерация)

Добавлено: 24 сен 2013, 21:04
Vl@d1m1r
Если честно ничего не понял , если можно подробней , я в этом не силён , не судите строго , заранее Благодарю.

Post Expire phpbb3 (тайммодерация)

Добавлено: 24 сен 2013, 21:12
Lorem Ipsum
Охохо. Я сама всё делала методом тыка. Ошибка вылезает при отправке ответа?
Дайте файл posting.php.

Post Expire phpbb3 (тайммодерация)

Добавлено: 24 сен 2013, 21:20
Vl@d1m1r
Ошибка выходит когда открываешь форму ответа , методом тыка я завязал , т.к. уже были ситуации что приходилось всё заново делать , поэтому лучше спросить знающих .

Post Expire phpbb3 (тайммодерация)

Добавлено: 24 сен 2013, 21:25
Lorem Ipsum
Вы устанавливали этот мод Topic SEO description and keywords mod?

Руками или автомодом?

Post Expire phpbb3 (тайммодерация)

Добавлено: 24 сен 2013, 21:31
Lorem Ipsum
DeaDRoMeO писал(а):А может просто мод некорректно установлен? Тот который сео
Похоже, ты прав. Отсутствует самая первая правка.
Open: posting.php
Find

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

// Set some default variables
$uninit = array('post_attachment' => 0, 'poster_id' => $user->data['user_id'], 'enable_magic_url' => 0, 'topic_status' => 0, 'topic_type' => POST_NORMAL, 'post_subject' => '', 'topic_title' => '', 'post_time' => 0, 'post_edit_reason' => '', 'notify_set' => 0);
In-line Find

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

 'topic_title' => '',
In-line Add before

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

 'seo_desc' => '','seo_key' => '', 'seo_post_key' =>'', 'topic_seo_title' =>'',