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


----

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

 Сообщение User Blog Mod phpbb3 (Дневники и Блоги) 2012-08-01

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

Всем доброго времени суток, это как обычно я, ваш покорный слуга, с очередным полезным анонсом. В одном из анонсов я писал, что считаю только лишь 3 модификации самыми крупными и удачными для наших форумов, Фотогаллерею, Портал и сегодняшний анонс - Дневники(Блоги).

Мод очень удачный и самый мощный в своем роде, приятное дополнение к форумным темам. Позволит вашим пользователям обзаводиться собственными Дневниками (Блогами), функционал вас порадует, помимо создания обычных записей пользователи смогут
  • комментировать свои и чужие записи
  • ставить оценки записям (рейтинг в Блогах)
  • создавать голосования и опросы в записях
  • читать RSS ленты записей
  • сделать свой индивидуальный стиль Блога
И многое многое другое...

Вообщем мод не так уж тяжел в установке и настройке, скачиваем и устанавливаем по инструкции

Разумеется, после установки нам надо руссифицировать мод, руссификация ниже
Вложение :
Комментарий к файлу: Руссификация модификации User Blog Mod
User_Blog_Mod_1.0.13_Ru.zip [27.94 KiB]
Скачиваний: 240

Обе папки из архива размещаем в корне форума. Собственно на этом все, сам по себе мод может быть подвергнут множеству доработок на любой вкус, если будут пожелания, то отписываемся в данной темке :bra_vo:

Дополнение. Блок с новыми комментариями и записями для Портала

Наверняка вы заметили у меня на Портале чудесный блок, в котором отображается частично текст самой последней записи в Блогах, а так же список последних записей и комментариев. Аккуратненько и удобно. Хотелось бы поделиться им с вами. Скачиваем дополнение и устанавливаем по инструкции
Вложение :
Комментарий к файлу: Дополнение к модификации User Blog Mod
User Blog Mod Addons.rar [52.16 KiB]
Скачиваний: 146

После установки данной модификации, открыть includes/functions.php и найти
function get_complete_blog_tracking($blog_id, $topic_ids, $global_announce_list = false)
{
   global $config, $user, $db;
   include($phpbb_root_path . 'blog/includes/constants.php' . $phpEx);
   $last_read = array();

   if (!is_array($topic_ids))
   {
      $topic_ids = array($topic_ids);
   }

   $sql = 'SELECT blog_reply_id, mark_time
      FROM ' . BLOGS_REPLY_TRACKS_TABLE . "
      WHERE user_id = {$user->data['user_id']}
         AND " . $db->sql_in_set('blog_reply_id', $topic_ids);
   $result = $db->sql_query($sql);

   while ($row = $db->sql_fetchrow($result))
   {
      $last_read[$row['blog_reply_id']] = $row['mark_time'];
   }
   $db->sql_freeresult($result);

   $topic_ids = array_diff($topic_ids, array_keys($last_read));

   if (sizeof($topic_ids))
      {
         $sql = 'SELECT blog_id, mark_time
            FROM ' . BLOGS_TRACKS_TABLE . "
            WHERE user_id = {$user->data['user_id']}
               AND blog_id " .
               (($global_announce_list && sizeof($global_announce_list)) ? "IN (0, $blog_id)" : "= $blog_id");
         $result = $db->sql_query($sql);

         $mark_time = array();
         while ($row = $db->sql_fetchrow($result))
         {
            $mark_time[$row['blog_id']] = $row['mark_time'];
         }
         $db->sql_freeresult($result);

         $user_lastmark = (isset($mark_time[$blog_id])) ? $mark_time[$blog_id] : $user->data['user_last_blog_mark'];

         foreach ($topic_ids as $blog_reply_id)
         {
            if ($global_announce_list && isset($global_announce_list[$blog_reply_id]))
            {
               $last_read[$blog_reply_id] = (isset($mark_time[0])) ? $mark_time[0] : $user_lastmark;
            }
            else
            {
               $last_read[$blog_reply_id] = $user_lastmark;
            }
         }
      }

   return $last_read;
}

