Öte yandan bunu kuruğunuz zaman redireck link modunu vede forum icons modunuda kapsayan özellikleri olduğunu göreceksiniz. Bu forum sisteminde çok gelişmiş bir İZİNLER paneli bulunmaktadır. Böylelikle siz admin panelden izinleri artık daha detaylı olarak ayarlayabileceksiniz.
Ancak uyarıyorum bu alt forum sistemi phpBB için yapılmış olan en karışık , en zor modlardan biridir. Kurulumu tam olara 2 SAAT sürmektedir ki ben bu modu kurduğumda 3-4 saate yakın bir sürede kurmayı başarmıştım.
Öte yandan bu modu kurmakla birlikte siz artık başka bir takım modları kuramayacaksınız. Çünki bu mod öyle bir moddur ki phpBB yazılımınızın en önemli yerlerinde yaptığı kod değişiklikleri ile sisteminizdeki kod yapısını orjinale göre fazlasıyla değiştirmektedir.
Kendine güvenen varsa bu muhteşem alt forum sistemini hiç durmasın ve hemen kursun derim.

DOWNLOAD LİNK : http://www.phpbb.com/phpBB/catdb.php?mo ... id=1438757
KURULUM DOSYASI 1
Kod: Tümünü seç
##############################################################
## MOD İSMİ: Categories hierarchy - 2.1.0
## MOD YAPIMCISI: Ptirhiik < ptirhiik@clanmckeen.com > (Pierre) http://rpgnet.clanmckeen.com
## MOD Description:
## This mod will add sub-forums functionalities (and many more) to your phpBB board.
## Don't go blindly with easyMOD without having done what is quoted in Author's notes !
##
## MOD VERSİYONU: 2.1.0
##
## KURULUM SEVİYESİ : ÇOK ZOR
## KURULUM SÜRESİ : 2 SAAT
## Files To Edit:
## common.php
## faq.php
## groupcp.php
## login.php
## memberlist.php
## modcp.php
## posting.php
## privmsg.php
## profile.php
## search.php
## viewonline.php
## viewtopic.php
##
## admin/admin_board.php
## admin/admin_groups.php
## admin/admin_mass_email.php
## admin/admin_ranks.php
## admin/admin_smilies.php
## admin/admin_styles.php
## admin/admin_users.php
## admin/admin_words.php
## admin/index.php
## admin/page_footer_admin.php
## admin/page_header_admin.php
##
## includes/auth.php
## includes/bbcode.php
## includes/db.php
## includes/functions.php
## includes/functions_admin.php
## includes/functions_post.php
## includes/functions_search.php
## includes/page_header.php
## includes/page_tail.php
## includes/sessions.php
## includes/topic_review.php
## includes/usercp_register.php
##
## templates/subSilver/confirm_body.tpl
## templates/subSilver/faq_body.tpl
## templates/subSilver/groupcp_info_body.tpl
## templates/subSilver/groupcp_user_body.tpl
## templates/subSilver/login_body.tpl
## templates/subSilver/memberlist_body.tpl
## templates/subSilver/modcp_move.tpl
## templates/subSilver/modcp_split.tpl
## templates/subSilver/modcp_viewip.tpl
## templates/subSilver/overall_header.tpl
## templates/subSilver/posting_body.tpl
## templates/subSilver/posting_preview.tpl
## templates/subSilver/posting_topic_review.tpl
## templates/subSilver/privmsgs_body.tpl
## templates/subSilver/privmsgs_read_body.tpl
## templates/subSilver/profile_add_body.tpl
## templates/subSilver/profile_avatar_gallery.tpl
## templates/subSilver/profile_send_email.tpl
## templates/subSilver/profile_send_pass.tpl
## templates/subSilver/profile_view_body.tpl
## templates/subSilver/search_body.tpl
## templates/subSilver/search_results_posts.tpl
## templates/subSilver/subSilver.cfg
## templates/subSilver/viewonline_body.tpl
##
## templates/subSilver/admin/group_edit_body.tpl
## templates/subSilver/admin/index_body.tpl
## templates/subSilver/admin/styles_edit_body.tpl
##
## Included Files:
## root/*.*
##
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/
##############################################################
## Author Notes:
##
## IMPORTANT, AND NOT OPTIONAL:
## ---------------------------
## Before willing to go any further, please make a save of your current phpBB directory, then
## do the following renames. It would be a bad idea to try to go quicker than the tempo !
##
## RENAME index.php INTO _sav_index.php
## RENAME viewforum.php INTO _sav_viewforum.php
##
## RENAME admin/admin_forum_prune.php INTO admin/_sav_admin_forum_prune.php
## RENAME admin/admin_forumauth.php INTO admin/_sav_admin_forumauth.php
## RENAME admin/admin_forums.php INTO admin/_sav_admin_forums.php
## RENAME admin/admin_ug_auth.php INTO admin/_sav_admin_ug_auth.php
##
## RENAME templates/subSilver/index_body.tpl INTO templates/subSilver/_sav_index_body.tpl
## RENAME templates/subSilver/modcp_body.tpl INTO templates/subSilver/_sav_modcp_body.tpl
## RENAME templates/subSilver/search_results_topics.tpl INTO templates/subSilver/_sav_search_results_topics.tpl
## RENAME templates/subSilver/viewforum_body.tpl INTO templates/subSilver/_sav_viewforum_body.tpl
## RENAME templates/subSilver/viewtopic_body.tpl INTO templates/subSilver/_sav_viewtopic_body.tpl
##
## RENAME templates/subSilver/admin/auth_forum_body.tpl INTO templates/subSilver/admin/_sav_auth_forum_body.tpl
## RENAME templates/subSilver/admin/auth_select_body.tpl INTO templates/subSilver/admin/_sav_auth_select_body.tpl
## RENAME templates/subSilver/admin/auth_ug_body.tpl INTO templates/subSilver/admin/_sav_auth_ug_body.tpl
## RENAME templates/subSilver/admin/category_edit_body.tpl INTO templates/subSilver/admin/_sav_category_edit_body.tpl
## RENAME templates/subSilver/admin/forum_admin_body.tpl INTO templates/subSilver/admin/_sav_forum_admin_body.tpl
## RENAME templates/subSilver/admin/forum_delete_body.tpl INTO templates/subSilver/admin/_sav_forum_delete_body.tpl
## RENAME templates/subSilver/admin/forum_edit_body.tpl INTO templates/subSilver/admin/_sav_forum_edit_body.tpl
## RENAME templates/subSilver/admin/forum_prune_body.tpl INTO templates/subSilver/admin/_sav_forum_prune_body.tpl
## RENAME templates/subSilver/admin/forum_prune_result_body.tpl INTO templates/subSilver/admin/_sav_forum_prune_result_body.tpl
## RENAME templates/subSilver/admin/forum_prune_select_body.tpl INTO templates/subSilver/admin/_sav_forum_prune_select_body.tpl
##
##
## Complementary notes :
## - This mod adds Markus Petrux's Fix message_die for multiple errors MOD (http://www.phpbb.com/phpBB/viewtopic.php?t=233542)
## - "Today/yesterday at" is based on Netclectic's one (http://www.phpbb.com/phpBB/viewtopic.php?t=158812)
## - Message Sub-title feature is based on Morpheus2matrix's "Topic description mod" (http://www.phpbb.com/phpBB/viewtopic.php?t=148241)
## and has been realised by Gilgraf (http://ggweb-fr.com/phpbbfre/)
## - Last post topic title on index is based on e-Sven idea
##
## Don't forget also to browse the goodies/ directory ! :)
##############################################################
## MOD History:
##
## 2004-10-10 - Version 2.1.0
## a complete overall of categories hierarchy, with a lot of new features including :
## - use of the table forum for categories (categories table is not used anymore),
## - advanced forums administration, including custom presets for auths,
## - styles, topic order, and other layout options per forums,
## - today/yesterday at based on Netclectic's mod,
## - last post topic title on index based on e-Sven mod,
## - keep unread topics flag (in cookies or in database),
## - announces duration,
## - message icons in front of topic title,
## - a new more solid cache system, with tweaking tool,
## - and more ... :)
##
##
## 2003-12-20 - Version 2.0.5
## - fix moderators not displaied in forums view
## - split the cache module to a separate installation to use with other mods
## - analyse and removal of sql requests usage
## - reoganize distribution pack
##
## 2003-11-22 - Version 2.0.4
## - fix topics count and forum link type hit count not displayed when caches used
## - fix moving cats and forums in forum extend
##
## 2003-11-13 - Version 2.0.4 - RC 2
## - add a cache system for tables : categories, forums, themes, and words
## - fix : standard forums admin : icons not saved
## - fix : extended forums admin : some forums options were showing in categories if topic display order was installed
## - fix : extended forums admin : sql generated if no use of real subforums was wrong
##
## 2003-11-10 - Version 2.0.4-RC
## - fix topic title viewable in search results
## - unqualify some path to images in admin context
## - centralize all admin auth definition in def_auth.php (for further management of presets)
## - add the forum icon feature
## - add a more easy-to-use facultative forum administration
##
## 2003-10-21 - Version 2.0.3
## - upgrade the mods settings tool
## - add the lang settings tool
## - add the missing sub-forums links for the forums attached to index
## - fix the prec/next topic link
##
## 2003-09-24 - Version 2.0.2
## - fix the missing categories name in admin drop down box,
## - remove HTML in overviewed forum/cat descriptions,
## - remove extra line between forum desc, moderators and links on index,
## - add the $lang['Subforums'] entry to display in front of the mini links on index (default is blank)
##
## 2003-09-18 - Version 2.0.1
## - enhance quickness on hughe forums tree
## - fix spacer issue in admin
## - clean index_box.tpl from th classes
## - fix auth_read and auth_view confusion in phpBB
##
## 2003-08-19 - Version 2.0.0
## - support of multi-language forums and categories name and description
## - add forum link type feature
## - add the ability to attach a category to a forum
## - add the ability (optional) to attach a forum to a forum
## - add the ability to mix the sort of categories and forums at the same level
## - add another level of packing the index (full packing)
## - add the prec extension "last topic title on index" as an option to the base version
## - add the prec enhancement "links to sub-level on description" as an option to the base version
## - redesign of the forums and categories reading
## - add the ability to split categories on index
## - add the ability to remove within the acp the who's online box at different level
## - more friendly admin forums and cats administration (ACP)
## - admin interface for setting the display
## - users preferences interface with mods settings mod (included in the pack)
##
## 2003-04-09 - Version 1.1.0
## 2003-03-24 - Version 1.0.9
## 2003-03-05 - Version 1.0.8
## 2003-03-01 - Version 1.0.7
## 2003-02-21 - Version 1.0.6
## 2003-02-21 - Version 1.0.5
## 2003-01-15 - Version 1.0.2
## 2003-01-05 - Version 1.0.1
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################
#
#-----[ SQL ]-------------------------------------------------
#
# forums
#
ALTER TABLE phpbb_forums
ADD forum_type CHAR(1) BINARY NOT NULL DEFAULT 'f' AFTER forum_status,
ADD forum_main SMALLINT(5) UNSIGNED NOT NULL AFTER forum_status,
ADD auth_global_announce TINYINT( 2 ) NOT NULL AFTER auth_announce,
ADD forum_last_title VARCHAR( 255 ),
ADD forum_last_poster MEDIUMINT( 8 ) NOT NULL,
ADD forum_last_username VARCHAR( 25 ),
ADD forum_last_time INT( 11 ) NOT NULL,
ADD forum_link VARCHAR( 255 ),
ADD forum_link_hit_count TINYINT( 1 ) NOT NULL,
ADD forum_link_hit BIGINT(20) UNSIGNED NOT NULL,
ADD forum_link_start INT(11) NOT NULL,
ADD forum_style TINYINT( 4 ) NOT NULL,
ADD forum_nav_icon VARCHAR( 255 ),
ADD forum_icon VARCHAR( 255 ),
ADD forum_topics_ppage TINYINT( 2 ) NOT NULL,
ADD forum_topics_sort VARCHAR( 25 ),
ADD forum_topics_order VARCHAR( 4 ),
ADD forum_index_pack TINYINT( 1 ) NOT NULL,
ADD forum_index_split TINYINT( 1 ) NOT NULL,
ADD forum_board_box TINYINT( 1 ) NOT NULL;
#
#-----[ SQL ]-------------------------------------------------
#
# auths
#
ALTER TABLE phpbb_auth_access
ADD auth_global_announce TINYINT( 1 ) NOT NULL AFTER auth_announce;
#
#-----[ SQL ]-------------------------------------------------
#
# auths definitions
#
CREATE TABLE phpbb_auths_def (
auth_id SMALLINT(5) UNSIGNED NOT NULL auto_increment,
auth_type CHAR(1) BINARY NOT NULL default '',
auth_name VARCHAR(50) NOT NULL default '',
auth_desc VARCHAR(255) NOT NULL default '',
auth_title TINYINT(1) NOT NULL default '0',
auth_order MEDIUMINT(8) UNSIGNED NOT NULL default '0',
PRIMARY KEY (auth_id)
);
#
#-----[ SQL ]-------------------------------------------------
#
# topics
#
ALTER TABLE phpbb_topics
ADD topic_sub_title VARCHAR( 255 ) DEFAULT NULL,
ADD topic_first_username VARCHAR( 25 ),
ADD topic_last_poster MEDIUMINT( 8 ) NOT NULL,
ADD topic_last_username VARCHAR( 25 ),
ADD topic_last_time INT( 11 ) NOT NULL,
ADD topic_icon SMALLINT( 3 ) UNSIGNED NOT NULL,
ADD topic_duration INT( 11 ) NOT NULL;
ALTER TABLE phpbb_topics
CHANGE topic_title topic_title VARCHAR( 255 ) NOT NULL;
#
#-----[ SQL ]-------------------------------------------------
#
# posts
#
ALTER TABLE phpbb_posts
ADD post_icon SMALLINT( 3 ) UNSIGNED NOT NULL;
#
#-----[ SQL ]-------------------------------------------------
#
# posts text
#
ALTER TABLE phpbb_posts_text
ADD post_sub_title VARCHAR( 255 ) DEFAULT NULL;
ALTER TABLE phpbb_posts_text
CHANGE post_subject post_subject VARCHAR( 255 ) DEFAULT NULL;
#
#-----[ SQL ]-------------------------------------------------
#
# users
#
ALTER TABLE phpbb_users
ADD user_unread_date INT( 11 ) NOT NULL,
ADD user_unread_topics TEXT,
ADD user_keep_unreads TINYINT( 1 ) NOT NULL,
ADD user_topics_sort VARCHAR( 25 ) NOT NULL,
ADD user_topics_order VARCHAR( 4 ) NOT NULL,
ADD user_smart_date TINYINT( 1 ) NOT NULL,
ADD user_board_box TINYINT( 1 ) NOT NULL,
ADD user_index_pack TINYINT( 1 ) NOT NULL,
ADD user_index_split TINYINT( 1 ) NOT NULL,
ADD user_session_logged TINYINT( 1 ) NOT NULL;
#
#-----[ SQL ]-------------------------------------------------
#
# groups
#
ALTER TABLE phpbb_groups
ADD group_status TINYINT( 2 ) NOT NULL,
ADD group_user_id MEDIUMINT( 8 ) DEFAULT 0 NOT NULL,
ADD group_user_list TEXT NOT NULL;
#
#-----[ SQL ]-------------------------------------------------
#
# config
#
ALTER TABLE phpbb_config
ADD config_static SMALLINT(1) UNSIGNED NOT NULL DEFAULT 0;
#
#-----[ SQL ]-------------------------------------------------
#
# styles
#
ALTER TABLE phpbb_themes
ADD images_pack VARCHAR( 100 ) NOT NULL AFTER style_name,
ADD custom_tpls VARCHAR( 100 ) NOT NULL AFTER images_pack;
#
#-----[ SQL ]-------------------------------------------------
#
# user cache
#
CREATE TABLE phpbb_users_cache (
user_id MEDIUMINT(8) NOT NULL,
cache_id VARCHAR(5) NOT NULL,
cache_data TEXT,
cache_time INT(11),
PRIMARY KEY ( user_id, cache_id )
);
#
#-----[ SQL ]-------------------------------------------------
#
# presets names
#
CREATE TABLE phpbb_presets (
preset_id MEDIUMINT(5) UNSIGNED NOT NULL auto_increment,
preset_type VARCHAR(5) NOT NULL default '',
preset_name VARCHAR(50) NOT NULL default '',
PRIMARY KEY ( preset_id )
);
#
#-----[ SQL ]-------------------------------------------------
#
# presets data
#
CREATE TABLE phpbb_presets_data (
preset_id MEDIUMINT(5) UNSIGNED NOT NULL DEFAULT '0',
preset_auth VARCHAR(50) NOT NULL DEFAULT '',
preset_value TINYINT(1) DEFAULT NULL,
PRIMARY KEY ( preset_id, preset_auth )
);
#
#-----[ SQL ]-------------------------------------------------
#
# messages icons
#
CREATE TABLE phpbb_icons (
icon_id MEDIUMINT(3) NOT NULL AUTO_INCREMENT,
icon_name VARCHAR(50) NOT NULL DEFAULT '',
icon_url VARCHAR(255) NOT NULL DEFAULT '',
icon_acl TINYINT(2) NOT NULL DEFAULT '0',
icon_types VARCHAR(255) DEFAULT NULL,
icon_order MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (icon_id)
);
#
#-----[ SQL ]-------------------------------------------------
#
# control panels fields
#
CREATE TABLE phpbb_cp_fields (
field_id MEDIUMINT(8) UNSIGNED NOT NULL AUTO_INCREMENT,
field_name VARCHAR(50) NOT NULL DEFAULT '',
panel_id MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
field_order MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
field_attr TEXT NOT NULL,
PRIMARY KEY (field_id),
KEY panel_id (panel_id,field_name)
);
#
#-----[ SQL ]-------------------------------------------------
#
# control panels defs
#
CREATE TABLE phpbb_cp_panels (
panel_id MEDIUMINT(8) UNSIGNED NOT NULL AUTO_INCREMENT,
panel_shortcut VARCHAR(30) NOT NULL DEFAULT '',
panel_name VARCHAR(50) NOT NULL DEFAULT '',
panel_main MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
panel_order MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
panel_file VARCHAR(50) NOT NULL DEFAULT '',
panel_auth_type CHAR(1) binary NOT NULL DEFAULT '',
panel_auth_name VARCHAR(50) NOT NULL DEFAULT '',
panel_hidden TINYINT(1) NOT NULL DEFAULT '0',
PRIMARY KEY (panel_id)
);
#
#-----[ SQL ]-------------------------------------------------
#
# control panels patches
#
CREATE TABLE phpbb_cp_patches (
patch_id MEDIUMINT(8) UNSIGNED NOT NULL auto_increment,
patch_file VARCHAR(255) NOT NULL DEFAULT '',
patch_time INT(11) NOT NULL DEFAULT '0',
patch_version VARCHAR(25) NOT NULL DEFAULT '',
patch_date VARCHAR(8) NOT NULL DEFAULT '',
patch_ref VARCHAR(255) NOT NULL DEFAULT '',
patch_author VARCHAR(255) NOT NULL DEFAULT '',
PRIMARY KEY (patch_id)
);
#
#-----[ SQL ]-------------------------------------------------
#
# extended auths table
#
CREATE TABLE phpbb_auths (
group_id MEDIUMINT(8) NOT NULL DEFAULT '0',
obj_type CHAR(1) BINARY NOT NULL DEFAULT '',
obj_id MEDIUMINT(8) NOT NULL DEFAULT '0',
auth_name VARCHAR(50) NOT NULL DEFAULT '',
auth_value TINYINT(1) NOT NULL DEFAULT '0',
PRIMARY KEY (group_id,obj_type,obj_id,auth_name),
KEY group_id (group_id,obj_type),
KEY obj_type (obj_type,obj_id)
);
#
#-----[ SQL ]-------------------------------------------------
#
# indexes addition
#
ALTER TABLE phpbb_topics ADD INDEX ( topic_last_time );
ALTER TABLE phpbb_posts ADD INDEX ( post_icon );
ALTER TABLE phpbb_config ADD INDEX ( config_static );
ALTER TABLE phpbb_groups ADD INDEX ( group_user_id );
#
#-----[ COPY ]------------------------------------------------
#
COPY root/*.* TO ./*.*
#
#-----[ OPEN ]------------------------------------------------
#
common.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
die("Hacking attempt");
}
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
$starttime = microtime();
$trc_loc_start = $trc_loc_end = 0;
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
include($phpbb_root_path . 'includes/template.'.$phpEx);
#
#-----[ REPLACE WITH ]----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
// include($phpbb_root_path . 'includes/template.'.$phpEx);
//-- add
include($phpbb_root_path . 'includes/class_template.'.$phpEx);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
$sql = "SELECT *
FROM " . CONFIG_TABLE;
if( !($result = $db->sql_query($sql)) )
{
message_die(CRITICAL_ERROR, "Could not query config information", "", __LINE__, __FILE__, $sql);
}
while ( $row = $db->sql_fetchrow($result) )
{
$board_config[$row['config_name']] = $row['config_value'];
}
#
#-----[ REPLACE WITH ]----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
// $sql = "SELECT *
// FROM " . CONFIG_TABLE;
// if( !($result = $db->sql_query($sql)) )
// {
// message_die(CRITICAL_ERROR, "Could not query config information", "", __LINE__, __FILE__, $sql);
// }
//
// while ( $row = $db->sql_fetchrow($result) )
// {
// $board_config[$row['config_name']] = $row['config_value'];
// }
//-- add
// include basic classes def
include($phpbb_root_path . 'includes/class_config.' . $phpEx);
include($phpbb_root_path . 'includes/class_groups.' . $phpEx);
// get config
$config = new config_class();
if ( !$config->read() )
{
define('RUN_CH_INSTALL', true);
}
$board_config = &$config->data;
// let's run the upgrade script
if ( !defined('IN_LOGIN') && !defined('IN_INSTALL') && (($config->data['mod_cat_hierarchy'] != '2.1.0f') || defined('RUN_CH_INSTALL')) )
{
header('Location: ./install_cat/install.' . $phpEx . (empty($SID) ? '' : '?' . $SID));
exit;
}
// user objects
include($config->url('includes/class_user'));
include($config->url('includes/class_auth'));
// instantiate some objects
$user = new user();
$censored_words = new words();
$icons = new icons();
$navigation = new navigation();
$themes = '';
$smilies = new smilies();
// People never read achievement messages after after having seen "Succesfull !", tss tss :)
if ( file_exists('install_cat') && !defined('IN_LOGIN') && !defined('IN_INSTALL') )
{
message_die(GENERAL_MESSAGE, 'Please ensure the install_cat/ directory is deleted');
}
// messages queue
$message_queue = '';
@include($config->url('includes/class_message'));
$message_queue = !defined('CH_message_queue') ? '' : new message_queue();
//-- fin mod : categories hierarchy -------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
faq.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
//
// End session management
//
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
$navigation = new navigation();
$navigation->add('FAQ', '', 'faq', '', '');
$navigation->display();
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
groupcp.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
// End session management
//
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
$navigation = new navigation();
$navigation->add('Usergroups', '', 'groupcp', '', '');
$navigation->display();
// read forums and auths for the jumpbox
include($config->url('includes/class_forums'));
$forums = new forums();
$forums->read();
$user->get_cache(array(POST_GROUPS_URL, POST_FORUM_URL, POST_FORUM_URL . 'jbox'));
$user_groups_list = $user->get_groups_list();
// auth
$auth_manage = false;
$auth_membership = false;
// level
$is_founder = $user->data['session_logged_in'] && in_array(GROUP_FOUNDER, $user_groups_list);
$is_admin = $user->data['session_logged_in'] && in_array(GROUP_ADMIN, $user_groups_list);
$is_owner = false;
// read group
$group_id = _read(POST_GROUPS_URL, TYPE_INT);
if ( $group_id == GROUP_REGISTERED )
{
message_return('Not_Authorised');
}
$group_status = GROUP_STANDARD;
$group_row = array();
if ( !empty($group_id) )
{
$sql = 'SELECT *
FROM ' . GROUPS_TABLE . '
WHERE group_id = ' . intval($group_id) . '
AND group_single_user <> ' . true;
$result = $db->sql_query($sql, false, __LINE__, __FILE__);
if ( $group_row = $db->sql_fetchrow($result) )
{
$group_status = intval($group_row['group_status']);
$group_row['group_name'] = ($group_status >= GROUP_SYSTEM) ? $user->lang($group_row['group_name']) : $group_row['group_name'];
$group_row['group_description'] = ($group_status >= GROUP_SYSTEM) ? $user->lang($group_row['group_description']) : $group_row['group_description'];
$is_owner = $user->data['session_logged_in'] && (intval($group_row['group_moderator']) == $user->data['user_id']);
}
}
switch ( $group_id )
{
case GROUP_FOUNDER:
$auth_manage = $is_owner;
$auth_membership = $is_owner;
break;
case GROUP_ADMIN:
$auth_manage = $is_founder;
$auth_membership = $is_owner || $is_founder;
break;
default:
$auth_manage = $is_owner || $is_founder || $is_admin;
$auth_membership = $is_owner || $is_founder || $is_admin;
break;
}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
$sql = "SELECT group_moderator
FROM " . GROUPS_TABLE . "
WHERE group_id = $group_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain user and group information', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- add
// get the group
$row = $group_row;
$group_type = _read('group_type', TYPE_INT);
if ( !$auth_membership )
{
_error('Not_group_moderator');
}
else if ( ($group_status >= GROUP_SYSTEM) && ($group_type < GROUP_CLOSED) )
{
_error('Change_sysgroup_type_denied');
}
else if ( ($group_type != $row['group_type']) && !$auth_manage )
{
_error('Manage_group_denied');
}
if ( $error )
{
$l_link = 'Click_return_group';
$u_link = $config->url('groupcp', array(POST_GROUPS_URL => intval($group_id)), true);
message_return($error_msg, $l_link, $u_link);
}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
if ( $userdata['user_level'] != ADMIN && $userdata['user_level'] == MOD )
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longest
#
$message = $lang['Unsub_success'] . '<br /><br />' . sprintf($lang['Click_return_group'], '<a href="' . append_sid("groupcp.$phpEx?" . POST_GROUPS_URL . "=$group_id") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message);
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- add
// recache users
$sql = 'DELETE FROM ' . USERS_CACHE_TABLE . '
WHERE user_id = ' . $userdata['user_id'];
$db->sql_query($sql, false, __LINE__, __FILE__);
// remove membership from groups list
$user->get_groups_list(true);
// set users mod status
$moderators = new moderators();
$moderators->set_users_status();
unset($moderators);
// send achievement message
message_return('Unsub_success', 'Click_return_group', $config->url('groupcp', array(POST_GROUPS_URL => intval($group_id)), true));
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
//
// For security, get the ID of the group moderator.
//
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
#
#-----[ FIND ]------------------------------------------------
#
if ( $group_moderator == $userdata['user_id'] || $userdata['user_level'] == ADMIN )
{
$is_moderator = TRUE;
}
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- add
if ( empty($group_row) )
{
message_return('No_such_group');
}
if ( $group_info = $group_row )
{
// reminder : use later gcp_manage auth
$is_moderator = $auth_membership;
$group_moderator = $group_info['group_moderator'];
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
if ( $row['user_level'] != ADMIN && $row['user_level'] != MOD && $group_info['auth_mod'] )
{
$sql = "UPDATE " . USERS_TABLE . "
SET user_level = " . MOD . "
WHERE user_id = " . $row['user_id'];
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update user level', '', __LINE__, __FILE__, $sql);
}
}
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- add
// recache user
$sql = 'DELETE FROM ' . USERS_CACHE_TABLE . '
WHERE user_id = ' . intval($row['user_id']);
$db->sql_query($sql, false, __LINE__, __FILE__);
// recache groups list and user id on individual group
$view_user = new user();
$view_user->read(intval($row['user_id']));
$view_user->get_groups_list(true);
unset($view_user);
// set users mod status
$moderators = new moderators();
$moderators->set_users_status();
unset($moderators);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
//
// Get the group name
// Email the user and tell them they're in the group
//
$group_sql = "SELECT group_name
FROM " . GROUPS_TABLE . "
WHERE group_id = $group_id";
if ( !($result = $db->sql_query($group_sql)) )
{
message_die(GENERAL_ERROR, 'Could not get group information', '', __LINE__, __FILE__, $group_sql);
}
$group_name_row = $db->sql_fetchrow($result);
$group_name = $group_name_row['group_name'];
#
#-----[ REPLACE WITH ]----------------------------------------
#
//
// Get the group name
// Email the user and tell them they're in the group
//
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
$group_sql = "SELECT group_name
FROM " . GROUPS_TABLE . "
WHERE group_id = $group_id";
if ( !($result = $db->sql_query($group_sql)) )
{
message_die(GENERAL_ERROR, 'Could not get group information', '', __LINE__, __FILE__, $group_sql);
}
$group_name_row = $db->sql_fetchrow($result);
$group_name = $group_name_row['group_name'];
*/
//-- add
$group_name = $group_row['group_name'];
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
if ( $group_info['auth_mod'] )
{
$sql = "UPDATE " . USERS_TABLE . "
SET user_level = " . MOD . "
WHERE user_id IN ($sql_in)
AND user_level NOT IN (" . MOD . ", " . ADMIN . ")";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update user level', '', __LINE__, __FILE__, $sql);
}
}
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
if ( $group_info['auth_mod'] )
{
$sql = "SELECT ug.user_id, ug.group_id
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
#
#-----[ FIND ]------------------------------------------------
#
WHERE user_id IN ($remove_mod_sql)
AND user_level NOT IN (" . ADMIN . ")";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update user level', '', __LINE__, __FILE__, $sql);
}
}
}
}
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
message_die(GENERAL_ERROR, 'Could not update user group table', '', __LINE__, __FILE__, $sql);
}
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
// recache users
$sql = 'DELETE FROM ' . USERS_CACHE_TABLE . '
WHERE user_id IN(' . $sql_in . ')';
$db->sql_query($sql, false, __LINE__, __FILE__);
// set the good value for the groups list
$sql = 'SELECT group_id, group_user_list
FROM ' . GROUPS_TABLE . '
WHERE group_user_id IN(' . $sql_in . ')';
$result = $db->sql_query($sql, false, __LINE__, __FILE__);
while ( $row = $db->sql_fetchrow($result) )
{
$groups_list = empty($row['group_user_list']) ? array() : array_flip(explode(',', substr($row['group_user_list'], 1, strlen($row['group_user_list'])-2)));
if ( isset($HTTP_POST_VARS['approve']) )
{
$groups_list[$group_id] = true;
}
else if ( isset($HTTP_POST_VARS['remove']) && isset($groups_list[$group_id]) )
{
unset($groups_list[$group_id]);
}
$fields = array(
'group_user_list' => empty($groups_list) ? '' : ',' . implode(',', array_keys($groups_list)) . ',',
);
$db->sql_statement($fields);
$sql = 'UPDATE ' . GROUPS_TABLE . '
SET ' . $db->sql_update . '
WHERE group_id = ' . intval($row['group_id']);
$db->sql_query($sql, false, __LINE__, __FILE__);
}
// set users mod status
$moderators = new moderators();
$moderators->set_users_status();
unset($moderators);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
//
// Get the group name
//
$group_sql = "SELECT group_name
FROM " . GROUPS_TABLE . "
WHERE group_id = $group_id";
if ( !($result = $db->sql_query($group_sql)) )
{
message_die(GENERAL_ERROR, 'Could not get group information', '', __LINE__, __FILE__, $group_sql);
}
$group_name_row = $db->sql_fetchrow($result);
$group_name = $group_name_row['group_name'];
#
#-----[ REPLACE WITH ]----------------------------------------
#
//
// Get the group name
//
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
$group_sql = "SELECT group_name
FROM " . GROUPS_TABLE . "
WHERE group_id = $group_id";
if ( !($result = $db->sql_query($group_sql)) )
{
message_die(GENERAL_ERROR, 'Could not get group information', '', __LINE__, __FILE__, $group_sql);
}
$group_name_row = $db->sql_fetchrow($result);
$group_name = $group_name_row['group_name'];
*/
//-- add
$group_name = $group_row['group_name'];
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
//
// Get group details
//
$sql = "SELECT *
FROM " . GROUPS_TABLE . "
WHERE group_id = $group_id
AND group_single_user = 0";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Error getting group information', '', __LINE__, __FILE__, $sql);
}
if ( !($group_info = $db->sql_fetchrow($result)) )
{
message_die(GENERAL_MESSAGE, $lang['Group_not_exist']);
}
#
#-----[ REPLACE WITH ]----------------------------------------
#
//
// Get group details
//
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
$sql = "SELECT *
FROM " . GROUPS_TABLE . "
WHERE group_id = $group_id
AND group_single_user = 0";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Error getting group information', '', __LINE__, __FILE__, $sql);
}
if ( !($group_info = $db->sql_fetchrow($result)) )
{
message_die(GENERAL_MESSAGE, $lang['Group_not_exist']);
}
*/
//-- add
if ( !($group_info = $group_row) )
{
message_return('Group_not_exist');
}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
if ( $userdata['user_level'] == ADMIN )
{
$is_moderator = TRUE;
}
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
$is_moderator = $auth_membership;
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
ORDER BY g.group_name, ug.user_id";
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
$sql = str_replace('SELECT g.group_id, ', 'SELECT g.group_status, g.group_id, ', $sql);
$sql = str_replace('WHERE ', 'WHERE g.group_id <> ' . intval($config->data['group_registered']) . ' AND ', $sql);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
$s_pending_groups_opt = '';
do
{
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
if ( $row['group_status'] == GROUP_SYSTEM )
{
$row['group_name'] = $user->lang($row['group_name']);
}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
$ignore_group_sql
ORDER BY g.group_name";
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
$sql = str_replace('SELECT group_id, ', 'SELECT group_status, group_id, ', $sql);
$sql = str_replace('WHERE ', 'WHERE g.group_id <> ' . intval($config->data['group_registered']) . ' AND g.group_status < ' . GROUP_SPECIAL . ' AND ', $sql);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
$s_group_list_opt = '';
while( $row = $db->sql_fetchrow($result) )
{
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
if ( $row['group_status'] == GROUP_SYSTEM )
{
$row['group_name'] = $user->lang($row['group_name']);
}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
login.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
//
// End session management
//
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
$navigation = new navigation();
$navigation->add('Login', '', 'login', '', '');
$navigation->display();
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
memberlist.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
//
// End session management
//
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
$navigation = new navigation();
$navigation->add('Memberlist', '', 'memberlist', '', '');
$navigation->display();
// extra selection
$select_group = _read(POST_GROUPS_URL, TYPE_INT);
if ( $select_group == GROUP_REGISTERED )
{
$select_group = 0;
}
$select_level = _read('level', TYPE_INT);
$sql_join = '';
$sql_where = empty($select_level) ? '' : 'user_level = ' . intval($select_level) . ' AND ';
if ( !empty($select_group) )
{
$sql_join = ', ' . GROUPS_TABLE . ' g';
$sql_where = 'g.group_user_id = user_id AND g.group_user_list LIKE \'%,' . intval($select_group) . ',%\' AND ';
}
$selection = (empty($select_group) ? '' : '&' . POST_GROUPS_URL . '=' . intval($select_group)) . (empty($select_level) ? '' : '&level=' . intval($select_level));
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longest
#
$sql = "SELECT username, user_id,
FROM " . USERS_TABLE . "
WHERE user_id <> " . ANONYMOUS . "
ORDER BY $order_by";
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
if ( !empty($sql_join) )
{
$sql = str_replace('FROM ' . USERS_TABLE, 'FROM ' . USERS_TABLE . $sql_join, $sql);
}
if ( !empty($sql_where) )
{
$sql = str_replace('WHERE ', 'WHERE ' . $sql_where, $sql);
}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
while ( $row = $db->sql_fetchrow($result) );
$db->sql_freeresult($result);
}
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
else
{
message_return('No_match');
}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines is longest
#
$pagination = generate_pagination("memberlist.$phpEx?mode=$mode&order=$sort_order",
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
// here we added
// " . $selection . "
//-- modify
#
#-----[ IN-LINE FIND ]----------------------------------------
#
mode=$mode
#
#-----[ IN-LINE AFTER, ADD ]----------------------------------
#
" . $selection . "
#
#-----[ AFTER, ADD ]------------------------------------------
#
# on a new line
#
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
modcp.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
include($phpbb_root_path . 'includes/functions_admin.'.$phpEx);
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
include($config->url('includes/class_forums'));
include($config->url('includes/class_topics'));
$forums = new forums();
$forums->read();
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
//
// End session management
//
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
$template->assign_vars(array(
'U_MOD_CP' => $config->url('modcp', array(POST_FORUM_URL => $forum_id, 'sid' => $user->data['session_id'])),
'L_MOD_CP' => $user->lang('Mod_CP'),
)
);
$user->get_cache(array(POST_FORUM_URL, POST_FORUM_URL . 'jbox'));
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
else if ( $forum_id )
{
$redirect = "viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id";
}
else
{
$redirect = "index.$phpEx";
}
#
#-----[ REPLACE WITH ]----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
// else if ( $forum_id )
// {
// $redirect = "viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id";
// }
// else
// {
// $redirect = "index.$phpEx";
// }
//-- add
else
{
$redirect = $config->url('index', array(POST_FORUM_URL => $forum_id), true);
}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
$is_auth = auth(AUTH_ALL, $forum_id, $userdata);
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
if ( $forums->data[$forum_id]['forum_type'] != POST_FORUM_URL )
{
$l_link = 'Click_return_forum';
$u_link = $config->url('index', array(POST_FORUM_URL => $forum_id), true);
message_return('Move_to_forum_error', $l_link, $u_link);
}
// display nav sentence
$forums->display_nav(($mode == 'ip') ? 0 : $forum_id);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
$redirect_page = "viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id&sid=" . $userdata['session_id'];
#
#-----[ REPLACE WITH ]----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
// $redirect_page = "viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id&sid=" . $userdata['session_id'];
//-- add
$redirect_page = $config->url('index', array(POST_FORUM_URL => $forum_id, 'sid' => $userdata['session_id']));
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
$old_forum_id = $forum_id;
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
if ( $forums->data[$new_forum_id]['forum_type'] != POST_FORUM_URL )
{
$l_link = 'Click_return_modcp';
$u_link = $config->url('modcp', array(POST_FORUM_URL => $forum_id, 'sid' => $user->data['session_id']));
message_return('Move_to_forum_error', $l_link, $u_link, 10);
}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
sync('forum', $old_forum_id);
#
#-----[ REPLACE WITH ]----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
// sync('forum', $old_forum_id);
//-- add
if ( $new_forum_id != $old_forum_id )
{
sync('forum', $old_forum_id);
}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# nb.: the next find occurs 3 times in modcp, and has to be modified 3 times the same way
#
$message = $message . '<br \><br \>' . sprintf($lang['Click_return_forum'], '<a href="' . "viewforum.$phpEx?" . POST_FORUM_URL . "=$old_forum_id&sid=" . $userdata['session_id'] . '">', '</a>');
#
#-----[ REPLACE WITH ]----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
// $message = $message . '<br \><br \>' . sprintf($lang['Click_return_forum'], '<a href="' . "viewforum.$phpEx?" . POST_FORUM_URL . "=$old_forum_id&sid=" . $userdata['session_id'] . '">', '</a>');
//-- add
$message = $message . '<br \><br \>' . sprintf($lang['Click_return_forum'], '<a href="' . $config->url('index', array(POST_FORUM_URL => $old_forum_id, 'sid' => $userdata['session_id'])) . '">', '</a>');
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
$message = $message . '<br \><br \>' . sprintf($lang['Click_return_forum'], '<a href="' . "viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id&sid=" . $userdata['session_id'] . '">', '</a>');
#
#-----[ REPLACE WITH ]----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
// $message = $message . '<br \><br \>' . sprintf($lang['Click_return_forum'], '<a href="' . "viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id&sid=" . $userdata['session_id'] . '">', '</a>');
//-- add
$message = $message . '<br \><br \>' . sprintf($lang['Click_return_forum'], '<a href="' . $config->url('index', array(POST_FORUM_URL => $forum_id, 'sid' => $userdata['session_id'])) . '">', '</a>');
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
$message = $message . '<br \><br \>' . sprintf($lang['Click_return_forum'], '<a href="' . "viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id&sid=" . $userdata['session_id'] . '">', '</a>');
#
#-----[ REPLACE WITH ]----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
// $message = $message . '<br \><br \>' . sprintf($lang['Click_return_forum'], '<a href="' . "viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id&sid=" . $userdata['session_id'] . '">', '</a>');
//-- add
$message = $message . '<br \><br \>' . sprintf($lang['Click_return_forum'], '<a href="' . $config->url('index', array(POST_FORUM_URL => $forum_id, 'sid' => $userdata['session_id'])) . '">', '</a>');
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
$new_forum_id = intval($HTTP_POST_VARS['new_forum_id']);
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
if ( $forums->data[$new_forum_id]['forum_type'] != POST_FORUM_URL )
{
$l_link = 'Click_return_modcp';
$u_link = $config->url('modcp', array('mode' => 'split', POST_FORUM_URL => $forum_id, POST_TOPIC_URL => $topic_id, 'sid' => $user->data['session_id']));
message_return('Move_to_forum_error', $l_link, $u_link, 10);
}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
sync('forum', $new_forum_id);
sync('forum', $forum_id);
#
#-----[ REPLACE WITH ]----------------------------------------
#
sync('forum', $new_forum_id);
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
// sync('forum', $forum_id);
//-- add
if ( $new_forum_id != $forum_id )
{
sync('forum', $forum_id);
}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
'FORUM_NAME' => $forum_name,
'U_VIEW_FORUM' => append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id"),
#
#-----[ REPLACE WITH ]----------------------------------------
#
'FORUM_NAME' => $forum_name,
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
// 'U_VIEW_FORUM' => append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id"),
//-- add
'U_VIEW_FORUM' => $config->url('index', array(POST_FORUM_URL => $forum_id), true),
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
default:
$page_title = $lang['Mod_CP'];
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
$topics = new topics('modcp', array('sid' => $user->data['session_id']), 'modcp');
$topics->extra_parms = array('mode' => 'split', 'sid' => $user->data['session_id']);
// read topics keeping only local announces
$topics->read($forum_id, true);
$upper_box = false;
$display_empty = true;
$topics->display($upper_box, $display_empty);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
'L_SELECT' => $lang['Select'],
'U_VIEW_FORUM' => append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id"),
#
#-----[ REPLACE WITH ]----------------------------------------
#
'L_SELECT' => $lang['Select'],
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
// 'U_VIEW_FORUM' => append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id"),
//-- add
'U_VIEW_FORUM' => $config->url('index', array(POST_FORUM_URL => $forum_id), true),
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
//
// Define censored word matches
//
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
#
#-----[ FIND ]------------------------------------------------
#
'L_GOTO_PAGE' => $lang['Goto_page'])
);
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- fin mod : categories hierarchy --------------------------------------------
#