Дружба Post Expire 1.0.3 и других модов с jQuery Quick Edit

Поддержка старых модов или модов, созданных авторами не из нашего сообщества, а также любые вопросы, связанные с модами для phpBB 3.0.x, кроме относящихся к форуму Для авторов (phpBB 3.0.x).
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Дружба Post Expire 1.0.3 и других модов с jQuery Quick Edit

Сообщение Пчелкин »

С разрешения автора правки косяка между модами Post Expire 1.0.3 и jQuery Quick Edit FEAR93 выкладываю правки, позволяющие работать обоим модам вместе...
В файле quickedit.php
Найти:

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

$url_status	    = ($config['allow_post_links'] && $post_data['enable_magic_url']) ? true : false;
Заменить на:

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

$url_status		= ($config['allow_post_links']) ? true : false;
Найти:

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

		// start parsing the text for the database
		$message_parser = new parse_message();
		
		$message_parser->message = $post_text;
		
		// Always check if the submitted attachment data is valid and belongs to the user.
Заменить на:

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

		// start parsing the text for the database
		$message_parser = new parse_message();
		
		$message_parser->message = $post_text;
		
		$post_data['topic_first_post_id'] = (isset($post_data['topic_first_post_id'])) ? (int) $post_data['topic_first_post_id'] : 0;
		$post_data['date_picker'] = '';
		$post_data['post_expire_time'] = (isset($post_data['post_expire_time'])) ? (int) $post_data['post_expire_time'] : -1;
		$post_data['post_expire_time'] = ($post_data['post_expire_time'] != 0) ? $post_data['post_expire_time'] : -1;
		$expire_default_action = -1;
		$perm_actions = array('0' => $auth->acl_get('u_post_expire_delete'), '1' => $auth->acl_get('u_post_expire_lock'), '2' => $auth->acl_get('u_post_expire_move'), '3' => $auth->acl_get('u_post_expire_lockandmove'));

		foreach ($perm_actions as $key => $value)
		{
			if ($value)
			{
				if ($key == $config['expire_default_action'])
				{
					$expire_default_action = $key;
					break;
				}
				else if ($expire_default_action == -1)
				{
					$expire_default_action = $key;
				}
			}
		}
	unset($perm_actions);

	if ($expire_default_action == -1)
	{
		$expire_default_action = 0;
	}
		
	
	$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, 'topic_expire_type' => $expire_default_action);
	

	foreach ($uninit as $var_name => $default_value)
	{
		if (!isset($post_data[$var_name]))
		{
			$post_data[$var_name] = $default_value;
		}
	}
	unset($uninit);

		// Always check if the submitted attachment data is valid and belongs to the user.
Найти:

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

		// Create the data array for submit_post
Добавить перед:

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

		
		$post_data['date_picker'] = request_var('date_picker', '');
	$post_data['post_expire_time'] = request_var('post_expire_time', -1);
	$post_data['topic_expire_type'] = request_var('topic_expire_type', $expire_default_action);
	$post_data['expire_forum_id'] = request_var('expire_forum_id', 0);

	if ($config['expire_enable'])
	{
		if(!empty($post_data['date_picker'])) 
		{ 
			$date_picker = str_replace('-', ' ', $post_data['date_picker']);
			$date_picker = str_replace(':', ' ', $date_picker);
			$date_array = explode(' ', $date_picker);

			$day = (isset($date_array[0])) ? $date_array[0] : NULL;
			$month = (isset($date_array[1])) ? $date_array[1] : NULL;
			$year = (isset($date_array[2])) ? $date_array[2] : NULL;
			(!isset($date_array[3])) ? $hour = NULL : $date_array[3] ? $hour = $date_array[3] : $hour = '00';
			(!isset($date_array[4])) ? $minute = NULL : $date_array[4] ? $minute = $date_array[4] : $minute = '00';
			$am_pm = (isset($date_array[5])) ? $date_array[5] : NULL;
   
			if (preg_match("/^(\d{2}) (\d{2}) (\d{4}) ([01][0-9]|2[0-3]) ([0-5][0-9])$/", "$day $month $year $hour $minute", $matches)) 
			{
				if (isset($am_pm))
				{
					$am_pm = strtolower($am_pm);  
					switch ($am_pm)
					{
						case 'am':
							$hour = ($hour == 12) ? 0 : $hour;
						break;
						case 'pm':
							$hour = ($hour == 12) ? 12 : $hour + 12;
						break;
						default:
							$error[] = $user->lang['INVALID_DATE'];
						break;
					}
				}
				
				if (checkdate($matches[2], $matches[1], $matches[3])) 
				{
					$post_data['post_expire_time'] = gmmktime(intval($hour), intval($minute), 0, intval($month), intval($day), intval($year)) - (time() + $user->timezone + $user->dst);
					if ($post_data['post_expire_time'] < 0)
					{
						$error[] = $user->lang['PAST_DATE'];
					}
				} 
				else 
				{
					$error[] = $user->lang['INVALID_DATE'];
				}       
			} 
			else 
			{
				$error[] = $user->lang['INVALID_DATE'];
			} 
		}
		
		if (intval($config['expire_max_time']) != 0 && (intval($post_data['post_expire_time'])) > intval($config['expire_max_time'])*86400)
		{
			$error[] = sprintf($user->lang['MAX_DATE'], $config['expire_max_time']);
		}
		
		if($post_data['post_expire_time'] == -1) 
		{
			$post_data['topic_expire_type'] = $expire_default_action;
			$post_data['expire_forum_id'] = 0;
		} 
		else if ($post_data['post_expire_time'] != -1 && ($post_data['topic_expire_type'] == 0 || $post_data['topic_expire_type'] == 1))
		{  
			$post_data['expire_forum_id'] = 0;
		}
		
		if ($post_data['post_expire_time'] != -1 && $post_data['expire_forum_id'] == 0 && ($post_data['topic_expire_type'] == 2 || $post_data['topic_expire_type'] == 3) && $post_data['topic_first_post_id'] == $post_id)
		{
			if (!$auth->acl_get('u_post_expire_only'))
			{
				$error[] = $user->lang['MOVE_UNABLE'];
			}
		}
	}