function markread_blog_post($mode, $blog_id = false, $blog_reply_id = false, $post_time = 0, $user_id = 0)
{
   global $db, $user, $config;

   if ($blog_id === false)
   {
      return;
   }

   if ($config['load_db_lastread'] && $user->data['is_registered'])
   {
      $sql = 'UPDATE ' . BLOGS_REPLY_TRACKS_TABLE . '
         SET mark_time = ' . (($post_time) ? $post_time : time()) . "
         WHERE user_id = {$user->data['user_id']}
            AND blog_reply_id = $blog_reply_id";
      $db->sql_query($sql);

      // insert row
      if (!$db->sql_affectedrows())
      {
         $db->sql_return_on_error(true);

         $sql_ary = array(
            'user_id'      => (int) $user->data['user_id'],
            'blog_reply_id'   => (int) $blog_reply_id,
            'blog_id'      => (int) $blog_id,
            'mark_time'      => ($post_time) ? (int) $post_time : time(),
         );

         $db->sql_query('INSERT INTO ' . BLOGS_REPLY_TRACKS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));
         $sql = 'INSERT INTO ' . BLOGS_REPLY_TRACKS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary);
                    $db->sql_return_on_error(false);
      }
   }
   return;
}
 

Заменить на
function get_complete_blog_tracking($blog_id, $topic_ids, $global_announce_list = false)
{
   global $config, $user, $db, $phpbb_root_path, $phpEx;
   include($phpbb_root_path . 'blog/includes/constants.' . $phpEx);
   $last_read = array();

   if (!is_array($topic_ids))
   {
      $topic_ids = array($topic_ids);
   }

   $sql = 'SELECT blog_reply_id, mark_time
      FROM ' . BLOGS_REPLY_TRACKS_TABLE . "
      WHERE user_id = {$user->data['user_id']}
         AND " . $db->sql_in_set('blog_reply_id', $topic_ids);
   $result = $db->sql_query($sql);

   while ($row = $db->sql_fetchrow($result))
   {
      $last_read[$row['blog_reply_id']] = $row['mark_time'];
   }
   $db->sql_freeresult($result);

   $topic_ids = array_diff($topic_ids, array_keys($last_read));

   if (sizeof($topic_ids))
      {
         $sql = 'SELECT blog_id, mark_time
            FROM ' . BLOGS_TRACKS_TABLE . "
            WHERE user_id = {$user->data['user_id']}
               AND blog_id " .
               (($global_announce_list && sizeof($global_announce_list)) ? "IN (0, $blog_id)" : "= $blog_id");
         $result = $db->sql_query($sql);

         $mark_time = array();
         while ($row = $db->sql_fetchrow($result))
         {
            $mark_time[$row['blog_id']] = $row['mark_time'];
         }
         $db->sql_freeresult($result);

         $user_lastmark = (isset($mark_time[$blog_id])) ? $mark_time[$blog_id] : $user->data['user_last_blog_mark'];

         foreach ($topic_ids as $blog_reply_id)
         {
            if ($global_announce_list && isset($global_announce_list[$blog_reply_id]))
            {
               $last_read[$blog_reply_id] = (isset($mark_time[0])) ? $mark_time[0] : $user_lastmark;
            }
            else
            {
               $last_read[$blog_reply_id] = $user_lastmark;
            }
         }
      }

   return $last_read;
}

function markread_blog_post($mode, $blog_id = false, $blog_reply_id = false, $post_time = 0, $user_id = 0)
{
   global $db, $user, $config;

   if ($blog_id === false)
   {
      return;
   }

   if ($config['load_db_lastread'] && $user->data['is_registered'])
   {
      $sql = 'UPDATE ' . BLOGS_REPLY_TRACKS_TABLE . '
         SET mark_time = ' . (($post_time) ? $post_time : time()) . "
         WHERE user_id = {$user->data['user_id']}
            AND blog_reply_id = $blog_reply_id";
      $db->sql_query($sql);

      // insert row
      if (!$db->sql_affectedrows())
      {
         $db->sql_return_on_error(true);

         $sql_ary = array(
            'user_id'      => (int) $user->data['user_id'],
            'blog_reply_id'   => (int) $blog_reply_id,
            'blog_id'      => (int) $blog_id,
            'mark_time'      => ($post_time) ? (int) $post_time : time(),
         );

         $db->sql_query('INSERT INTO ' . BLOGS_REPLY_TRACKS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));
         $sql = 'INSERT INTO ' . BLOGS_REPLY_TRACKS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary);
                    $db->sql_return_on_error(false);
      }
   }
   return;
}
 

