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


----

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

 Сообщение Avatar of poster on Index and Viewforum phpbb3 2012-05-20

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

Введение

Давненько еще я установил одну чудесную модификацию для 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]
Скачиваний: 170

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

Открываем 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 раз(а).
Обновлена версия мода
          Вернуться наверх  
 


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

В догонку для boroda-max
Вот посмотрите код моего шаблона forumlist_body.html (subsilver2)
Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку


Вот что получается: если в форуме есть сообщения, то и будет дата и время последнего сообщения: forumrow.LAST_POST_TIME
Если есть время последнего сообщения: <!-- IF forumrow.LAST_POST_TIME -->
то будет выполняться блок (1), где происходит вывод аватара случайного или пользовательского.
Если нет времени последнего сообщения
то будет выполняться блок (2), где происходит вывод надписи "Нет сообщений".

У вас где-то здесь ошибка.


_________________
Подпись:
В любой непонятной ситуации – ложись спать!
          Вернуться наверх  
 


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

Александр - спасибо большое, благодаря Вам! код стал
//-- 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'];
       $avatar_max_dimensions = $avatar_width = $avatar_height = 40;
   }
   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'];
       $avatar_max_dimensions = $avatar_width = $avatar_height = 40;
   }

   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 ------------------------------------------------------------
 
и все заработало! ;) (даже с "отражением")


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


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

Очень рад, что удалось Вам помочь.

boroda-max писал(а):

(даже с "отражением")

Ух-ты, а это как? Скриншот глянуть можно?

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

этот код мы удаляем. Посмотрите внимательно мое сообщение и разницу кодов функции до и после замены!!!
Если у Вас работает такой вариант функции, то это очень и очень странно


_________________
Подпись:
В любой непонятной ситуации – ложись спать!
          Вернуться наверх  
 


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

на странице индекса
Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку


профиль...
Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку


;) Александр, почту Вам отправил...



Информация о редактировании
Последний раз редактировалось boroda-max 18 фев 2013, 09:39, всего редактировалось 1 раз.
          Вернуться наверх  
 


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

tralan писал(а):

разницу кодов функции до и после замены!!!

удалил, очистил кэш......результат тот же ;) работает все-кроме блока "ПОСЛЕДНИЕ ТЕМЫ"....танцы с бубном и чтение мантр - не помогли....правки
Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку
и
Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку
и
Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку
и
Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку
помогли частично))))



настройки 9 на страницу


все на одной


то есть на "лицо" не благотворное влияние Луны ;)


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


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

boroda-max писал(а):

удалил, очистил кэш......результат тот же работает все-кроме блока "ПОСЛЕДНИЕ ТЕМЫ"

этот код там просто лишний. Все мои изменения - только для вывода Случайных аватарок в списке форумов и в списке тем. Для последних сообщений - я правил файлы includes\functions_recenttopics.php и styles\ВАШ СТИЛЬ\template\recent_topics_body.html.
К сожалению у меня стиль subsilver2 и правки для Последних сообщений я делал у себя под этот стиль.

boroda-max писал(а):

Александр, почту Вам отправил...

Получил. Но в свете Ваших последних сообщений, что все заработало, уже наверное не актуально.
Я бы мог посмотреть Ваши файлы includes\functions_recenttopics.php и styles\ВАШ СТИЛЬ\template\recent_topics_body.html (если пришлете в последней редакции), может смог бы Вам что-то посоветовать насчет "Последних сообщений"


_________________
Подпись:
В любой непонятной ситуации – ложись спать!
          Вернуться наверх  
 


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

В продолжении своего сообщения - теперь об объединении этого мода и "Последних сообщений" для стиля subsilver2
Правка затрагивает файлы /includes/functions_recenttopics.php и /styles/ВАШ СТИЛЬ/template/recent_topics_body.html. Все по аналогии изменений в файлах viewforum.php и /styles/ВАШ СТИЛЬ/template/viewforum_body.html

Открываем /includes/functions_recenttopics.php.
находим:
      'U_VIEW_TOPIC'         => $view_topic_url,
      'U_VIEW_FORUM'         => $view_forum_url,
      'U_MCP_REPORT'         => append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=reports&amp;mode=reports&amp;f=' . $forum_id . '&amp;t=' . $topic_id, true, $user->session_id),
      'U_MCP_QUEUE'         => $u_mcp_queue,
      'S_TOPIC_TYPE_SWITCH'   => ($s_type_switch == $s_type_switch_test) ? -1 : $s_type_switch_test,
   ));
 

вставляем после:
//-- mod : apiv ----------------------------------------------------------------
//-- add
   if ( $config['avatar_topics_last_poster_show'] )
   {
      $template->assign_var('AVATAR_MAX_DIMENSIONS', $config['avatar_max_dimensions']);
   }
   user_display_avatar($row, 'topic_first', 'recenttopicrow', $config['avatar_topics_first_poster_show']);
   user_display_avatar($row, 'topic_last', 'recenttopicrow', $config['avatar_topics_last_poster_show']);
