Полезная информация


----

Начать новую тему Ответить на тему
АвторСообщение

 Сообщение Avatar of poster on Index and Viewforum phpbb3 
#1 

Аватар пользователя

Введение

Давненько еще я установил одну чудесную модификацию для phpbb3, а именно Avatar of poster on Index and Viewforum. Чем она хороша? Да тем, что добавляет на главную страницу, напротив каждого подфорума, аватар того, кто последним ответил в темах конкретных подфорумов, а так же на странице просмотра подфорумов выводится аватар автора темы и последнего ответившего. Все это наглядно вы можете увидеть на нашем форуме, присмотритесь. Собственно сегодня хотелось бы проанонсировать данный мод.
Данная модификация интегрируется со следущими модами



Интеграция только для данной версии мода, на более новых версиях работать не будет
Вложение :
Комментарий к файлу: Avatar of poster on Index and Viewforum версия 1.2.1а
avatar_index_viewforum121a.zip [68.78 KiB]
Скачиваний: 169

Вывод аватар на страницу Активных тем(Новые сообщения, Непрочитанные сообщения и тд)

Открываем search.php и находим (первый найденный результат)
$tpl_ary = array(
 

Вставляем перед найденным
$avatar_img = $avatar_max_dimensions = $topic_last_poster_avatar_height = $topic_last_poster_avatar_width = $topic_first_poster_avatar_width = $topic_first_poster_avatar_height = '';
      
      if ( !empty($row['topic_first_poster_avatar']) || !empty($row['topic_last_poster_avatar']))
      {
      $avatar_max_dimensions = 40; // here you can change the max-width you would like to have the avatars displayed
      
         if ( $row['topic_first_poster_avatar_width'] >= $row['topic_first_poster_avatar_height'] )
         {
            $topic_first_poster_avatar_width = ( $row['topic_first_poster_avatar_width'] > $avatar_max_dimensions ) ? $avatar_max_dimensions : $row['topic_first_poster_avatar_width'] ;
            $topic_first_poster_avatar_height = ( $topic_first_poster_avatar_width == $avatar_max_dimensions ) ? round($avatar_max_dimensions / $row['topic_first_poster_avatar_width'] * $row['topic_first_poster_avatar_height']) : $row['topic_first_poster_avatar_height'] ;
         }
         else
         {
            $topic_first_poster_avatar_height = ( $row['topic_first_poster_avatar_height'] > $avatar_max_dimensions ) ? $avatar_max_dimensions : $row['topic_first_poster_avatar_height'] ;
            $topic_first_poster_avatar_width = ( $topic_first_poster_avatar_height == $avatar_max_dimensions ) ? round($avatar_max_dimensions / $row['topic_first_poster_avatar_height'] * $row['topic_first_poster_avatar_width']) : $row['topic_first_poster_avatar_width'] ;
         }

         if ( $row['topic_last_poster_avatar_width'] >= $row['topic_last_poster_avatar_height'] )
         {
            $topic_last_poster_avatar_width = ( $row['topic_last_poster_avatar_width'] > $avatar_max_dimensions ) ? $avatar_max_dimensions : $row['topic_last_poster_avatar_width'] ;
            $topic_last_poster_avatar_height = ( $topic_last_poster_avatar_width == $avatar_max_dimensions ) ? round($avatar_max_dimensions / $row['topic_last_poster_avatar_width'] * $row['topic_last_poster_avatar_height']) : $row['topic_last_poster_avatar_height'] ;
         }
         else
         {
            $topic_last_poster_avatar_height = ( $row['topic_last_poster_avatar_height'] > $avatar_max_dimensions ) ? $avatar_max_dimensions : $row['topic_last_poster_avatar_height'] ;
            $topic_last_poster_avatar_width = ( $topic_last_poster_avatar_height == $avatar_max_dimensions ) ? round($avatar_max_dimensions / $row['topic_last_poster_avatar_height'] * $row['topic_last_poster_avatar_width']) : $row['topic_last_poster_avatar_width'] ;
         }
         
      }
 

После найденного вставляем
'TOPIC_AUTHOR_AVATAR'      => ($config['enable_avatar_index']) ? get_user_avatar($row['topic_first_poster_avatar'], $row['topic_first_poster_avatar_type'], $topic_first_poster_avatar_width, $topic_first_poster_avatar_height) : false,
         'TOPIC_AUTHOR_AVATAR_MARGIN'   => ( $topic_first_poster_avatar_width == '' ) ? '' : (( $topic_first_poster_avatar_width == $avatar_max_dimensions ) ? 5 : ( $avatar_max_dimensions - $topic_first_poster_avatar_width + 5 )),
         'AVATAR_WIDTH'            => $avatar_max_dimensions ,
'LAST_POST_AUTHOR_AVATAR'   => ($config['enable_avatar_index']) ? get_user_avatar($row['topic_last_poster_avatar'], $row['topic_last_poster_avatar_type'], $topic_last_poster_avatar_width, $topic_last_poster_avatar_height) : false,
         'LAST_POST_AUTHOR_AVATAR_MARGIN'=> ( $topic_last_poster_avatar_width == $avatar_max_dimensions ) ? 5 : ( $avatar_max_dimensions - $topic_last_poster_avatar_width + 5 ),
 

Открываем шаблон search_results.html используемого стиля. Между условиями <!-- BEGIN searchresults --> и <!-- END searchresults --> располагается одна строка выводимой темы. Теперь тут на ваше усмотрение куда пихать код от мода, но
<!-- IF searchresults.TOPIC_AUTHOR_AVATAR -->{searchresults.TOPIC_AUTHOR_AVATAR}<!-- ENDIF -->
 

Выводит аватару автора темы, а
<!-- IF searchresults.LAST_POST_AUTHOR_AVATAR --> {searchresults.LAST_POST_AUTHOR_AVATAR}<!-- ENDIF -->
 

Выводит аватару последнего ответившего. Так что верстайте под свои стили сами

Установка

Сама по себе модификация легка в установке, правок правда многовато, но они не трудные. Скачиваем архив с модом и устанавливаем по инструкции

Внимание !!! В инструкции к моду автор допустил ошибку, в правке файла includes\functions_admin.php
Нужно найти
 // These are fields that will be synchronised
         $fieldnames = array(
 

И вставить после найденного код
//-- mod : apiv ----------------------------------------------------------------
//-- add
         $fieldnames += array('first_poster_avatar', 'last_poster_avatar');
//-- fin mod : apiv ------------------------------------------------------------
 

Но вставить его надо таким образом, чтобы получилось
 // These are fields that will be synchronised
         $fieldnames = array('time', 'replies', 'replies_real', 'poster', 'first_post_id', 'first_poster_name', 'first_poster_colour', 'last_post_id', 'last_post_subject', 'last_post_time', 'last_poster_id', 'last_poster_name', 'last_poster_colour');
//-- mod : apiv ----------------------------------------------------------------
//-- add
         $fieldnames += array('first_poster_avatar', 'last_poster_avatar');
//-- fin mod : apiv ------------------------------------------------------------
 

Для руссификации скачиваем архив, прикрепленный ниже и единственную папку распаковываем в корень форума
Вложение :
Комментарий к файлу: Руссификация модификации Avatar of poster on Index and Viewforum
langudfgage.rar [1.18 KiB]
Скачиваний: 141

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


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!

Теги темы
Avatar of poster on Index and Viewforum phpbb3, аватары, аватары на главной форума phpbb3, аватар последнего ответившего phpbb3,аватар автора темы phpbb3

Последний раз редактировалось DeaDRoMeO 02 окт 2013, 12:33, всего редактировалось 5 раз(а).
Обновлена версия мода
          Вернуться наверх  
 

#2 

Аватар пользователя

В одной правке надо такой код
$db->sql_escape($row['username'])) . "'";
 

найти и заменить, а у меня был такой
$db->sql_escape($row['username'])) . "',
 

