Avatar of poster on Index and Viewforum phpbb3

В данном подфоруме будут располагаться темы с анонсами интересных модификаций, а так же будут рассматриваться проверенные временем дополнения для phpBB3.

Модераторы: Vl@d1m1r, Lorem Ipsum, Atlas

Правила форума
----
Ответить
Аватара пользователя
akella1900
Хорошо тут живется
Хорошо тут живется
Сообщения: 1568
Стаж: 11 лет 3 месяца
Откуда: Слявный город Николяев :-)
Контактная информация:

Avatar of poster on Index and Viewforum phpbb3

Сообщение akella1900 »

я догадываюсь откуда этот файл))) с блока последние сообщения и там вы как раз и не видите свои авы )))
Последний раз редактировалось akella1900 13 фев 2013, 13:34, всего редактировалось 1 раз.
back'up придумали трусы Ваша воля моими руками, но платно. Стучим в skype akella1900.
#141
Аватара пользователя
tralan
Активно осваиваю Форум
Активно осваиваю Форум
Сообщения: 235
Стаж: 11 лет 3 месяца
Откуда: Таганрог
Контактная информация:

Avatar of poster on Index and Viewforum phpbb3

Сообщение tralan »

akella1900 писал(а):не нашел такого файла ни в инструкции к моду ни у себя на форуме, может он создается модом?
надо мне немного разобраться в своих изменениях. это файл - из аддона для последних сообщений.
Я еще пытался установить этот аддон, но походу забыл про него. Чувствую без этого аддона (этого файла), можно и поля удалить.
В любой непонятной ситуации – ложись спать!
#142
Аватара пользователя
tralan
Активно осваиваю Форум
Активно осваиваю Форум
Сообщения: 235
Стаж: 11 лет 3 месяца
Откуда: Таганрог
Контактная информация:

Avatar of poster on Index and Viewforum phpbb3

Сообщение tralan »

akella1900 писал(а):я догадываюсь откуда этот файл))) с блока последние сообщения и там вы как раз и не видите свои авы )))
ага, и не только там, но и еще случайные авы, выбираемые модом Default Random No Avatar
В любой непонятной ситуации – ложись спать!
#143
Аватара пользователя
akella1900
Хорошо тут живется
Хорошо тут живется
Сообщения: 1568
Стаж: 11 лет 3 месяца
Откуда: Слявный город Николяев :-)
Контактная информация:

Avatar of poster on Index and Viewforum phpbb3

Сообщение akella1900 »

если допишете код для тех модов правильно то и там отобразится
back'up придумали трусы Ваша воля моими руками, но платно. Стучим в skype akella1900.
#144
Аватара пользователя
tralan
Активно осваиваю Форум
Активно осваиваю Форум
Сообщения: 235
Стаж: 11 лет 3 месяца
Откуда: Таганрог
Контактная информация:

Avatar of poster on Index and Viewforum phpbb3

Сообщение tralan »

Все, наконец то поставился мод, и в последние сообщения тоже его прикрутил.
Ошибка моя была в том, что я аддон, предназначенный для версии 1.2.1 поставил на версию 1.3.0 и забыл об этом. :kli_ny: а подумал, что что-то не так с инсталлом. :smu:sche_nie:
Тем, кто ставит мод первый раз - делать по инструкции все правки и запускать скрипт db_update.php .

У кого этот мод работает с модом случайных аватарок? Почему-то у меня случайные не отображаются.
Спасибо Виталию за помощь, Сергею - за мод.
В любой непонятной ситуации – ложись спать!
#145
Аватара пользователя
tralan
Активно осваиваю Форум
Активно осваиваю Форум
Сообщения: 235
Стаж: 11 лет 3 месяца
Откуда: Таганрог
Контактная информация:

Avatar of poster on Index and Viewforum phpbb3

Сообщение tralan »

Фух, не получается прикрутить этот мод к моду Default Random No Avatar
Помогите заставить этот мод отображать случайные аватары!!!
:x
В любой непонятной ситуации – ложись спать!
#146
Аватара пользователя
DeaDRoMeO
Старожил Форума
Старожил Форума
Сообщения: 16763
Стаж: 13 лет
Откуда: Витебск
Контактная информация:

Avatar of poster on Index and Viewforum phpbb3

Сообщение DeaDRoMeO »

tralan, ссылку на инструкцию не напомните ?) Там вроде все не сложно
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
#147
Аватара пользователя
tralan
Активно осваиваю Форум
Активно осваиваю Форум
Сообщения: 235
Стаж: 11 лет 3 месяца
Откуда: Таганрог
Контактная информация:

