Avatar index viewforum [Авы топистартера и ответившего]

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Dimanok
phpBB 1.2.0
Сообщения: 14
Стаж: 17 лет 5 месяцев
Откуда: Саратов
Благодарил (а): 2 раза

Re: avatar_index_viewforum121a

Сообщение Dimanok »

Вообщем-то я нашёл причину. Посмотрел исходный код форума на котором всё работает нормально:

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

<dd class="lastpost"><div style="float: left; padding-top: 0px; margin-left: 5px; margin-right: 5px;"><img src="#" width="35" height="35" alt="Аватара пользователя" /></div><span>
Здесь как мы видим заданы размеры width="35" height="35"
Теперь смотрим эту же строку кода но на моём форуме:

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

<dd class="lastpost"><div style="float: left; padding-top: 0px; margin-left: 5px; margin-right: 5px;"><img src="#" width="" height="" alt="Аватара пользователя" /></div><span>
Здесь как мы видим параметры width="" height="" не заданы, соответственно по этому и не ресайзятся аватарки.
Посмотрел код с главной страницы форума:

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

<dd class="lastpost"><div style="float: left; padding-top: 0px; margin-left: 5px; margin-right: 5px;"><img src="#" width="40" height="40" alt="Аватара пользователя" /></div><span>
Здесь параметры width="40" height="40" заданы и аватары ресайзятся.
Вобщем, кто поймёт как исправить - буду благодарен. Картину расписал думаю очень подробно.
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: avatar_index_viewforum121a

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

Внимание всем, у кого не ресайзятся аватары в категориях, форумах и подфорумах!
Внимание всем, у кого не видно аватаров в ИЕ !

Не майтесь дурью и берите свой functions_display.php
Теперь код

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

		$avatar_max_dimensions = $avatar_width = $avatar_height = '';
		if ( !empty($row['forum_last_poster_avatar']) )
		{
			$avatar_max_dimensions = 40; // here you can change the max-width you would like to have the avatars displayed
		
			if ( $row['forum_last_poster_avatar_width'] >= $row['forum_last_poster_avatar_height'] )
			{
				$avatar_width = ( $row['forum_last_poster_avatar_width'] > $avatar_max_dimensions ) ? $avatar_max_dimensions : $row['forum_last_poster_avatar_width'] ;
				$avatar_height = ( $avatar_width == $avatar_max_dimensions ) ? round($avatar_max_dimensions / $row['forum_last_poster_avatar_width'] * $row['forum_last_poster_avatar_height']) : $row['forum_last_poster_avatar_height'] ;
			}
			else 
			{
				$avatar_height = ( $row['forum_last_poster_avatar_height'] > $avatar_max_dimensions ) ? $avatar_max_dimensions : $row['forum_last_poster_avatar_height'] ;
				$avatar_width = ( $avatar_height == $avatar_max_dimensions ) ? round($avatar_max_dimensions / $row['forum_last_poster_avatar_height'] * $row['forum_last_poster_avatar_width']) : $row['forum_last_poster_avatar_width'] ;
			}
		}
Вставляйте не перед первой найденной строчкой

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

