[RC] PM All in 1 - ЛС "Все включено"

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13159
Стаж: 15 лет 1 месяц
Благодарил (а): 236 раз
Поблагодарили: 3750 раз

Re: [RC] PM All in 1 - ЛС "Все включено"

Сообщение Татьяна5 »

Пчелкин
По коду:
{S_PM_SENDER} - автор сообщения
{S_PM_SUBJECT} - тема ЛС
{S_PM_TEXT} - текст ЛС
{S_PM_DATE} - дата
{AVATAR_PM} - аватарка отправителя

Все эти переменные вставить в шаблон на месте вывода сообщения из мода и оформить
deadromeo
phpBB 2.0.0
Сообщения: 237
Стаж: 15 лет 4 месяца
Благодарил (а): 28 раз
Поблагодарили: 41 раз
Забанен: Бессрочно

Re: [RC] PM All in 1 - ЛС "Все включено"

Сообщение deadromeo »

ВладимирТ, по вашим правкам есть проблема, получил таким образом. В одном браузере вхожу на основную учетку, во втором просто открываю форум под гостем. С основной учетки пишу письмо на тестовую учетку, отправляю, во втором браузере вхожу на тестовую учетку и в итоге получаю белый лист, ошибка по логам

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

Call to undefined function get_user_avatar()
В файле includes/functions.php.
У меня одного такая проблема ?
Мои расширения: TopicLinks, TopicDesc, BannedUser, AllowedExt, NumPosts, PMRead, GoogleTranslator, BoardStartDate, CountDownBB, VKWigets, TimeHeader.
Аватара пользователя
ВладимирТ
phpBB 2.0.4
Сообщения: 421
Стаж: 16 лет 3 месяца
Откуда: Москва
Благодарил (а): 52 раза
Поблагодарили: 75 раз

Re: [RC] PM All in 1 - ЛС "Все включено"

Сообщение ВладимирТ »

deadromeo писал(а):У меня одного такая проблема ?
Пишет не определена функция, не думаю что к правкам это относится, я просто дописал вывод аватары и сообщения из базы данных, не меняя кода автора, вывод аватара классический и работает без проблем уже давно, если бы условия приходили нулевые, просто не чего бы не выводилось.
На вкус и цвет - разный CSS
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13159
Стаж: 15 лет 1 месяц
Благодарил (а): 236 раз
Поблагодарили: 3750 раз

Re: [RC] PM All in 1 - ЛС "Все включено"

Сообщение Татьяна5 »

ВладимирТ, относится, функция get_user_avatar в стандарте задана в functions_display.php, а в коде вызывается из functions.php

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