Это уберет некоторые ошибки. Хочу отметить то, что данный блок можно встроить в любую страницу форума, добавив
include($phpbb_root_path . 'portal/block/top10_blogs.'.$phpEx);
 

В нужную php страницу и
   <!-- IF S_DISPLAY_BLOGS -->
      <!-- INCLUDE portal/block/top10_blog.html -->
   <!-- ENDIF -->
 

В нужный шаблон стиля

--------------------- По поводу подписок на дневники --------------------

После долгих мучений и поисков, оказалось, что подписки все же есть в дневниках, притом 2 типа - подписка на весь дневник и подписка на отдельную запись. Странно но эти пункты у меня не отображались в стиле и в шаблоне не было этого прописано. Скорее всего это касается всех шаблонов на основе сабсильвер2. Вообщем чтобы решить это недоразумение нужно открыть шаблон блога left_menu.html и прописать в удобное для себя место код
<!-- IF S_WATCH_FORUM_LINK --> &bull; <a href="{S_WATCH_FORUM_LINK}" title="{S_WATCH_FORUM_TITLE}">{S_WATCH_FORUM_TITLE}</a><!-- ENDIF -->
 

Теперь при просмотре списка записей будет возможность подписаться на весь дневник автора, а если зайти в просмотр конкретной записи - можно подписаться только на нее, вернее на ее комментарии

A ВНИМАНИЕ !!!Может быть так только у меня, а может и нет, но нашел такой баг - после подписки на весь дневник вцелом, нельзя потом от него отписаться.

Решение !!! Не знаю какая логика была у автора мода, но все проблемы решаются следущим образом.
1) Нужно зайти в Блоги и кликнуть в левом меню Настройки дневника
2) Найти пункт Подписка по умолчанию и убрать галочки из чекбоксов
3) Нажать Отправить и вы отписаны от всех блогов

Решение данной проблемы должно быть еще одно, я буду заниматься его поисками



От себя добавлю что в блогах на нашем Форуме активирована возможность подписок, гляньте в левое меню при просмотре чьего либо блога. А так же есть возможность читать RSS ленту блогов отдельных авторов :ya_hoo_oo:

----------- Дополнение. Облаго тегов для блога -----------

Накопал недавно хороший плагин для блогов - Облако тегов. Суть в том, что при создании новой записи пользователю будет предложено ввести список тегов, наиболее подходящих к данной записи. После установки плагина и ввода первых тегов, в левом меню будет отображаться эдакое облако тегов, притом активных (по нажатии на тег будут показываться записи, ассоциированные с ним). Протестировать данный плагин вы можете у нас на Форуме, первые тестовые теги вбиты. Если кого заинтересовало, то скачиваем архив с плагином
Вложение :
Комментарий к файлу: Плагин облака тегов для модификации User Blog Mod
Blog Tags.rar [13.33 KiB]
Скачиваний: 65

Как устанавливать плагины ???
Установка очень проста, в архиве обычно лежит инструкция по установке, в данном случае вам нужно из папки Blog Tags/root/ скопировать все файлы в корень форума, а потом зайти в админку в настройки Блогов, в пункт Плагины и активировать данный плагин. Руссификация уже лежит в нужной папке. Надеюсь вам пригодится

--------------------Дополнение. Быстрая цитата в Блогах и обращение по нику --------------------

Давненько обещал выложить сию доработку для Блогов, потестировать ее вы можете в Блогах нашего Форума.

A Внимание !!!Данную доработку ставить лишь в том случае, если у вас установлена !!!


Вообщем открываем styles/prosilver/template/blog/quick_reply.html и в самый верх кода добавляем
<script type="text/javascript">
// <![CDATA[
   var form_name = 'postform';
   var text_name = 'message';