Avatar of poster on Index and Viewforum phpbb3

Сообщение tralan »

Ох, уж и не помню, по моему где-то на вашем сайте было, я лучше приложу сам файл инсталляции
install_mod.rar
(2.95 КБ) 5 скачиваний
Да мод случайных аватар не сложный - он у меня работает.
Вот только в названиях тем вместо случайных аватар - пусто:

В любой непонятной ситуации – ложись спать!
#148
Аватара пользователя
DeaDRoMeO
Старожил Форума
Старожил Форума
Сообщения: 16763
Стаж: 13 лет
Откуда: Витебск
Контактная информация:

Avatar of poster on Index and Viewforum phpbb3

Сообщение DeaDRoMeO »

А такое пробовали делать - https://www.phpbb.com/customise/db/mod/ ... /faq/f_600
или это - http://www.phpbbguru.net/community/topi ... ml#p301114
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
#149
Аватара пользователя
tralan
Активно осваиваю Форум
Активно осваиваю Форум
Сообщения: 235
Стаж: 11 лет 3 месяца
Откуда: Таганрог
Контактная информация:

Avatar of poster on Index and Viewforum phpbb3

Сообщение tralan »

Это же все для версии 1.2.1а, а я поставил версию 1.3.0. из вашего анонса.
И там я так понял решается проблема с ресайзом картинок, в версии 1.3.0 размер устанавливается в АСР и все прекрасно работает.
Аватарки пользователей, которые сами себе их выбрали, выводятся так как надо, а вот аватарки подставляемые модом "Случайных аватарок" не выводятся.
В любой непонятной ситуации – ложись спать!
#150
Аватара пользователя
tralan
Активно осваиваю Форум
Активно осваиваю Форум
Сообщения: 235
Стаж: 11 лет 3 месяца
Откуда: Таганрог
Контактная информация:

Avatar of poster on Index and Viewforum phpbb3

Сообщение tralan »

Сергей, а у вас на форуме какая версия этого мода стоит?
В любой непонятной ситуации – ложись спать!
#151
Аватара пользователя
DeaDRoMeO
Старожил Форума
Старожил Форума
Сообщения: 16763
Стаж: 13 лет
Откуда: Витебск
Контактная информация:

Avatar of poster on Index and Viewforum phpbb3

Сообщение DeaDRoMeO »

У меня то стоит 1.2.1 , не хочу чего то обновлять, все нормально работает и ладно)
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
#152
Аватара пользователя
Lorem Ipsum
Прописался тут надолго
Прописался тут надолго
Сообщения: 1974
Стаж: 11 лет 7 месяцев
Контактная информация:

Avatar of poster on Index and Viewforum phpbb3

Сообщение Lorem Ipsum »

DeaDRoMeO писал(а):У меня то стоит 1.2.1 , не хочу чего то обновлять, все нормально работает и ладно)
Вот поэтому у тебя и работает. А с новой версией косяки, я вон сколько мучилась, да и бросила.
Я уже прошел тот период когда можно было забывать про очистку кеша ©salexcorp
#153
Аватара пользователя
tralan
Активно осваиваю Форум
Активно осваиваю Форум
Сообщения: 235
Стаж: 11 лет 3 месяца
Откуда: Таганрог
Контактная информация:

Avatar of poster on Index and Viewforum phpbb3

Сообщение tralan »

Эти версии по разному выводят аватары, например 1.3.0 через функцию: function user_display_avatar($row, $prefix = '', $tpl_switch, $display) , в которой есть строка:

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

		strtoupper($prefix) . '_POSTER_AVATAR' => get_user_avatar($avatar['avatar'], $avatar['type'], $avatar_width, $avatar_height),
а версия 1.2.1 сразу через функцию get_user_avatar

И мне кажется не выводятся случайные из-за параметра $avatar['avatar']

вот сейчас разбираюсь, если что получится - напишу обязательно.
В любой непонятной ситуации – ложись спать!
#154
Аватара пользователя
DeaDRoMeO
Старожил Форума
Старожил Форума
Сообщения: 16763
Стаж: 13 лет
Откуда: Витебск
Контактная информация:

Avatar of poster on Index and Viewforum phpbb3

Сообщение DeaDRoMeO »

Будем ждать, действительно в новой версии все иначе выводится
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
#155
Аватара пользователя
tralan
Активно осваиваю Форум
Активно осваиваю Форум
Сообщения: 235
Стаж: 11 лет 3 месяца
Откуда: Таганрог
Контактная информация:

Avatar of poster on Index and Viewforum phpbb3

Сообщение tralan »