'AVATAR_PM'     => $row['user_avatar'] ? get_user_avatar(
Аватара пользователя
ВладимирТ
phpBB 2.0.4
Сообщения: 421
Стаж: 16 лет 3 месяца
Откуда: Москва
Благодарил (а): 52 раза
Поблагодарили: 75 раз

Re: [RC] PM All in 1 - ЛС "Все включено"

Сообщение ВладимирТ »

Блин, вспомнил, не будет определена функция на тех страницах, где не подключается includes/functions_display.php, в нем надо найти

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

/**
* Get user avatar
*
* @param string $avatar Users assigned avatar name
* @param int $avatar_type Type of avatar
* @param string $avatar_width Width of users avatar
* @param string $avatar_height Height of users avatar
* @param string $alt Optional language string for alt tag within image, can be a language key or text
* @param bool $ignore_config Ignores the config-setting, to be still able to view the avatar in the UCP
*
* @return string Avatar image
*/
function get_user_avatar($avatar, $avatar_type, $avatar_width, $avatar_height, $alt = 'USER_AVATAR', $ignore_config = false)
{
	global $user, $config, $phpbb_root_path, $phpEx;

	if (empty($avatar) || !$avatar_type || (!$config['allow_avatar'] && !$ignore_config))
	{
		return '';
	}

	$avatar_img = '';

	switch ($avatar_type)
	{
		case AVATAR_UPLOAD:
			if (!$config['allow_avatar_upload'] && !$ignore_config)
			{
				return '';
			}
			$avatar_img = $phpbb_root_path . "download/file.$phpEx?avatar=";
		break;

		case AVATAR_GALLERY:
			if (!$config['allow_avatar_local'] && !$ignore_config)
			{
				return '';
			}
			$avatar_img = $phpbb_root_path . $config['avatar_gallery_path'] . '/';
		break;

		case AVATAR_REMOTE:
			if (!$config['allow_avatar_remote'] && !$ignore_config)
			{
				return '';
			}
		break;
	}
И поставить этот код includes/functions.php перед
Не забыть удалить его из includes/functions_display.php
На вкус и цвет - разный CSS
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: [RC] PM All in 1 - ЛС "Все включено"

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

А как быть со смайлами и картинками в теге [ img][ /img]? И с другими тегами? Есть возможность победить? Лично я, что знал (а это почти ничего), попробовал, на этом мысль кончилась... Если в ЛС есть теги - окно даже теряет аву, автора и всю его менюшку...
file.JPG
file (1).JPG
У вас нет необходимых прав для просмотра вложений в этом сообщении.
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
ВладимирТ
phpBB 2.0.4
Сообщения: 421
Стаж: 16 лет 3 месяца
Откуда: Москва
Благодарил (а): 52 раза
Поблагодарили: 75 раз

Re: [RC] PM All in 1 - ЛС "Все включено"

Сообщение ВладимирТ »

Действительно, теги будет видны как текст, то есть что записано в базу, то и выдаст, но пропадать по идеи другое вроде не должно.
Надо будет подумать на досуге, как сделать или отключить все теги и смайлы для личных сообщений...
На вкус и цвет - разный CSS
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: [RC] PM All in 1 - ЛС "Все включено"

Сообщение Sheer »

Пчелкин писал(а):А как быть со смайлами и картинками
ВладимирТ писал(а):как сделать
А парсить надо. Ибо
Вот это

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

					'S_PM_TEXT'	    => $row['message_text'],
неправильно
Так надо

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

	$sql = "SELECT p.msg_id, p.author_id, p.message_subject, p.message_text, p.message_time, p.bbcode_bitfield, p.bbcode_uid, u.username, u.user_avatar, u.user_avatar_type, u.user_avatar_width, u.user_avatar_height
				FROM " . PRIVMSGS_TABLE . " AS p, " . USERS_TABLE . " AS u
				WHERE p.message_time = $pm_user_last_privmsg
					AND p.author_id = u.user_id
					AND p.to_address = '$pm_user_id'";
	$result = $db->sql_query($sql);
	$row = $db->sql_fetchrow($result);
	$message = $row['message_text'];
	$bbcode_bitfield = true;
	$bbcode = new bbcode(base64_encode($bbcode_bitfield));
	// Second parse bbcode here
	if ($row['bbcode_bitfield'])
	{
		$bbcode->bbcode_second_pass($message, $row['bbcode_uid'], $row['bbcode_bitfield']);
	}

	$message = bbcode_nl2br($message);
	$message = smiley_text($message);
	// Assign specific vars
	$template->assign_vars(array(
		'S_PM_SENDER'	=> $row['username'],
		'S_PM_SUBJECT'	=> $row['message_subject'],
		'S_PM_TEXT'	    => $message,
		'S_PM_DATE'		=> $user->format_date($row['message_time'], $format = 'd.m.Y, H:i'),
		'AVATAR_PM'     => $row['user_avatar'] ? get_user_avatar($row['user_avatar'], $row['user_avatar_type'], ($row['user_avatar_width'] > $row['user_avatar_height']) ? 90 : (90 / $row['user_avatar_height']) * $row['user_avatar_width'], ($row['user_avatar_height'] > $row['user_avatar_width']) ? 90 : (90 / $row['user_avatar_width']) * $row['user_avatar_height']) : '',
		)
	);

	$db->sql_freeresult($result);
Предварительно нужно подключить

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

include($phpbb_root_path . 'includes/bbcode.' . $phpEx);
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: [RC] PM All in 1 - ЛС "Все включено"

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

Ага...вот теперь красота... мца-ца... Шас покажу...

Добавлено спустя 2 часа 28 минут 13 секунд:
Ну вот...
1109.jpg
Sheer писал(а):Предварительно нужно подключить
В functions_display.php что ль? А у кого этой строки там не может быть? Есть!!!
Или в другой файл? В какой? У МНЮ БЕЗ ПОДКЛЮЧЕНИЯ ЗАРАБОТАЛО, ТАК КАК ЕСТЬ В functions_display.php ...

Добавлено спустя 53 минуты 31 секунду:
Sheer писал(а):Предварительно нужно подключить
КОД PHP: ВЫДЕЛИТЬ ВСЁ
include($phpbb_root_path . 'includes/bbcode.' . $phpEx);
Куда? Матка босса..админка не открывается теперь...млин...такая красота умирает...

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

Fatal error: Class 'bbcode' not found in /var/www/newsite/data/www/fotovideoforum.ru/includes/functions.php on line 4636

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

	$result = $db->sql_query($sql);
	$row = $db->sql_fetchrow($result);
	$message = $row['message_text'];
	$bbcode_bitfield = true;
!!! 4636 - 	$bbcode = new bbcode(base64_encode($bbcode_bitfield));
	// Second parse bbcode here
	if ($row['bbcode_bitfield'])
	{
		$bbcode->bbcode_second_pass($message, $row['bbcode_uid'], $row['bbcode_bitfield']);
Добавлено спустя 20 минут 52 секунды:
Пока откатил до варианта без показа тегов...
У вас нет необходимых прав для просмотра вложений в этом сообщении.
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
ВладимирТ
phpBB 2.0.4
Сообщения: 421
Стаж: 16 лет 3 месяца
Откуда: Москва
Благодарил (а): 52 раза
Поблагодарили: 75 раз

Re: [RC] PM All in 1 - ЛС "Все включено"

Сообщение ВладимирТ »

Пчелкин писал(а):Куда? Матка босса..админка не открывается теперь...млин...такая красота умирает...
Красота не должна умереть

Например можно сюда вставить, найти

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

		'A_COOKIE_SETTINGS'		=> addslashes('; path=' . $config['cookie_path'] . ((!$config['cookie_domain'] || $config['cookie_domain'] == 'localhost' || $config['cookie_domain'] == '127.0.0.1') ? '' : '; domain=' . $config['cookie_domain']) . ((!$config['cookie_secure']) ? '' : '; secure')),
	));
Добавить после
На вкус и цвет - разный CSS
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: [RC] PM All in 1 - ЛС "Все включено"

Сообщение Sheer »

Ребяты, раз допилка вставляется в функцию page_header(), то класс bbcode должен подключаться там в ./includes/functions.php
Найти

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

			$bbcode_bitfield = true;
Добавить перед

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

			include_once($phpbb_root_path . 'includes/bbcode.' . $phpEx);
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
ВладимирТ
phpBB 2.0.4
Сообщения: 421
Стаж: 16 лет 3 месяца
Откуда: Москва
Благодарил (а): 52 раза
Поблагодарили: 75 раз

Re: [RC] PM All in 1 - ЛС "Все включено"

Сообщение ВладимирТ »

Спасибо за помощь, теперь совсем стало все правильно!
Осталось дело за мелочью, прикрутить быстрый ответ :)
На вкус и цвет - разный CSS
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: [RC] PM All in 1 - ЛС "Все включено"

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