// ]]>
</script>
<script type="text/javascript" src="{T_TEMPLATE_PATH}/editor.js"></script>
 

Открываем styles/prosilver/template/blog/view_blog.html и находим
   <strong>{blogrow.USER_FULL}</strong>
 

Заменяем найденное на
   <!-- IF S_QUICK_REPLY --><a href="#postform" title="{L_QUOTE_USERNAME}" onclick="insert_text('[b]{blogrow.USER_QUOTE}[/b]'); return false;"<!-- IF blogrow.USER_COLOUR --> style="color: {blogrow.USER_COLOUR}"<!-- ENDIF -->><strong>{blogrow.USERNAME}</strong></a><!-- ELSE --><strong>{blogrow.USER_FULL}</strong><!-- ENDIF -->
 

Дважды находим
   <strong>{replyrow.USER_FULL}</strong>
 

И заменяем найденное на
<!-- IF S_QUICK_REPLY --><strong><a href="#postform" title="{L_QUOTE_USERNAME}" onclick="insert_text('[b]{replyrow.USER_QUOTE}[/b]'); return false;"<!-- IF replyrow.USER_COLOUR --> style="color: {replyrow.USER_COLOUR}"<!-- ENDIF -->>{replyrow.USERNAME}</a></strong><!-- ELSE --><strong>{replyrow.USER_FULL}</strong><!-- ENDIF --> 
 

Открываем styles/prosilver/template/blog/view_blog.html и находим
<!-- IF replyrow.U_EDIT --><li class="edit-icon"><a href="{replyrow.U_EDIT}" title="{L_EDIT_POST}"><span>{L_EDIT_POST}</span></a></li><!-- ENDIF -->
 

Добавляем перед
   <!-- IF S_QUICK_REPLY --><li class="quickquote-icon"><a href="#postform" onclick="if((window.getSelection && window.getSelection().toString() == '') || (document.getSelection && document.getSelection() == '') || (document.selection && document.selection.createRange().text == '')){ alert('{L_NO_SELECTION}'); return false; }else{addquote({replyrow.ID},'{replyrow.USER_QUOTE}'); insert_text('\r\n'); return false; }" title="{L_QUICKQUOTE_TEXT}"><span>{L_QUICKQUOTE_TEXT}</span></a></li><!-- ENDIF -->
 

Находим
<!-- IF blogrow.U_EDIT --><li class="edit-icon"><a href="{blogrow.U_EDIT}" title="{L_EDIT_POST}"><span>{L_EDIT_POST}</span></a></li><!-- ENDIF -->
 

Добавляем перед
<!-- IF S_QUICK_REPLY --><li class="quickquote-icon"><a href="#postform" onclick="if((window.getSelection && window.getSelection().toString() == '') || (document.getSelection && document.getSelection() == '') || (document.selection && document.selection.createRange().text == '')){ alert('{L_NO_SELECTION}'); return false; }else{addquote({blogrow.ID},'{blogrow.USER_QUOTE}'); insert_text('\r\n'); return false; }" title="{L_QUICKQUOTE_TEXT}"><span>{L_QUICKQUOTE_TEXT}</span></a></li><!-- ENDIF --> 
 

Открываем blog/includes/blog_data.php и находим (Находим только второе вхождение, приблизительно 1180 строка)
'USER_FULL'         => self::$user[$user_id]['username_full'],
 

Добавляем после
'USER_QUOTE'      => addslashes(self::$user[$user_id]['username']), 
 

Чистим кеш и радуемся результатам :ya_hoo_oo:


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

Теги темы
User Blog Mod, User Blog Mod phpbb3 (Дневники и Блоги), блоги phpbb3, дневники phpbb3, мод дневников phpbb3, мод блогов phpbb3
          Вернуться наверх  
 


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

Всё таки ручками опять поставила ВСЕ кнопки... мне это далось нелегко... А файлы эти, конфигурационные, которые мод ставил в папки изображений стиля - переместила в другое место, от греха подальше... :du_ma_et:

Теперь у меня два вопроса:

1. Как теперь свои кнопки в блог добавить? А то там нету вообще кнопок теперь...