Найти и удалить:

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

		    'topic_poster'		=> $post_data['topic_poster'],
Найти:

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

	    // Other Options
		    'post_edit_locked'  => $post_data['post_edit_locked'],
Добавить после:

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

		    'post_expire_time'		=> ($post_data['post_expire_time'] != -1) ? (int) $post_data['post_expire_time'] : -1,
			'topic_expire_type'		=> (int) $post_data['topic_expire_type'],
			'expire_forum_id'		=> (int) $post_data['expire_forum_id'],
Найти:

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

			* $username is set to $user->data['username'] as we don't need the clean username for the logs
			*/
			submit_post('edit', $post_data['post_subject'], $post_data['username'], $post_data['topic_type'], $poll, $data);
Заменить на:

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

			* $username is set to $user->data['username'] as we don't need the clean username for the logs
			*/
			submit_post('edit', $post_data['post_subject'], $user->data['username'], $post_data['topic_type'], $poll, $data);
Оба указанных мода будут работать на форуме вместе...удачи..И спасибо FEAR93 еще раз за такую профессиональную работу ...
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Дружба Post Expire 1.0.3 и других модов с jQuery Quick E

Сообщение Пчелкин »

ДРУЖБА jQuery Quick Edit и Topic Title Colour (после правки исчезает намеченный цвет названия темы)

В файле - quickedit.php

Найти:

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

          'topic_title'       => $post_data['topic_title'],
Добавить после:

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

         'topic_title_colour'       => $post_data['topic_title_colour'], 

Найти:

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

         add_log('mod', $post_data['forum_id'], $post_data['topic_id'], 'LOG_POST_EDITED', $post_data['topic_title'], (!empty($post_data['username'])) ? $post_data['username'] : $user->lang['GUEST']);

Найти в строке:

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

$post_data['topic_title'],
Добавить в строку после:

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

 $post_data['topic_title_colour'],
Добавлено спустя 4 минуты 27 секунд:
Re: Дружба Post Expire 1.0.3 и других модов с jQuery Quick Edit
ДРУЖБА jQuery Quick Edit и Topics Descript (после правки исчезает дополнительное описание к названию темы)

В файле - quickedit.php

Найти:

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

          'topic_title'       => $post_data['topic_title'],
Добавить после:

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

         'topic_desc'       => $post_data['topic_desc'],

Найти:

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

         add_log('mod', $post_data['forum_id'], $post_data['topic_id'], 'LOG_POST_EDITED', $post_data['topic_title'], (!empty($post_data['username'])) ? $post_data['username'] : $user->lang['GUEST']);

Найти в строке:

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

$post_data['topic_title'],
Добавить в строку после:

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

 $post_data['topic_desc'],
мысль взята здесь - Home ‹ Customisation Database
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
clubforum
phpBB 2.0.0
Сообщения: 216
Стаж: 14 лет 11 месяцев
Благодарил (а): 57 раз
Поблагодарили: 3 раза

Re: Дружба Post Expire 1.0.3 и других модов с jQuery Quick E

Сообщение clubforum »

Супер.

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