//-- fin mod : apiv ------------------------------------------------------------
 


Открываем /styles/ВАШ СТИЛЬ/template/recent_topics_body.html.
находим:
<!-- IF recenttopicrow.S_UNREAD_TOPIC --><a href="{recenttopicrow.U_NEWEST_POST}">{NEWEST_POST_IMG}</a><!-- ENDIF -->
 

вставляем перед:
            <!-- IF recenttopicrow.TOPIC_FIRST_POSTER_AVATAR -->
            <table>
            <tr>
               <td width="{AVATAR_MAX_DIMENSIONS}">{recenttopicrow.TOPIC_FIRST_POSTER_AVATAR}</td>
               <td>
               <!-- ENDIF -->
 


находим:
            </td>
            <td class="row1" width="50" align="center"><p class="topicdetails">{recenttopicrow.REPLIES}</p></td>
 

вставляем перед:
               <!-- IF recenttopicrow.TOPIC_FIRST_POSTER_AVATAR -->
               </td>
            </tr>
            </table>
            <!-- ENDIF -->
 


находим:
               <p class="topicdetails" style="white-space: nowrap;">{recenttopicrow.LAST_POST_TIME}</p>
 

вставляем перед:
            <!-- IF recenttopicrow.TOPIC_LAST_POSTER_AVATAR -->
            <table>
            <tr>
               <td width="{AVATAR_MAX_DIMENSIONS}">{recenttopicrow.TOPIC_LAST_POSTER_AVATAR}</td>
               <td>
            <!-- ENDIF -->
 


находим:
            </td>
         </tr>

      <!-- BEGINELSE -->
 

вставляем перед:
            <!-- IF recenttopicrow.TOPIC_LAST_POSTER_AVATAR -->
               </td>
            </tr>
            </table>
            <!-- ENDIF -->
 


И еще для красивости находим строки:
               <p class="gensmall">{L_POST_BY_AUTHOR} {recenttopicrow.LAST_POST_AUTHOR_FULL}
               {L_POSTED_ON_DATE} {recenttopicrow.LAST_POST_TIME}
 


в них LAST_POST_AUTHOR_FULL заменяем на TOPIC_AUTHOR_FULL, чтобы показать автора темы (первого сообщения), а не последнего.
в них LAST_POST_TIME заменяем на FIRST_POST_TIME, чтобы показать время первого сообщения (время создания темы), а не последнего сообщения

Не забываем сохранять изменения, чистить кеш. Ну и всего наилучшего!!!

И на всякий случай, так как изменения немного сложноваты, прикладываю свой файл:
Вложение :
recent_topics_body.rar [1.69 KiB]
Скачиваний: 2


_________________
Подпись:
В любой непонятной ситуации – ложись спать!
          Вернуться наверх  
 


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

Спасибо отличный материал)))


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


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

tralan, Александр, спасибо большое! Но мод упорно выборочно подставляет аватарки......


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


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

boroda-max писал(а):

Но мод упорно выборочно подставляет аватарки

У вас только в списке форумов не выводятся случайные аватары?
А как в списке тем и в моде "Последние сообщения"?

Проверьте правки в файле functions_display.php, есть там код?:
//-- mod : apiv ----------------------------------------------------------------
//-- add
      user_display_avatar($row, 'forum_last', 'forumrow', $config['avatar_forums_last_poster_show']);
//-- fin mod : apiv ------------------------------------------------------------
 


и код функции user_display_avatar такой?:
//-- 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 ------------------------------------------------------------
 


_________________
Подпись:
В любой непонятной ситуации – ложись спать!
          Вернуться наверх  
 


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

Обнаружилась еще одна проблемка с выводом случайных аватарок. Оказалось что поля forum_last_poster_avatar, topic_first_poster_avatar, topic_last_poster_avatar , после установки мода, для пользователей без аватарок тоже заполняются, поэтому случайные аватары выводились крупные (не 40Х40, а 100Х100), вот пример:
пользователь с аватаром:
Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку

пользователь без аватара:
Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку


поэтому ранее описанное мной условие и код в функции user_display_avatar неполные:
   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');
   }
 


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

и заменить на:
if ( !$display || empty($row[$prefix . '_poster_avatar']) || $avatar['avatar'] == '' )
 


Всем удачи!


_________________
Подпись:
В любой непонятной ситуации – ложись спать!

Информация о редактировании
Последний раз редактировалось tralan 19 фев 2013, 20:03, всего редактировалось 1 раз.
          Вернуться наверх  
 


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

tralan писал(а):

Проверьте правки в файле
да, один в один,
tralan писал(а):