Все таки удалось победить и мод "Случайных аватар" и "Последние сообщения" (для стиля subsilver2). Вот появилось свободное время и как обещал - пишу.
Немного теории (мне самому нравиться когда я понимаю что делаю, а не просто - мне так сказали).
Главное отличие версии 1.3.0 от 1.2.1 в том, что все значения (название файла аватарки, ширина, высота, тип) хранятся в одном поле БД, так называемая сериализованная запись, которая при необходимости обрабатывается и переводится (парсится) обратно в РНР-значение (кому интересно можно прочитать ), например:

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

a:4:{s:6:"avatar";s:16:"2_1331801136.gif";s:4:"type";i:1;s:5:"width";i:100;s:6:"height";i:100;}
.
Поэтому теперь происходит предварительная обработка в функции user_display_avatar полей forum_last_poster_avatar, topic_first_poster_avatar, topic_last_poster_avatar, а потом уже непосредственно получение аватарки в функции get_user_avatar (в functions_display.php).

Итак, мое решение проблемы:
Открываем functions_display.php, находим код функции:

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

//-- mod : apiv ----------------------------------------------------------------
//-- add
function user_display_avatar($row, $prefix = '', $tpl_switch, $display)
{
	if ( !$display || empty($row[$prefix . '_poster_avatar']) )
	{
		return;
	}

	global $config, $template;

	$avatar = unserialize($row[$prefix . '_poster_avatar']);
	if ( $avatar['width'] >= $avatar['height'] )
	{
		$avatar_width = ($avatar['width'] > $config['avatar_max_dimensions']) ? $config['avatar_max_dimensions'] : $avatar['width'];
		$avatar_height = ($avatar_width == $config['avatar_max_dimensions']) ? round($config['avatar_max_dimensions'] / $avatar['width'] * $avatar['height']) : $avatar['height'];
	}
	else
	{
		$avatar_height = ($avatar['height'] > $config['avatar_max_dimensions']) ? $config['avatar_max_dimensions'] : $avatar['height'];
		$avatar_width = ($avatar_height == $config['avatar_max_dimensions']) ? round($config['avatar_max_dimensions'] / $avatar['height'] * $avatar['width']) : $avatar['width'];
	}

	$template->alter_block_array($tpl_switch, array(
		strtoupper($prefix) . '_POSTER_AVATAR' => get_user_avatar($avatar['avatar'], $avatar['type'], $avatar_width, $avatar_height),
		strtoupper($prefix) . '_POSTER_AVATAR_MARGIN' => ($avatar_width == $config['avatar_max_dimensions']) ? 5 : ($config['avatar_max_dimensions'] - $avatar_width + 5),
	), true, 'change');
}
//-- fin mod : apiv ------------------------------------------------------------
и весь заменяем на:

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

//-- mod : apiv ----------------------------------------------------------------
//-- add
function user_display_avatar($row, $prefix = '', $tpl_switch, $display)
{
	global $config, $template;

	$avatar = unserialize($row[$prefix . '_poster_avatar']);
	if ( $avatar['width'] >= $avatar['height'] )
	{
		$avatar_width = ($avatar['width'] > $config['avatar_max_dimensions']) ? $config['avatar_max_dimensions'] : $avatar['width'];
		$avatar_height = ($avatar_width == $config['avatar_max_dimensions']) ? round($config['avatar_max_dimensions'] / $avatar['width'] * $avatar['height']) : $avatar['height'];
	}
	else
	{
		$avatar_height = ($avatar['height'] > $config['avatar_max_dimensions']) ? $config['avatar_max_dimensions'] : $avatar['height'];
		$avatar_width = ($avatar_height == $config['avatar_max_dimensions']) ? round($config['avatar_max_dimensions'] / $avatar['height'] * $avatar['width']) : $avatar['width'];
	}

	if ( !$display || empty($row[$prefix . '_poster_avatar']) )
	{
		$template->alter_block_array($tpl_switch, array(
			strtoupper($prefix) . '_POSTER_AVATAR' => get_user_avatar('', 0, 40, 40),
			strtoupper($prefix) . '_POSTER_AVATAR_MARGIN' => ($avatar_width == $config['avatar_max_dimensions']) ? 5 : ($config['avatar_max_dimensions'] - $avatar_width + 5),
		), true, 'change');
	}	
	else
	{
		$template->alter_block_array($tpl_switch, array(
			strtoupper($prefix) . '_POSTER_AVATAR' => get_user_avatar($avatar['avatar'], $avatar['type'], $avatar_width, $avatar_height),
			strtoupper($prefix) . '_POSTER_AVATAR_MARGIN' => ($avatar_width == $config['avatar_max_dimensions']) ? 5 : ($config['avatar_max_dimensions'] - $avatar_width + 5),
		), true, 'change');
	}
}
//-- fin mod : apiv ------------------------------------------------------------
Поясню. У пользователей, у которых есть свои аватарки, вышеуказанные поля будут заполнены, у которых нет - пустые.
Раньше, если поле было пустое, при проверки (empty):

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

	if ( !$display || empty($row[$prefix . '_poster_avatar']) )
	{
		return;
	}
