Вернуться на главную страницу форума
  FAQFAQ  Поиск-SuchenПоиск-Suchen  ПользователиПользователи  ГруппыГруппы  Фото АльбомФото Альбом  Регистрация-RegistrierenРегистрация-Registrieren 
  Профиль-Profil Профиль-Profil  Войти и проверить личные сообщения Войти и проверить личные сообщения  Вход-login Вход-login

[MOD] Модификация phpBB :: Mod TopicsSort :: Сортировка топиков в форумах phpBB

 
   Вернуться на главную страницу форума -> Тех. раздел
Предыдущая тема :: Следующая тема  
Автор Сообщение
AlexanderOffline
Модератор
Модератор
Аватара


Регистр.: 09.09.2003
Сообщений: 221
Живу  : Deutschland
Возраст: 41
Кто Я?Он
СообщениеДобавлено: Сб, 08 Апр 2006, 18:44    Заголовок сообщения: Модификация phpBB :: Mod TopicsSort :: Сортировка топиков Ответить с цитированием

Описание: Мод позволяет сортировать топики в форуме по дате сообщения "Умолчание", по названиям в порядке от А до Я и наоборот.
Удобный интерфейс, в панеле администратора. Удобно и красиво.

Баги: В запросе в базу данных SQL используется стандартная функция сортировки, которая сортирует названия в странном порядке Rolling Eyes

Пример:



Дополнения? Жду откликов.

Код:

#########################################################################################################
##   MOD Title:      Advanced News viewer                        #
##   MOD Author:      Alexander Nowikow http://www.derus.net/ polkana@hotmail.com         #
##   MOD Description:   Allow view the news from Forums                     #
##   MOD Version:      1.0.1                              #
#########################################################################################################
##   Mod History:      31.03.2006 Start this code with version 1.0.0
##         08.04.2006 V 1.0.1 released. Corrected a mistake in the code... Not security!
##   Now Join!!!
##
##   Installation Level:   Easy
##   Installation Time:   5 Min
##   Files To Edit:
##      subSilver/admin/forum_edit_body.tpl
##      language/lang_russian/lang_admin.php
##      language/lang_english/lang_admin.php
##      admin/admin_forums.php
##      viewforum.php
##
##   Security Disclaimer:   Not know
##
##   Included Files:      mod.txt
##
##
##   Current version is available http://forum.derus.net/viewtopic.php?t=306
##############################################################
## For Security Purposes, Please Check: http://forum.derus.net/viewtopic.php?t=306 for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum.
##############################################################
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################
#---[ SQL ]--------------------------
ALTER TABLE `phpbb_forums` ADD `forum_sort` ENUM( 'DATE', 'ASC', 'DESC' ) NOT NULL ;


#---[ OPEN ]-------------------------
subSilver/admin/forum_edit_body.tpl

#---[ FIND ]-------------------------
        <tr>
          <td class="row1">{L_FORUM_STATUS}</td>
          <td class="row2"><select name="forumstatus">{S_STATUS_LIST}</select></td>
        </tr>
#---[ BELLOW ADD ]--------------------
        <tr>
                <td class="row1">{L_FORUM_ORDER}</td>
                <td class="row2"><select name="forum_sort">{S_STATUS_ORDER}</select></td>
        </tr>

#---[ OPEN ]---------------------------
language/lang_russian/lang_admin.php

#---[ FIND ]---------------------------
//
// Forum Management
//
#---[ BELLOW, ADD ]---------------------
$lang['SortTopics'] = 'Сортировать топики в форуме:';
$lang['SortASC'] = 'По буквенному признаку (А,Б,В,Г,Д)';
$lang['SortDESC'] = 'По буквенному признаку в обратном порядке (Д,Г,В,Б,А)';
$lang['SortDATE'] = 'По дате обновления (по умолчанию)';

#---[ OPEN ]-----------------------------
language/lang_english/lang_admin.php
#---[ FIND ]---------------------------
//
// Forum Management
//
#---[ BELLOW, ADD ]---------------------
$lang['SortTopics'] = 'Sort the topics in this forum:';
$lang['SortASC'] = 'By letters A,B,C,D,E';
$lang['SortDESC'] = 'By letters E,D,C,B,A';
$lang['SortDATE'] = 'Last post first(default)';

#---[ OPEN ]-----------------------------
admin/admin_forums.php

#---[ FIND ]-----------------------------
//
// Load default header
//
$phpbb_root_path = "./../";
require($phpbb_root_path . 'extension.inc');
require('./pagestart.' . $phpEx);
include($phpbb_root_path . 'includes/functions_admin.'.$phpEx);

#---[ BELLOW, ADD ]----------------------
$sort_array = array('DATE', 'DESC', 'ASC');