$template->assign_block_vars('forumrow', array(
А перед второй!!!
Обратите внимание что ниже строки

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

$template->assign_block_vars('forumrow', array(
должна быть строка

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

'S_IS_CAT'			=> false,
а не

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

'S_IS_CAT'				=> true,

Вот и вся причина!!!
Окно поиска от Блокнота ++ не вмещает в себя строку

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

'S_IS_CAT'			=> false,
Поэтому поиск по файлу functions_display.php предлагает не ТУ СТРОКУ...
И все.. и будет вам счастье.
У меня теперь аватары первого и последнего автора видны и в ИЕ и в Опере и В Хроме ресайзнутые! Ура!
Тока что все это сам надыбал..Вот не заметил сразу....

Добавлено спустя 17 минут 3 секунды:
Читай внимательно! Ничего выставлять не надо Там это в двух местах!
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: avatar_index_viewforum121a

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

NeAdmin ! Вы там в своем файле functions_posting.php основательно напортачили..
Давайте сюда нетронутый вашим автомодом данный файл до установки мода - сабжа..
И второе - спать...а потом прочесть тему http://www.phpbbguru.net/kb/modding/how-to-install-mod....
Так как вы даже инструкцию на русском не видите..мдя..
Что за

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

"In-line Find"
? Инструкция на русском должна быть...
Короче -чистый файл сюда..
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
NeAdmin
phpBB 1.4.0
Сообщения: 32
Стаж: 15 лет 9 месяцев
Благодарил (а): 7 раз
Поблагодарили: 2 раза

Re: avatar_index_viewforum121a

Сообщение NeAdmin »

3.0.8 без модов functions_posting.zip
3.0.9 без модов functions_posting.zip
именно в нем, 1496 строке есть

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

			$sql_data[TOPICS_TABLE] = 'topic_poster = ' . intval($row['poster_id']) . ', topic_first_post_id = ' . intval($row['post_id']) . ", topic_first_poster_colour = '" . $db->sql_escape($row['user_colour']) . "', topic_first_poster_name = '" . (($row['poster_id'] == ANONYMOUS) ? $db->sql_escape($row['post_username']) : $db->sql_escape($row['username'])) . "', topic_time = " . (int) $row['post_time'];
	
в инструкции по установке, нужно найти

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

			$sql_data[TOPICS_TABLE] = '
далее "Найти в строке
Подсказка: Этот код должен совпадать с частью ранее найденной строки.

"

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

$db->sql_escape($row['username'])) . "'";
"Заменить код в строке на следующий
"

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

$db->sql_escape($row['username'])) . "', topic_first_poster_avatar = '" . $db->sql_escape($row['user_avatar']) . "', topic_first_poster_avatar_type = " . (int) $row['user_avatar_type'] . ', topic_first_poster_avatar_width = ' . (int) $row['user_avatar_width'] . ', topic_first_poster_avatar_height = ' . (int) $row['user_avatar_height'];
но ни automod, ни я не можем найти

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

$db->sql_escape($row['username'])) . "'";
:!:
3.0.9 после automod functions_posting.zip
Добавлено спустя 2 минуты 15 секунд:
лог AutoMOD.zip
У вас нет необходимых прав для просмотра вложений в этом сообщении.
phpbb version: 3.0.11
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: avatar_index_viewforum121a

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

NeAdmin писал(а): 3.0.9 без модов functions_posting.zip
functions_posting.php взятый и чистого установочного архива phpbb 3.0.9
(18.96 КБ) Скачиваний: 0
Вот не понял..у вас что модов еще нет на форме? Зачем вы чистый от чистого дистрибутива подсовываете? Я его и сам смогу найти.
Вы Ваш домодовский дайте...
И лог автомода не нужен...автомодом никогда пользоваться не буду..Он живет только до 5-8 модов на форуме..потом застреливается или начинает готовиться к суициду...

Добавлено спустя 30 минут:
Балбес ваш автомод...забирайте...похезал целую переменную анонимуса... :D
functions_posting.rar
У вас нет необходимых прав для просмотра вложений в этом сообщении.
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
NeAdmin
phpBB 1.4.0
Сообщения: 32
Стаж: 15 лет 9 месяцев
Благодарил (а): 7 раз
Поблагодарили: 2 раза

Re: avatar_index_viewforum121a

Сообщение NeAdmin »

Пчелкин писал(а):
NeAdmin писал(а): 3.0.9 без модов functions_posting.zip
functions_posting.php взятый и чистого установочного архива phpbb 3.0.9
(18.96 КБ) Скачиваний: 0
Вот не понял..у вас что модов еще нет на форме? Зачем вы чистый от чистого дистрибутива подсовываете? Я его и сам смогу найти.
моды на форуме есть! Будем считать что я с вложениями перестарался....
Вы Ваш домодовский дайте...

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

И лог автомода не нужен...автомодом никогда пользоваться не буду..Он живет только до 5-8 модов на форуме..потом застреливается или начинает готовиться к суициду...
учту ваше определение. Автомомдом пользуюсь с целью экономи времени(хоть и не могу пока скзать что сэкономил... :roll: )
Добавлено спустя 30 минут:

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

Балбес ваш автомод...забирайте...похезал целую переменную анонимуса... :D 
А можно в строку ткнуть пальцем? которую похезал....

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

[attachment=0]functions_posting.rar[/attachment][/quote]
Файлик Ваш залил. Работает. Спасибо. Теперь предстоит аддон прикрутить.... :geek:
phpbb version: 3.0.11
Аватара пользователя
NeAdmin
phpBB 1.4.0
Сообщения: 32
Стаж: 15 лет 9 месяцев
Благодарил (а): 7 раз
Поблагодарили: 2 раза

Re: avatar_index_viewforum121a

Сообщение NeAdmin »

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

Re: avatar_index_viewforum121a

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

NeAdmin писал(а):А можно в строку ткнуть пальцем? которую похезал....
Сравнивать два файла на предмет расхождений еще не можете? А опция полезная у Блокнота и коммандера есть.
Эта строка похезана...

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

			$sql_data[TOPICS_TABLE] = 'topic_poster = ' . intval($row['poster_id']) . ', topic_first_post_id = ' . intval($row['post_id']) . ", topic_first_poster_colour = '" . $db->sql_escape($row['user_colour']) . "', topic_first_poster_name = '" . (($row['poster_id'] == ANONYMOUS) ? $db->sql_escape($row['post_username']) : $db->sql_escape($row['username'])) . "', topic_time = " . (int) $row['post_time'];
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
NeAdmin
phpBB 1.4.0
Сообщения: 32
Стаж: 15 лет 9 месяцев
Благодарил (а): 7 раз
Поблагодарили: 2 раза

Re: avatar_index_viewforum121a

Сообщение NeAdmin »

компарить можем, я не вглядывался :oops:
phpbb version: 3.0.11
SISA
phpBB 1.0.0
Сообщения: 9
Стаж: 16 лет 9 месяцев
Благодарил (а): 1 раз

Re: avatar_index_viewforum121a

Сообщение SISA »

Помогите пожалуйста, что делать с:

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

$sql_data[TOPICS_TABLE] = '
В инструкции написано, что надо найти

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

$db->sql_escape($row['username'])) . "'"; 
в файле includes/functions_posting.php