2. Как переименовать весь этот "блог и дневник" в "новости"? То есть и ссылку в хеадре и вообще в самом блоге необходимо всё переименовать теперь.

Спасибо :du_ma_et:

Сообщение добавлено... спустя 30 минут 57 секунд:
Хотя, кнопки свои ставить туда необязательно, всё равно только админы будут новости постить, а они знают куда жать.

Обнаружилась проблема: после публикации записи, заметила, что блог растягивается по ширине и уходить за пределы экрана по непонятным причинам :-(--


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


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

русификация: language/ru/mods/common.php (и остальные файлы в этой папке) - меняй названия как хочешь...


_________________
Подпись:
три головы - это хорошо. но как же трудно придти к согласию...
* белк может помочь, но ставить за кого-то моды не будет... ни платно, ни бесплатно. *
          Вернуться наверх  
 


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

Белк, ты как всегда меня спасаешь :smu:sche_nie: перевела...

Кстати, блог уходит за пределы экрана похоже из-за быстрого ответа, ну блок комментариев этот, похоже его придётся отключить...

А теперь самое сложное... как мне сделать так, чтобы никто не видел ссылки "мой дневник", никто не мог создавать дневники, кроме админов? Это в админке, в настройках мутится всё, да?


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


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

ну да. это можно выставить в админке в правах к блогам: кто может видеть, читать, комментировать и т.д. покопайся.


_________________
Подпись:
три головы - это хорошо. но как же трудно придти к согласию...
* белк может помочь, но ставить за кого-то моды не будет... ни платно, ни бесплатно. *
          Вернуться наверх  
 


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

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

Насчет переименования ссылок - поглядите в языковые файлы мода

Сообщение добавлено... спустя 2 минуты 5 секунд:
Блин, слоупок, не поглядел что сообщения и на другой странице есть(((
Надо с отпуска выходить и вливаться по нормальному


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


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

Читала я эту библию админа, и многие другие посты читала по этому поводу, да вот только не слетало у меня никогда, хотя кеш мильён раз чистила, ага. И сегодня бы не слетело, еслиб кнопки имели стандартные имена. Я ж говорю, слетели все нестандартные кнопки из-за того, что назывались нестандартно. Одна только нестандартная кнопка не слетела, которая стандартно называлась. Такие дела, товарищи, пибисты. :a_g_a:

Вообще, годная штука этот "блог", который теперь везде обозначен у меня как "новостной портал". Это реально лучше, чем та "новостная страница", которую я до этого ставила. Теперь бы новоявленную новостную штукенцию подключить к порталу как-нибудь поудобнее и покрасивее :du_ma_et: Будем посмотреть :du_ma_et:

Сообщение добавлено... спустя 20 минут 27 секунд:
Цитата:
Дополнение. Блок с новыми комментариями и записями для Портала
Посмотрела на эту штуку - годная. Посмотрела в инструкцию по установке - опять двадцать пять :hi_hi_hi: Опять инстал :-0=) Я уже боюсь, а вдруг опять кнопки слетят ;;-)))


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


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