Sheer писал(а):Ребяты, раз допилка вставляется в функцию page_header(), то класс bbcode должен подключаться там в
То есть, если проще - в твой же кусок кода? ...щас...проверим.... щас...

Добавлено спустя 11 минут 45 секунд:
Во!!!!!
snap1585.jpg
ВладимирТ писал(а):Осталось дело за мелочью, прикрутить быстрый ответ
Нееее....лучше голосовое управление всеми функциями...И даже набором текста в ответах...Это воще было б круто... :lol: :lol: :lol:
Можно тогда и пЫво попивать и ышо кое что сразу делать.... :lol: :lol: :lol:

Все заработало как надо...Ошибок в логе дебаггера НЕТ!!!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
ВладимирТ
phpBB 2.0.4
Сообщения: 421
Стаж: 16 лет 3 месяца
Откуда: Москва
Благодарил (а): 52 раза
Поблагодарили: 75 раз

Re: [RC] PM All in 1 - ЛС "Все включено"

Сообщение ВладимирТ »

Что то не работает у меня....
Сообщение.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
На вкус и цвет - разный CSS
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: [RC] PM All in 1 - ЛС "Все включено"

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

Вместо "по инструкции от мода" вставляй это -

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

           $pm_user_id = 'u_' . $user->data['user_id'];
			$pm_user_last_privmsg = $user->data['user_last_privmsg'];	
				
         	$sql = "SELECT p.msg_id, p.author_id, p.message_subject, p.message_text, p.message_time, p.bbcode_bitfield, p.bbcode_uid, u.username, u.user_avatar, u.user_avatar_type, u.user_avatar_width, u.user_avatar_height
        				FROM " . PRIVMSGS_TABLE . " AS p, " . USERS_TABLE . " AS u
        				WHERE p.message_time = $pm_user_last_privmsg
        					AND p.author_id = u.user_id
        					AND p.to_address = '$pm_user_id'";
        	$result = $db->sql_query($sql);
        	$row = $db->sql_fetchrow($result);
        	$message = $row['message_text'];
			include_once($phpbb_root_path . 'includes/bbcode.' . $phpEx);			
        	$bbcode_bitfield = true;
         	$bbcode = new bbcode(base64_encode($bbcode_bitfield));
         	// Second parse bbcode here
        	if ($row['bbcode_bitfield'])
        	{
        		$bbcode->bbcode_second_pass($message, $row['bbcode_uid'], $row['bbcode_bitfield']);
        	}

        	$message = bbcode_nl2br($message);
        	$message = smiley_text($message);
        	// Assign specific vars
        	$template->assign_vars(array(
        		'S_PM_SENDER'	=> $row['username'],
        		'S_PM_SUBJECT'	=> $row['message_subject'],
        		'S_PM_TEXT'	    => $message,
        		'S_PM_DATE'		=> $user->format_date($row['message_time'], $format = 'd.m.Y, H:i'),
        		'AVATAR_PM'     => $row['user_avatar'] ? get_user_avatar($row['user_avatar'], $row['user_avatar_type'], ($row['user_avatar_width'] > $row['user_avatar_height']) ? 90 : (90 / $row['user_avatar_height']) * $row['user_avatar_width'], ($row['user_avatar_height'] > $row['user_avatar_width']) ? 90 : (90 / $row['user_avatar_width']) * $row['user_avatar_height']) : '',
        		)
        	);

    	        $db->sql_freeresult($result);
А эту свою правку убери - верни все на место...
[RC] PM All in 1 - ЛС "Все включено"
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70

Вернуться в «Бета-версии модов для phpBB 3.0.x»