Разумеется, в версии 3.0.9. этого нет. Вернее есть, но в измененном виде:

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

$db->sql_escape($row['username'])) . "', topic_time = " . (int) $row['post_time'];
Несколькими постами выше, товарищ Пчелкин якобы всё исправил, но на самом деле он просто взял код из 3.0.6, при этом похерил функцию:

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

topic_time = " . (int) $row['post_time']
И как в итоге переписать код с учетом изменений я так и не понял.


Кто-нибудь может дать нормальную переписанную функцию под 3.0.9 ?
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: avatar_index_viewforum121a

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

Ну дак сделайте не хезая...функция выборки времени там не нужна..
На основном форуме данная строка (где 323 мод) такая...

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

			$sql_data[TOPICS_TABLE] = 
						'topic_poster = ' . intval($row['poster_id']) . 
						', topic_first_post_id = ' . intval($row['post_id']) . 
						", topic_first_poster_colour = '" . $db->sql_escape($row['user_colour']) . 
						"', topic_first_poster_name = '" . (($row['poster_id'] == ANONYMOUS) ? $db->sql_escape($row['post_username']) : $db->sql_escape($row['username'])) . 
						"', topic_first_poster_avatar = '" . $db->sql_escape($row['user_avatar']) . 
						"', topic_first_poster_avatar_type = " . (int) $row['user_avatar_type'] . 
						', topic_first_poster_avatar_width = ' . (int) $row['user_avatar_width'] . 
						', topic_first_poster_avatar_height = ' . (int) $row['user_avatar_height'];
