1 (edited by SegrOk 2018.05.25 01:44)

Topic: [NL] Last Tree: Список последних тем на одной странице в виде "дерева"

Расширение создает отдельную страницу для вывода последних тем в виде "дерева".

- в подменю форума добавлена отдельная ссылка на страницу - "Дерево сообщений"
- на странице "Дерево сообщений" выводятся темы из всех доступных пользователю форумов
- темы отсортированы по последнему посту
- для каждой темы выводится: "форум" -> "название темы" -> "автор темы" -> "дата создания"
- если в теме есть ответы, то выводятся последние несколько авторов
- непрочитанные сообщения выделяются

https://punbb.softplaza.net/uploads/images/2018/05/41ae26076b15a8b7edafa9e734cbc770.jpg

Скачать: [NL] Last Tree

Исходники: GitHub

$matches[2]

Обновил.

Дал нормальные названия хукам, подправил небольшую опечатку.

2 (edited by PunBB 2019.05.21 14:23)

Re: [NL] Last Tree: Список последних тем на одной странице в виде "дерева"

Интереснте расширение, плюсую  PunBB_INFO_ICQ/thumbsup
Как то давненько видел похожее расширение на одном форуме, но админ не захотел делиться.
Спасибо @SegrOk, за вклад в punbb.

3

Re: [NL] Last Tree: Список последних тем на одной странице в виде "дерева"

PunBB wrote:

Как то давненько видел похожее расширение еа одном форуме

Не уверен, что это было на нашем форуме, но на древней версии 1.2.x было написано расширение, которое "Новые сообщение" делал одной большой лентой. Так действительно было интересно читать. Может на версию 1.4.x кто оживит расширение. Скидываю исходный код

<?php
/***********************************************************************

  Copyright (C) 2006  2rist (2ristSoft@nm.ru)

  This software is free software; you can redistribute it and/or modify it
  under the terms of the GNU General Public License as published
  by the Free Software Foundation; either version 2 of the License,
  or (at your option) any later version.

  This software is distributed in the hope that it will be useful, but
  WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  MA  02111-1307  USA

************************************************************************/
// Make sure no one attempts to run this script "directly"
if (!defined('PUN'))
    exit;

// Tell admin_loader.php that this is indeed a plugin and that it is loaded
define('PUN_PLUGIN_LOADED', 1);
define('PLUGIN_VERSION', '1.0.1');

if (isset($_POST['form_sent']))
{
   // Lazy referer check (in case base_url isn't correct)
   if (!preg_match('#/admin_loader\.php#i', $_SERVER['HTTP_REFERER']))
      message($lang_common['Bad referrer']);

   $form = array_map('trim', $_POST['form']);

   while (list($key, $input) = @each($form))
   {
      // Only update values that have changed
      if ((isset($pun_config['o_'.$key])) || ($pun_config['o_'.$key] == NULL)) {
         if ($pun_config['o_'.$key] != $input)
         {
            if ($input != '' || is_int($input))
               $value = '\''.$db->escape($input).'\'';
            else
               $value = 'NULL';
   
            $db->query('UPDATE '.$db->prefix.'config SET conf_value='.$value.' WHERE conf_name=\'o_'.$key.'\'') or error('Unable to update board config', __FILE__, __LINE__, $db->error());
         }
      }
   }

   // Regenerate the config cache
   require_once PUN_ROOT.'include/cache.php';
   generate_config_cache();

   redirect('admin_loader.php?plugin=AP_ANPOOP.php', 'Опции обновлены. Переадресация &hellip;');
}
else
{
   // Display the admin navigation menu
   generate_admin_menu($plugin);
?>
   <div class="block">
      <h2><span>ANPOOP (All New Messages On One Page) - v<?php echo PLUGIN_VERSION ?></span></h2>
      <div class="box">
         <div class="inbox">
            <p>Этот плагин используется для управлениея ANPOOP модом.</p>
         </div>
      </div>
   </div>
   <div class="blockform">
      <h2 class="block2"><span>Опции</span></h2>
      <div class="box">
         <form method="post" action="admin_loader.php?plugin=AP_ANPOOP.php">
            <div class="inform">
               <input type="hidden" name="form_sent" value="1" />
               <fieldset>
                  <legend>Настройки</legend>
                  <div class="infldset">
                  <table class="aligntop" cellspacing="0">
                     <tr>
                        <th scope="row">Включить ANPOOP</th>
                        <td>
                           <input type="radio" name="form[anpoop_enabled]" value="1"<?php if ($pun_config['o_anpoop_enabled'] == '1') echo ' checked="checked"' ?> />&nbsp;<strong>Да</strong>&nbsp;&nbsp;&nbsp;<input type="radio" name="form[anpoop_enabled]" value="0"<?php if ($pun_config['o_anpoop_enabled'] == '0') echo ' checked="checked"' ?> />&nbsp;<strong>Нет</strong>
                           <span>Если выбрано "Нет", мод не будет функционировать.</span>
                        </td>
                     </tr>
                  </table>
                  </div>
               </fieldset>
            </div>
         <p class="submitend"><input type="submit" name="save" value="Сохранить изменения" /></p>
         </form>
      </div>
   </div>

<?php
}
?>

2

4

Re: [NL] Last Tree: Список последних тем на одной странице в виде "дерева"

Форум CADUSER, он твой?)

5

Re: [NL] Last Tree: Список последних тем на одной странице в виде "дерева"

@Armagee, кому вопрос то? PunBB_INFO_ICQ/scratch  PunBB_INFO_ICQ/scratch  PunBB_INFO_ICQ/scratch

6

Re: [NL] Last Tree: Список последних тем на одной странице в виде "дерева"

Armagee wrote:

Форум CADUSER, он твой?)

Нет не мой, посмотрел форум интересный.