Настроила почти всё. Есть, конечно, недочёты, но не значительные. Вопрос: как сделать так, чтобы пользователи не видели кнопку RSS? Точнее, не кнопку, а разломанный квадратик (нету её). Портит весь вид, блин :-(--


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


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

Разломанный квадратик - просто нет иконки, картинки, просто через исходный код поглядеть имя и расположение файла и закинуть его туда


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


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

Не знаю я как... А убрать вообще эту кнопку, чтоб её не было, при этом рсс не выключая, можно? :du_ma_et:


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


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

Блин, статью фиг напишешь, устареет быстро все.... Нужно с кода вырезать, покажите скриншот, где эта кнопочка видна


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


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

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

Это сразу как в раздел "новости" заходишь, а по вашему - "дневники". Там ещё в самом верху блок "случайная запись".


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


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

Разобралась самостоятельно с энтими кнопками :a_g_a:

Это блог индексируется поисковыми робатами автоматически или в настройках надо мутить что-то?

Из настроек:
Цитата:
SEO-ссылки:
На сервере должен быть включён mod_rewrite. Если ссылки в дневниках не работают, отключите эту опцию.
- у меня это сейчас выключено. Включить?


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


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

Ребята, ребята! Как удалить из минипрофиля в блоге это поле Новости: Просмотр записи (0) Оно в комментария пользователей торчит, там где ава! Я примерно догадываюсь где что поудалять в кодах, но боюсь испортить систему!


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


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

Убрать правки из viewtopic.php и viewtopic_body.html


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


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

Спасибо, но удаление трёх правок из viewtopic.php не помогло. Возможно, я не так выразилась. Нужно удалить ссылки на дневники из профилей именно в блоге, а не на форуме (на форуме их просто настройками можно убрать). То есть, чтоб в комментариях в блоге не светились ссылки на личные дневники, т. к. нельзя пользователям их создавать.

viewtopic_body.html - такого вообще нет в инструкции.


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


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

Ну как минимум шаблон blog/left_menu.html, найти и удалить
<!-- IF S_PROFILE_FIELD1 -->
                  <!-- Use a construct like this to include admin defined profile fields. Replace FIELD1 with the name of your field. -->
                  <br /><b>{PROFILE_FIELD1_NAME}:</b> {PROFILE_FIELD1_VALUE}
               <!-- ENDIF -->

               <!-- BEGIN custom_fields -->
                  <br /><b>{custom_fields.PROFILE_FIELD_NAME}:</b> {custom_fields.PROFILE_FIELD_VALUE}
               <!-- END custom_fields -->
 

и blog/view_blog.html, найти и удалить
<!-- IF blogrow.S_PROFILE_FIELD1 -->
                           <!-- Use a construct like this to include admin defined profile fields. Replace FIELD1 with the name of your field. -->
                           <br /><b>{blogrow.PROFILE_FIELD1_NAME}:</b> {blogrow.PROFILE_FIELD1_VALUE}
                        <!-- ENDIF -->

                        <!-- BEGIN custom_fields -->
                           <br /><b>{blogrow.custom_fields.PROFILE_FIELD_NAME}:</b> {blogrow.custom_fields.PROFILE_FIELD_VALUE}
                        <!-- END custom_fields -->
 


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


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

Спасибо, помогло частично. :-00): Эти ссылки бессмертные? Пять правок убила, а в комментах ссылки всё равно торчат, зелёным светятся и радуются, думая, "авотхренвам".


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


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

зло всегда бессмертно... :-0=)


_________________
Подпись:
три головы - это хорошо. но как же трудно придти к согласию...
* белк может помочь, но ставить за кого-то моды не будет... ни платно, ни бесплатно. *
          Вернуться наверх  
 


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

Милена писал(а):

Эти ссылки бессмертные?

Скриншот, м?


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


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

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


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


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

  Похожие темы  Автор  Ответов  Просмотров  Последнее сообщение 
Аватар пользователя User Rank Progression Bar phpbb3
User Rank Progression Bar phpbb3 - модификация для форума phpbb3, показывающая в процентном соотношении прогресс до получения нового звания на форуме

DeaDRoMeO

155

5211

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

26 дек 2014, 09:26

DeaDRoMeO

Аватар пользователя User reputation points phpbb3 (Репутация)
User reputation points - модификация для phpbb3, организующая на форуме систему репутации пользователя, как графическую так и текстовую

DeaDRoMeO

209

10593

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

10 окт 2015, 15:25

DeaDRoMeO

Аватар пользователя User reminder phpbb3 (напоминания неактивным)
User reminder - модификация для phpbb3, организующее очень удобную напоминалку неактивным пользователям форума. Массовая отправка напоминаний.

DeaDRoMeO

80

4186

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

21 сен 2015, 11:38

DeaDRoMeO

Аватар пользователя Email To User On Group Status Change phpbb3
Email To User On Group Status Change - модификация для phpbb3, добавляющая на форум e-mail уведомления пользователям при их добавлении, перемещении, удалении из группы

DeaDRoMeO

0

511

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

20 июл 2016, 20:08

DeaDRoMeO

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

DeaDRoMeO

15

707

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

08 апр 2017, 09:20

белк

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

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

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

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


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