ничего не происходило, мы просто вываливались из функции. Теперь же мы удаляем этот кусок кода и добавляем обработку пустых полей, вот здесь:

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

	if ( !$display || empty($row[$prefix . '_poster_avatar']) )
	{
		$template->alter_block_array($tpl_switch, array(
			strtoupper($prefix) . '_POSTER_AVATAR' => get_user_avatar('', 0, 40, 40),
			strtoupper($prefix) . '_POSTER_AVATAR_MARGIN' => ($avatar_width == $config['avatar_max_dimensions']) ? 5 : ($config['avatar_max_dimensions'] - $avatar_width + 5),
		), true, 'change');
	}	
Конечно немного коряво, например я пока не придумал как передать размер аватарки (переменной), задаваемый в настройках мода, и грубо вписал 40 (такое значение у меня стоит в настройках). Но работает, можно посмотреть:





Ну вот вроде бы и все. Буду рад, если кому-нибудь пригодится.
Конечно красоту вывода аватарок придется наводить в *.html файлах: forumlist_body.html, viewforum_body.html, recent_topics_body.html - это уже дело вкуса.

Если будет кому интересно, как я сделал в "Последних сообщения", то об этом чуть позже (через денек другой). Просто намечается небольшой юбилейчик :-00): , поэтому как только , так и сразу.
:yahoo:
Последний раз редактировалось tralan 18 фев 2013, 09:16, всего редактировалось 1 раз.
В любой непонятной ситуации – ложись спать!
#156
Аватара пользователя
Lorem Ipsum
Прописался тут надолго
Прописался тут надолго
Сообщения: 1974
Стаж: 11 лет 7 месяцев
Контактная информация:

Avatar of poster on Index and Viewforum phpbb3

Сообщение Lorem Ipsum »

tralan писал(а):Если будет кому интересно, как я сделал в "Последних сообщения", то об этом чуть позже
Разумеется, напиши. Много кому пригодится.
Я уже прошел тот период когда можно было забывать про очистку кеша ©salexcorp
#157
Аватара пользователя
boroda-max
Активно осваиваю Форум
Активно осваиваю Форум
Сообщения: 180
Стаж: 11 лет 4 месяца
Откуда: CCCР. Ленинград
Контактная информация:

Avatar of poster on Index and Viewforum phpbb3

Сообщение boroda-max »

tralan писал(а): Почему-то у меня случайные не отображаются.

У меня отобразились...только вопрос теперь как к "единому" привести...
#158
Аватара пользователя
boroda-max
Активно осваиваю Форум
Активно осваиваю Форум
Сообщения: 180
Стаж: 11 лет 4 месяца
Откуда: CCCР. Ленинград
Контактная информация:

Avatar of poster on Index and Viewforum phpbb3

Сообщение boroda-max »

tralan писал(а):Итак, мое решение проблемы:
Открываем functions_display.php, находим код функции:
после правки ;) задача пополнилась еще одним неизвестным ;)...
#159
Аватара пользователя
tralan
Активно осваиваю Форум
Активно осваиваю Форум
Сообщения: 235
Стаж: 11 лет 3 месяца
Откуда: Таганрог
Контактная информация:

Avatar of poster on Index and Viewforum phpbb3

Сообщение tralan »

boroda-max писал(а):У меня отобразились...только вопрос теперь как к "единому" привести...
Прежде всего давайте определимся: какая версия мода у вас стоит 1.2.1 или 1.3.0? Потому-что проблемы с ресазом аватарок были в версии 1.2.1, в этой теме об этом писалось и ссылки были на решение.
boroda-max писал(а):после правки задача пополнилась еще одним неизвестным ..
Странно, у меня такого не наблюдается, возможно из-за изменения условия проверки: когда проверяем пустое или не пустое поле, а может что-то не так с изменениями в шаблоне.
Вы могли бы выложить свой шаблон forumlist_body.html и файл functions_display.php или отправить их мне на почту tralan78@inbox.ru, я посмотрю.
В любой непонятной ситуации – ложись спать!
#160
Ответить