#---[ FIND ]-----------------------------
                        if ($mode == 'editforum')
                        {
                                // $newmode determines if we are going to INSERT or UPDATE after posting?

                                $l_title = $lang['Edit_forum'];
                                $newmode = 'modforum';
                                $buttonvalue = $lang['Update'];

                                $forum_id = intval($HTTP_GET_VARS[POST_FORUM_URL]);

                                $row = get_info('forum', $forum_id);

                                $cat_id = $row['cat_id'];
                                $forumname = $row['forum_name'];
                                $forumdesc = $row['forum_desc'];

#---[ BELOW, ADD ]-------------------------
                                $forumsort = $row['forum_sort'];
#---[ FIND ]-------------------------------
      $statuslist = "<option value=\"" . FORUM_UNLOCKED . "\" $forumunlocked>" . $lang['Status_unlocked'] . "</option>\n";
      $statuslist .= "<option value=\"" . FORUM_LOCKED . "\" $forumlocked>" . $lang['Status_locked'] . "</option>\n";

#---[ BELLOW,ADD ]-------------------------
                        $sortlist = '';
                        foreach($sort_array as $key=>$val) {
                                $sortlist .= '<option value="'.$val.'"';
                                if ($val == $forumsort) $sortlist .= ' selected="true"';
                                $sortlist .= '>'.$lang['Sort'.$val].'</option>'."\n";
                        }

#---[ FIND ]-------------------------------
                                'S_FORUM_ACTION' => append_sid("admin_forums.$phpEx"),
                                'S_HIDDEN_FIELDS' => $s_hidden_fields,
                                'S_SUBMIT_VALUE' => $buttonvalue,
                                'S_CAT_LIST' => $catlist,
                                'S_STATUS_LIST' => $statuslist,
                                'S_PRUNE_ENABLED' => $prune_enabled,

#---[ BEFORE, ADD ]------------------------
                                'L_FORUM_ORDER' => $lang['SortTopics'],
                                'S_STATUS_ORDER' => $sortlist,
#---[ FIND ]-------------------------------
                        // There is no problem having duplicate forum names so we won't check for it.
#---[ BEFORE, ADD ]------------------------
                        $forum_sort = $HTTP_POST_VARS['forum_sort'];

#---[ FIND ]-------------------------------
                         // There is no problem having duplicate forum names so we won't check for it.
                         $sql = "INSERT INTO " . FORUMS_TABLE . "
#---[ IN-LINE FIND ]-----------------------
forum_order, forum_status, prune_enable" . $field_sql . "
#---[ IN-LINE AFTER, ADD ]------------------
, forum_sort
#---[ IN-LINE FIND ]-----------------------
intval($HTTP_POST_VARS['prune_enable']) . $value_sql . "
#---[ IN-LINE AFTER, ADD ]------------------
, '$forum_sort'

#---[ FIND ]--------------------------------
                case 'modforum':
                        // Modify a forum in the DB
#---[ BELLOW, ADD ]-------------------------
              $forum_sort = $HTTP_POST_VARS['forum_sort'];
             
#---[ FIND ]---------------------------------
$sql = "UPDATE " . FORUMS_TABLE . " SET
#---[ IN LINE AFTER, ADD ]--------------------
 forum_sort = '$forum_sort',
 
#---[ OPEN ]----------------------------------
viewforum.php

#---[ FIND ]----------------------------------
//
// Grab all the basic data (all topics except announcements)
// for this forum
//

#---[ AFTER, ADD ]------------------------------
switch ($forum_row['forum_sort']) {
   case 'ASC':
      $order_by = "t.topic_title ASC";
      break;
   case 'DESC':
      $order_by = "t.topic_title DESC";
      break;
   default :
      $order_by = "t.topic_type DESC, t.topic_last_post_id DESC";
}

#---[ FIND ]---------------------------------------
t.topic_type DESC, t.topic_last_post_id DESC
#---[ REPLACE WITH ]-------------------------------
$order_by

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM



mod_order_topics.zip
 Описание:
Скачать модфикацию V1.0.1

Скачать
 Имя файла:  mod_order_topics.zip
 Размер файла:  2.42 KB
 Скачено:  1222 раз


_________________
Нас всегда не хватает там, где мы уже были...и будут ждать там, где нас еще небыло!


Последний раз редактировалось: Alexander (Сб, 08 Апр 2006, 19:48), всего редактировалось 2 раз(а)
Вернуться к началу
Посмотреть профиль Посетить сайт автора 
AlexanderOffline
Модератор
Модератор
Аватара


Регистр.: 09.09.2003
Сообщений: 221
Живу  : Deutschland
Возраст: 41
Кто Я?Он
СообщениеДобавлено: Сб, 08 Апр 2006, 19:28    Заголовок сообщения: Ответить с цитированием

Версия 1.0.1 доступна.
_________________
Нас всегда не хватает там, где мы уже были...и будут ждать там, где нас еще небыло!
Вернуться к началу
Посмотреть профиль Посетить сайт автора 
Показать сообщения:   
Начать новую тему   Продолжить эту тему    Вернуться на главную страницу форума -> Тех. раздел Часовой пояс: GMT + 1
Страница 1 из 1

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


Powered by phpBB © 2001, 2005 phpBB Group


Rambler's Top100