user_display_avatar неполные:
исправил...
Александр, а что скажите? [quote="ABDev"]
#
#-----[ OPEN ]------------------------------------------------
#
includes/acp/acp_forums.php
#
#-----[ FIND ]------------------------------------------------
#
                    // On add, add empty forum_options... else do not consider it (not updating it)
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : apiv ----------------------------------------------------------------
//-- add
                    $forum_data += array('forum_last_poster_avatar' => '');
//-- fin mod : apiv ------------------------------------------------------------
#
#-----[ SAVE/CLOSE ALL FILES ]--------------------------------
#
# EoM   
 


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


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

не выводятся случайные только в списке форумов?

Цитата:
Александр, а что скажите?

а откуда эта правка, в инстале этого мода такого нет


_________________
Подпись:
В любой непонятной ситуации – ложись спать!
          Вернуться наверх  
 


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

Александр, в 166 сообщении я говорил что все "перерыл" ;) ссылка на сообщение ABDev
Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку


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


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

boroda-max писал(а):

ссылка на сообщение ABDev сайт ABDev

boroda-max писал(а):

Александр, а что скажите?

Эта правка для исправления ошибки создания и редактирования форумов.
Я по совету Атлант-19 поступил по другому:
через php myadmin, в таблице phpbb_forums, для поля forum_last_poster_avatar, в таблице phpbb_topics - для поля topic_first_poster_avatar и topic_last_poster_avatar установил значение по умолчанию NULL и все работает.

Об ошибках, которые появлялись, я писал. Мод конечно в установке сложноватый. В общем я все делал так: скачал мод из этой темы (версия 1.3.0), установил все по инструкции, установил полям значение по умолчанию (NULL), сделал дополнительные правки, о которых я писал выше (эти правки предназначены для объединения этого мода и модов "Случайные аватары" и "Последние сообщения"). Вот, и как не странно, все работает, пока больше никаких ошибок не появилось.
Если обычно у меня что-то не устанавливается, я возвращаю все правки назад и делаю все сначала с удвоенной внимательностью. Могу Вам посоветовать только это. :-00):


_________________
Подпись:
В любой непонятной ситуации – ложись спать!
          Вернуться наверх  
 


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

Спасибо большое Александр, так как пхпАдмин начал общаться со мной с ошибки (#1067 - Invalid default value for 'forum_last_poster_avatar'), пойду путем - вернуть исходное-поставить-тестить-сносить :-00):


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


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

boroda-max, появились на моем форуме новые пользователи и новые сообщения (после установки мода) и заметил туже ошибку:
Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку

Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку


Проанализировав ситуацию, понял, что ошибка возникает только в списке форумов, в списке тем (где есть первое и последнее сообщение) - нет. Начал искать и нашел в инсталляции в скрипте db_update.php идет первоначальная запись данных в поля forum_last_poster_avatar, topic_first_poster_avatar и topic_last_poster_avatar. Но в запросе из скрипта выбираются только те пользователи у которых есть свой аватар, т.е. не во все строки в таблицах БД в эти поля записывается информация.

Решил попробовать перезапустить скрипт (обновить инфу в полях), но переделав запрос, чтобы выбирались все пользователи и обрабатывались все строки в таблицах phpbb_forums и phpbb_topics.
Т.е. первый раз запустил скрипт - деинсталлировал, а во второй раз запустил - установил.
После этого завел нового пользователя, создал в "сомнительном" форуме сообщение - ошибка больше не повторилась.
Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку

Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку


Если захочешь - поэкспериментируй, переделанный скрипт здесь:
Вложение :
db_update_checkerror.rar [1.21 KiB]
Скачиваний: 3


НО ПЕРЕД ЭТИМ ДЕЛАЙ BACKUP БД !!!!!!!


_________________
Подпись:
В любой непонятной ситуации – ложись спать!
          Вернуться наверх  
 


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

tralan писал(а):

НО ПЕРЕД ЭТИМ ДЕЛАЙ BACKUP БД !!!!!!!

Спасибо огромное!


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


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

Пробовали или еще нет?
Помогло?


_________________
Подпись:
В любой непонятной ситуации – ложись спать!
          Вернуться наверх  
 


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

tralan, помогло уже в том, что при смене кол-ва отображаемых тем (5 или 7 или 15.....и т.д.) аватарки пользователей "встают" на место (ранее баг был-не возвращались)


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


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

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

DeaDRoMeO

83

5218

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

29 апр 2014, 17:09

Князь Мышкин

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

DeaDRoMeO

156

11601

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

25 ноя 2017, 14:18

DeaDRoMeO

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

DeaDRoMeO

125

12178

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

05 дек 2015, 20:27

Чародейка

Аватар пользователя FAQ Manager phpbb3
FAQ Manager - модификация для phpbb3, позволяющая редактировать FAQ через администраторский раздел

tralan

15

2700

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

11 июн 2016, 15:25

Beksssss

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

DeaDRoMeO

21

4971

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

16 июн 2014, 05:05

DeaDRoMeO

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

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

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

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


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