и таймерная выборка

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

topic_time = " . (int) $row['post_time']
почему то не нужна..она в файле есть в другом месте..

Добавлено спустя 1 минуту 1 секунду:
SISA писал(а):он просто взял код из 3.0.6
С чего бы это такой вывод?
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
SISA
phpBB 1.0.0
Сообщения: 9
Стаж: 16 лет 9 месяцев
Благодарил (а): 1 раз

Re: avatar_index_viewforum121a

Сообщение SISA »

Спасибо. Если функция выборки времени не нужна (хотя я так и не понял, зачем её туда дописали), тогда вопрос снимается. В таком случае да, ваш код подходит.
С чего бы это такой вывод?
Потому что функция "topic_time = " . (int) $row['post_time']" отсутствовала.
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: avatar_index_viewforum121a

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

Где то была тема по оптимизации некоторых запросов из инклудов..там об этом писалось.
Дублирование некоторых запросов - просто лишние...
ПыСы...не всем это подойдет...
Последний раз редактировалось Пчелкин 25.09.2011 10:15, всего редактировалось 1 раз.
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: avatar_index_viewforum121a

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

SISA
SISA писал(а):похерил функцию:
topic_time = " . (int) $row['post_time']
Я вспомнил..кажется это функция "поднять тему" Но у меня она вырублена..поэтому просто не заморачивался..
А если вам она нужна - надо хитрить с вставкой правки в это место..счас на Денвере поэкспериментирую...

Добавлено спустя 55 минут 4 секунды:
Не нашел на что влияет отсутствие куска

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

topic_time = " . (int) $row['post_time']
Можно оставить и так -

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

			$sql_data[TOPICS_TABLE] = 
						'topic_poster = ' . intval($row['poster_id']) . 
						', topic_first_post_id = ' . intval($row['post_id']) . 
						", topic_first_poster_colour = '" . $db->sql_escape($row['user_colour']) . 
						"', topic_first_poster_name = '" . (($row['poster_id'] == ANONYMOUS) ? $db->sql_escape($row['post_username']) : $db->sql_escape($row['username'])) . 
                                               "', topic_time = " . (int) $row['post_time'] .
						"', topic_first_poster_avatar = '" . $db->sql_escape($row['user_avatar']) . 
						"', topic_first_poster_avatar_type = " . (int) $row['user_avatar_type'] . 
						', topic_first_poster_avatar_width = ' . (int) $row['user_avatar_width'] . 
						', topic_first_poster_avatar_height = ' . (int) $row['user_avatar_height'];
;)
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
SISA
phpBB 1.0.0
Сообщения: 9
Стаж: 16 лет 9 месяцев
Благодарил (а): 1 раз

Re: avatar_index_viewforum121a

Сообщение SISA »

Спасибо Пчелкин, вроде всё работает. Но теперь наткнулся на другие грабли в лице плагина Universal No Avatar
Да-да, здесь и на оф. форуме эта тема затрагивалась и код я нашел и вроде он даже работает, но не всегда...

С functions_display.php проблем нет (аватарка no_avatar.gif ресайзится), а вот когда дело доходит до viewforum.php, там получается полная белиберда. Ресайзятся они только в том случае, если топикстартер и ластпостер не имеют своих аватар. Если один из них имеет свою собственную аватарку, то no_avatar.gif не ресайзится. Ковырялся в таблице phpbb_topics, переустанавливал мод, плясал с бубном, игрался с функцией "$avatar_img = $avatar_max_dimensions = $topic_las......." и ничего не помогло. Основной группе "Зарегистрированные пользователи" не хочется ставить дефолтную аватарку, потому что это костыль, а не решение проблемы, тем более пользователь может её удалить, тогда форум вообще перекосится....

Вот, как это дело выглядит...
2454352134.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.

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