я его и заменил, теперь страницы тем не работают, а лог ошибок говорит
Цитата:
[Sun Aug 26 00:49:31 2012] [error] [client 213.87.131.72] PHP Parse error: syntax error, unexpected '=' in /home/u325176/remont-onlain.ru/www/includes/functions_posting.php on line 1514, referer:
Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку

Код, который надо заменить у меня есть, но совсем в другом месте.
Подскажи что делать


_________________
Подпись:
Зри в корень
          Вернуться наверх  
 

#3 

Аватар пользователя

Давай ка сюда
1) Код который надо было найти
2) Код который надо было вставить вместо найденного
3) Код который у тебя был
4) Код который получился в результате правок


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 

#4 

Аватар пользователя

1)
$db->sql_escape($row['username'])) . "'";
 

2)
$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'];
 

3)
$db->sql_escape($row['username'])) . "',
 

в этой строке
$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'];
 

4)Вся строка сейчас
$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'];
 


_________________
Подпись:
Зри в корень
          Вернуться наверх  
 

#5 

Аватар пользователя

А если полученный кусок сделать таким ?
$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'];
 

Тобишь найти строку
$db->sql_escape($row['username'])) . "', topic_time = " . (int) $row['post_time'];
 

И заменить ее на вышенаписанный мною код


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 

#6 

Аватар пользователя

Иххаааа, заработала! :ya_hoo_oo:


_________________
Подпись:
Зри в корень
          Вернуться наверх  
 

#7 

Аватар пользователя

Ну и отлично, поздравляю :co_ol:


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 

#8 

Аватар пользователя

Удалось установить, хотя и муторно... Подсказка Строю очень пригодилась, так как и у меня такая же проблема !?!?!?! Во как бывает.


          Вернуться наверх  
 

#9 

Аватар пользователя

Для этого и существует форум и все его темы с сообщениями, чтобы другие учились на чужих ошибках либо находили правильное решение)))


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

DeaDRoMeO
Скажи, а это создаёт какую-нибудь дополнительную нагрузку, вывод всех этих аватарок?


_________________
Подпись:
Я уже прошел тот период когда можно было забывать про очистку кеша ©salexcorp
          Вернуться наверх  
 


Аватар пользователя

Разумеется, небольшой прирост нагрузки есть, но картинки вроде закешируются браузером, а количество запросов к БД возрастет на незначительное количество


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

Установил мод очень нужная вещь. Только подскажите пож. как уменьшить размер аватарок на главной странице форума. Дальше они небольшого (нормального) размера - но на основной станице просто ОГРОМНЫЕ.!.
Буду очень благодарен за помощь.
СпС.



Информация о редактировании
Последний раз редактировалось Артур Пиражков 10 сен 2012, 01:12, всего редактировалось 1 раз.
          Вернуться наверх  
 


Аватар пользователя

Артур Пиражков писал(а):

Дальше они небольшого (нормального) размера - но на основной станице просто ОГРОМНЫЕ.!.

Может ошиблись при правке кода ??раз в одном месте все нормально, а в другом плохо. Попробуйте еще это
Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

Огромное спасибо! Эта правка всё вылечила. Очень полезный форум. И всегда четкие и правельные ответы.
Отдельный РЕСПЕКТ DeaDRoMeO! :drinks:


          Вернуться наверх  
 


Аватар пользователя

И вам пасиба за хорошие слова, рад был помочь))


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

Как запустить avatar update.php выскакивает страница с логином и паролем? Папки Umil нет.


          Вернуться наверх  
 


Аватар пользователя

Форум где находится? На денвере ? Что за страница с логином и паролем ? Подробней надо


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

на localhost (Vertrigo serv 2.28) визуально на страницу входа в конференцию)


          Вернуться наверх  
 


Аватар пользователя

Админка - Общие - Настройки cookies , вот и настройте куки нормально ибо в строке появляется идентификатор сессии sid(циферки и буковки), который вы стираете из адресной строки и поэтому не удается скрипт запустить


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

а вообще не заходит не могу сделать ввожу логин и пароль и пустая страница


          Вернуться наверх  
 
 
Начать новую тему Ответить на тему


Дополнительные возможности

  Похожие темы  Автор  Ответов  Просмотров  Последнее сообщение 
Аватар пользователя Random No Avatar phpbb3 (случайная аватара по умолчанию)
Random No Avatar - модификация для phpbb3, автоматически назначающая случайную аватару пользователю если он самостоятельно ее не установил

DeaDRoMeO

83

5156

Аватар пользователя

29 апр 2014, 17:09

Князь Мышкин

Аватар пользователя Index SEO
Index SEO phpbb3 - прекрасный мод в плане СЕО оптимизации для форумов phpbb3, позволит вам задать описание и список ключевых слов для главной страницы

DeaDRoMeO

154

11502

Аватар пользователя

13 мар 2015, 19:09

белк

Аватар пользователя Лог регистраций phpbb3
Лог регистраций phpbb3 - полезное в администрировании дополнение для phpbb3, данная модификация ведет лог всех ответов пользователей при регистрации

DeaDRoMeO

125

12107

Аватар пользователя

05 дек 2015, 20:27

Чародейка

Аватар пользователя BAN redirect URL phpbb3
BAN redirect URL - модификация для phpbb3, позволяющая перенаправлять заблокированных пользователей по любому адресу

DeaDRoMeO

21

4949

Аватар пользователя

16 июн 2014, 05:05

DeaDRoMeO

Аватар пользователя Forum SEO phpbb3
Forum SEO phpbb3 - прекрасный мод в плане СЕО оптимизации для форумов phpbb3, позволит вам задать описание и список ключевых слов для каждого раздела и подфорума.

DeaDRoMeO

249

16817

Аватар пользователя

16 дек 2014, 05:43

DeaDRoMeO

Оставить свой комментарий

Поделиться темой с помощью

Ссылки на тему

Прямая ссылка:
BB-код для форумов, сайтов, блогов:
HTML ссылка:
 


cron

Самая неформальная поддержка phpBB :P