[MOD] Categories hierarchy - 2.1.0 / Alt Forum

[url=http://www.phpbbturkey.com/mods.html:34cnv4ga]phpBB 2.0.x MOD Veritabanımızda[/url:34cnv4ga] yayınlanan ve tarafınızca eklenen tüm yeni phpBB 2.0.x sürümleri için MODların duyuruları buradan yapılmaktadır. MODlar hakkında ihtiyacınız olan desteği lütfen [b:34cnv4ga]2.0.x MOD Destek[/b:34cnv4ga] forumuna başlık açarak sorunuz.
Kullanıcı avatarı
NEFRİT
Uzaklaştırıldı
Mesajlar: 1404
Kayıt: 28.01.2006, 04:15
Konum: DarkKingdom
İletişim:

[MOD] Categories hierarchy - 2.1.0 / Alt Forum

Mesaj gönderen NEFRİT »

Arkadaşlar bu mod alt forum sistemidir aynı easy sub forum yada simple sub forum gibi bir sistemdir. Ancak bu alt forum sistemi çok ve çok daha gelişmiş bir alt forum sistemidir örneğin bunda alt forum içne alt forum ekleyebilir hatta o alt forumun içinede alt forum ekleyebilirsiniz yani bunda iç içe alt forumlar oluşturmak mümkündür.

Ö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. :wink:


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 --------------------------------------------
#
En son NEFRİT tarafından 02.09.2006, 12:26 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Özellerden kullanıcılara reklam yaptığım için sayın yöneticim beni uzaklaştırdı.
Kullanıcı avatarı
NEFRİT
Uzaklaştırıldı
Mesajlar: 1404
Kayıt: 28.01.2006, 04:15
Konum: DarkKingdom
İletişim:

Mesaj gönderen NEFRİT »

KURULUM DOSYASI 2

Kod: Tümünü seç

#
#-----[ OPEN ]------------------------------------------------
#
posting.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
include($phpbb_root_path . 'includes/functions_post.'.$phpEx);
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
include($config->url('includes/class_forums'));
include($config->url('includes/class_form'));
$forums = new forums();
$forums->read();
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	generate_smilies('window', PAGE_POSTING);
	exit;
}
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
// get the forum of this topic/post
if ( empty($forum_id) )
{
	if ( !empty($topic_id) )
	{
		$sql = 'SELECT forum_id
					FROM ' . TOPICS_TABLE . '
					WHERE topic_id = ' . intval($topic_id);
	}
	else
	{
		$sql = 'SELECT forum_id
					FROM ' . POSTS_TABLE . '
					WHERE post_id = ' . intval($post_id);
	}
	$result = $db->sql_query($sql, false, __LINE__, __FILE__);
	if ( $row = $db->sql_fetchrow($result) )
	{
		$forum_id = $row['forum_id'];
	}
}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		$redirect = "viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id";
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : categories hierarchy ------------------------------------------------
//		$redirect = "viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id";
//-- add
		$redirect = $config->url('index', array(POST_FORUM_URL => $forum_id));
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	case 'newtopic':
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
		if ( $topic_type == POST_GLOBAL_ANNOUNCE )
		{
			$is_auth_type = 'auth_global_announce';
		}
		else
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
if ( $result = $db->sql_query($sql) )
{
	$post_info = $db->sql_fetchrow($result);
	$db->sql_freeresult($result);

	$forum_id = $post_info['forum_id'];
	$forum_name = $post_info['forum_name'];

	$is_auth = auth(AUTH_ALL, $forum_id, $userdata, $post_info);
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
// if ( $result = $db->sql_query($sql) )
// {
//	$post_info = $db->sql_fetchrow($result);
//	$db->sql_freeresult($result);
//
//	$forum_id = $post_info['forum_id'];
//	$forum_name = $post_info['forum_name'];
//
//	$is_auth = auth(AUTH_ALL, $forum_id, $userdata, $post_info);
//-- add
$user->get_cache(array(POST_FORUM_URL, POST_FORUM_URL . 'jbox'));
if ( $mode == 'newtopic' )
{
	$post_info['forum_id'] = intval($forum_id);
}
else
{
	// added fields from topic
	$added_sql = 't.topic_icon, t.topic_duration, t.topic_time, t.topic_sub_title';
	if ( defined('POST_CALENDAR') )
	{
		$added_sql .= ', t.topic_calendar_time, t.topic_calendar_duration';
	}

	// added fields from posts text
	if ( strpos(' ' . $sql, POSTS_TEXT_TABLE . ' pt') )
	{
		$added_sql .= ', pt.post_sub_title';
	}

	// added fields from post, and also forum id from topic if appropriate
	if ( strpos(' ' . $sql, POSTS_TABLE . ' p') )
	{
		$added_sql = 'p.forum_id, ' . $added_sql;
		$added_sql .= ', p.post_icon';
	}
	else
	{
		$added_sql = 't.forum_id, ' . $added_sql;
	}

	// let's do some cleaning in this request as we already have the forum informations
	// this way prevents to edit at too many place the script :)
	$sql = eregi_replace('AND f\.forum_id = (p|t)\.forum_id', '', $sql);
	$sql = str_replace(', ' . FORUMS_TABLE . ' f', '', $sql);
	$sql = str_replace('f.*', $added_sql, $sql);

	// read
	$result = $db->sql_query($sql, false, __LINE__, __FILE__);
	if ( !($post_info = $db->sql_fetchrow($result)) )
	{
		message_die(GENERAL_MESSAGE, $lang['No_such_post']);
	}
	$db->sql_freeresult($result);
}

// add the forums informations
if ( !empty($post_info['forum_id']) && !empty($forums->data[ $post_info['forum_id'] ]) )
{
	$forum_id = $post_info['forum_id'];

	// we only need to refresh data on some case (to get the "last_topic" info)
	$last_topic = in_array($mode, array('editpost', 'delete', 'poll_delete'));
	if ( $last_topic )
	{
		$forums->refresh($forum_id);
	}
	$row = $forums->data[$forum_id];
	if ( $last_topic )
	{
		if ( !empty($row['last']) )
		{
			foreach ( $row['last'] as $field_name => $field_value )
			{
				$row[$field_name] = $field_value;
			}
			unset($row['last']);
		}
		if ( !empty($row['subs']) )
		{
			unset($row['subs']);
		}
	}
	$post_info = array_merge($post_info, $row);
	$forum_name = $user->lang($post_info['forum_name']);

	// get auths
	$is_auth = auth(AUTH_ALL, $forum_id, $user->data, $post_info);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		message_die(GENERAL_MESSAGE, sprintf($lang['Sorry_' . $is_auth_type], $is_auth[$is_auth_type . "_type"]));
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
//		message_die(GENERAL_MESSAGE, sprintf($lang['Sorry_' . $is_auth_type], $is_auth[$is_auth_type . "_type"]));
//-- add
		message_die(GENERAL_MESSAGE, sprintf($lang['Sorry_' . $is_auth_type], $user->lang('Auth_Users_granted_access')));
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
$attach_sig = ( $submit || $refresh ) ? 
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
//
// all is prepared, the data have been readed from the table
//

// read icons
$icons->read();
$icons->get_allowed($forum_id);
if ( $mode == 'newtopic' )
{
	$post_info['topic_icon'] = 0;
	$post_info['post_icon'] = 0;
	$post_info['topic_type'] = POST_NORMAL;
}
$post_icon = empty($icons->allowed) ? 0 : _read('icon_id', TYPE_INT, (($mode == 'quote') || ($mode=='reply') ? 0 : ($post_data['first_post'] ? $post_info['topic_icon'] : $post_info['post_icon'])), array(0 => '') + array_flip($icons->allowed));

// topic types allowing topic duration (won't work with POST_NORMAL in it)
$types_with_duration = array(POST_ANNOUNCE, POST_GLOBAL_ANNOUNCE);

// get auths
$auth_calendar = defined('POST_CALENDAR') && $user->auth(POST_FORUM_URL, 'auth_calendar', $forum_id);
$auth_announces = $user->auth(POST_FORUM_URL, 'auth_announce', $forum_id) || $user->auth(POST_FORUM_URL, 'auth_global_announce', $forum_id);

// default values for added fields
$calendar_time = 0;
$calendar_duration = 0;
$topic_duration = ($post_data['first_post'] || ($mode == 'newtopic')) ? (!empty($post_info['topic_time']) && $auth_announces ? $post_info['topic_time'] : time()) : 0;

// prepare the form
$fields = array();

// first post added fields (so topics ones)
if ( ($mode == 'newtopic') || (($mode == 'editpost') && $post_data['first_post']) )
{
	//
	// calendar events
	//
	if ( $auth_calendar )
	{
		$fields += array(
			'calendar_title' => array('type' => 'title', 'legend' => 'Calendar_event'),
			'calendar_title_explain' => array('type' => 'comment_light', 'legend' => 'Calendar_event_explain'),
			'calendar_time' => array('type' => 'timestamp', 'legend' => 'Calendar_time', 'value' => intval($post_info['topic_calendar_time']), 'bold' => true),
			'calendar_stop' => array('type' => 'timestamp', 'legend' => 'Calendar_stop', 'value' => empty($post_info['topic_calendar_duration']) ? 0 : intval($post_info['topic_calendar_time']) + intval($post_info['topic_calendar_duration']), 'options.end_date' => true, 'bold' => true),
		);
	}

	//
	// announces duration fields
	//

	// get the topic type
	$topic_type = _read('topictype', TYPE_INT, $post_info['topic_type']);
	$sav_topic_type = _read('sav_topic_type', TYPE_INT, $topic_type);

	// if not on an announcement, set topic_duration to "never"
	$topic_duration = -1;

	// add the fields to the form
	if ( $auth_announces )
	{
		// new topic : use time() as topic_time
		if ( ($mode == 'newtopic') || !in_array($sav_topic_type, $types_with_duration) )
		{
			$topic_duration = time() + intval($config->data['default_duration']) * 86400;
		}
		// topic sat to "never"
		else if ( !empty($post_info['topic_duration']) && ($post_info['topic_time'] >= $post_info['topic_duration']) )
		{
			$topic_duration = -1;
		}
		// topic sat to "forever" or with an end date
		else
		{
			$topic_duration = intval($post_info['topic_duration']);
		}

		$fields += array(
			'topic_duration_title' => array('type' => 'title', 'legend' => 'Topic_duration'),
			'topic_duration_explain' => array('type' => 'comment_light', 'legend' => 'Topic_duration_explain', 'linefeed' => true),
			'topic_duration' => array('type' => 'date_unix', 'legend' => 'Topic_duration', 'value' => $topic_duration, 'options.specials' => array(-1 => 'Never_displayed', 0 => 'Always_displayed'), 'options.floor' => time(), 'options.end_date' => true),
			'topic_duration_special' => array('type' => 'comment', 'output' => true, 'legend' => 'Topic_duration_special', 'combined' => true, 'linefeed' => true),
		);
	}
}

if ( !empty($fields) )
{
	//
	// create the form
	//
	$posting_form = new form($fields, false);

	//
	// pre process announces part
	//
	// force duration when the previous type wasn't an announcement
	if ( $auth_announces && isset($posting_form->fields['topic_duration']) && ((in_array($topic_type, $types_with_duration) && !in_array($sav_topic_type, $types_with_duration)) || (!in_array($topic_type, $types_with_duration) && in_array($sav_topic_type, $types_with_duration))) )
	{
		$posting_form->fields['topic_duration']->force_value($posting_form->fields['topic_duration']->data['value']);
	}

	//
	// process the form
	//
	$posting_form->process('', ($submit || $refresh), _button('cancel'), 'POSTING_FORM');

	//
	// post process calendar event part
	//
	if ( $auth_calendar && isset($posting_form->fields['calendar_time']) )
	{
		$calendar_time = intval($posting_form->fields['calendar_time']->value);
		$calendar_stop = intval($posting_form->fields['calendar_stop']->value);
		if ( $calendar_time <= 0 )
		{
			$calendar_time = 0;
		}
		if ( $calendar_stop <= 0 )
		{
			$calendar_duration = 0;
		}
		else if ( empty($calendar_time) || ($calendar_time >= $calendar_stop) )
		{
			_error('Calendar_date_not_valid');
		}
		else
		{
			$calendar_duration = $calendar_stop - $calendar_time;
		}
	}

	//
	// post process announces part
	//
	if ( $auth_announces && isset($posting_form->fields['topic_duration']) )
	{
		// get topic duration
		$topic_duration = $posting_form->fields['topic_duration']->value;
		if ( ($topic_duration < 0) || !in_array($topic_type, $types_with_duration) )
		{
			$topic_duration = empty($post_info['topic_time']) ? time() : $post_info['topic_time'];
		}
	}

	// errors are sended later, checking if error_msg is empty
	// so we don't need to send our own break messages :)
}

// sub title
$sub_title_display = intval($config->data['sub_title_length']);
if ( $mode == 'newtopic' )
{
	$post_info['topic_sub_title'] = '';
	$post_info['post_sub_title'] = '';
}
if ( intval($config->data['topic_title_length']) <= 0 )
{
	$config->set('topic_title_length', 60, true);
}
$template->assign_vars(array(
	'SUBJECT_LENGTH' => intval($config->data['topic_title_length']),
));
if ( $sub_title_display )
{
	$sub_title = trim(_read('sub_title', TYPE_NO_HTML, $post_info['post_sub_title']));
	$template->assign_vars(array(
		'L_SUB_TITLE' => $user->lang('Sub_title'),
		'SUB_TITLE' => $sub_title,
		'SUB_TITLE_LENGTH' => intval($config->data['sub_title_length']),
	));
}
else
{
	$sub_title = trim($post_info['post_sub_title']);
}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		'confirm_body' => 'confirm_body.tpl')
	);
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
	$forums->display_nav();
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
				submit_post($mode
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : categories hierarchy --------------------------------------------------------------------
//-- modify
// here we added
//	, $post_icon, $topic_duration, $calendar_time, $calendar_duration, $sub_title
//-- modify
#
#-----[ IN-LINE FIND ]---------------------------------------- 
#
);
#
#-----[ IN-LINE BEFORE, ADD ]---------------------------------
#
, $post_icon, $topic_duration, $calendar_time, $calendar_duration, $sub_title
#
#-----[ AFTER, ADD ]------------------------------------------
#
# on a new line
#
//-- fin mod : categories hierarchy ----------------------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		if ( $mode == 'newtopic' || $mode == 'reply' )
		{
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
			setcookie($board_config['cookie_name'] . '_t',
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- add
			// add a cookie for this topic
			$user->read_cookies();
			$user->cookies['topics'][$topic_id] = time();
			if ( isset($user->cookies['unreads'][$topic_id]) )
			{
				unset($user->cookies['unreads'][$topic_id]);
			}
			$user->write_cookies(array('topics', 'unreads'));
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
			'preview' => 'posting_preview.tpl')
		);
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
		// message icon
		$icons->topic_title('', $post_icon, ($post_data['first_post'] || ($mode == 'newtopic')) ? (($topic_type > POST_NORMAL) ? $topic_type : ($calendar_time ? POST_CALENDAR : '')) : '');

		// sub title
		$front_sub_title = new front_sub_title();
		$front_sub_title->topic_title('', $sub_title, $sub_title_display);
		unset($front_sub_title);

		// first post of the topic, get additional information for the subject
		if ( $post_data['first_post'] || ($mode == 'newtopic') )
		{
			// announce
			$front_announce = new front_announce();
			$front_announce->topic_title('', $post_info['topic_time'], $topic_duration);
			unset($front_announce);

			// calendar
			$front_calendar = new front_calendar();
			$front_calendar->topic_title('', $calendar_time, $calendar_duration);
			unset($front_calendar);
		}

		// let's send remaining messages : preview is the place :)
		if ( !empty($error_msg) )
		{
			$template->set_filenames(array(
				'reg_header' => 'error_body.tpl')
			);
			$template->assign_vars(array(
				'ERROR_MESSAGE' => $error_msg)
			);
			$template->assign_var_from_handle('ERROR_BOX', 'reg_header');
		}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	$template->assign_block_vars('switch_type_toggle', array());
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
	// get the topic type from form when previewing (fix a phpBB bug)
	$sav_post_data = isset($post_data['topic_type']) ? $post_data['topic_type'] : POST_NORMAL;
	$post_data['topic_type'] = POST_NORMAL;
	$topic_type = _read('topictype', TYPE_INT, $topic_type);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		$topic_type_toggle .= ' /> ' . $lang['Post_Announcement'] . '&nbsp;&nbsp;';
	}
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
	if ( $is_auth['auth_global_announce'] )
	{
		$topic_type_toggle .= '<input type="radio" name="topictype" value="' . POST_GLOBAL_ANNOUNCE . '"';
		if ( $post_data['topic_type'] == POST_GLOBAL_ANNOUNCE || $topic_type == POST_GLOBAL_ANNOUNCE )
		{
			$topic_type_toggle .= ' checked="checked"';
		}
		$topic_type_toggle .= ' /> ' . $user->lang('Post_Global_Announcement') . '&nbsp;&nbsp;';
	}
	$sav_topic_type = empty($post_data['topic_type']) ? $topic_type : $post_data['topic_type'];
	$topic_type_toggle .= '<input type="hidden" name="sav_topic_type" value="' . intval($sav_topic_type) . '" />';

	// restore post_data topic type (fix a phpBB bug)
	$post_data['topic_type'] = $sav_post_data;
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	'U_VIEW_FORUM' => append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id"))
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- 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 ]------------------------------------------------
#
# Important note : all what follows has to be copied as is in includes/bbcode.php, function display_bbcodes()
# as the line may be different from the original phpBB if you have added extra bbCodes
#
	'L_BBCODE_B_HELP' => $lang['bbcode_b_help'],
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
	//
	// note : all of this has been copied into includes/bbcode.tpl, function display_bbcodes()
	//
	/*
#
#-----[ FIND ]------------------------------------------------
#
	'L_STYLES_TIP' => $lang['Styles_tip'],
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	$template->assign_var_from_handle('TOPIC_REVIEW_BOX', 'reviewbody');
}
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
// display navigation sentence
$forums->display_nav($forum_id);

// display bbcodes
display_bbcodes();

// display moderators
$moderators = new moderators();
$moderators->read();
$moderators->display('moderators', $forum_id);

// send the name of the topic if any, else send forum name
$template->assign_vars(array(
	'U_TITLE' => ($mode == 'newtopic') ? $config->url('index', array(POST_FORUM_URL => $forum_id), true) : $config->url('viewtopic', array(POST_TOPIC_URL => $topic_id), true),
	'TITLE' => ($mode == 'newtopic') ? $forum_name : _censor($post_info['topic_title']),
	)
);

// icons
$icons->display('ICON_BOX', $post_icon);

// environement
$template->set_switch('switch_standalone');
$template->set_switch('switch_standalone.switch_user_logged_in', $user->data['session_logged_in']);
$template->set_switch('switch_subject');
$template->set_switch('switch_sub_title', $sub_title_display);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
privmsg.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
//
// End session management
//
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
$navigation = new navigation();
switch ( $folder )
{
	case 'inbox':
		$box_name = 'Inbox';
		break;
	case 'outbox':
		$box_name = 'Outbox';
		break;
	case 'savebox':
		$box_name = 'Savebox';
		break;
	case 'sentbox':
		$box_name = 'Sentbox';
		break;
}
$navigation->add($box_name, '', 'privmsg', array('folder' => $folder), '');
$navigation->display();

// environement
$template->set_switch('switch_standalone');
$template->set_switch('switch_standalone.switch_user_logged_in', $user->data['session_logged_in']);
$template->set_switch('switch_subject');

// posting subject length
if ( intval($config->data['topic_title_length']) <= 0 )
{
	$config->set('topic_title_length', 60, true);
}
$template->assign_vars(array(
	'SUBJECT_LENGTH' => intval($config->data['topic_title_length']),
));
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# Important note : all what follows has to be copied as is in includes/bbcode.php, function display_bbcodes()
# as the line may be different from the original phpBB if you have added extra bbCodes
#
		'L_BBCODE_B_HELP' => $lang['bbcode_b_help'],
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
		//
		// note : all of this has been copied into includes/bbcode.tpl, function display_bbcodes()
		//
		/*
#
#-----[ FIND ]------------------------------------------------
#
		'L_STYLES_TIP' => $lang['Styles_tip'],
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		'U_VIEW_FORUM' => append_sid("privmsg.$phpEx"))
	);
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
	display_bbcodes();
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
profile.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
//
// End session management
//
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
$navigation = new navigation();
$navigation->add('Profile', '', 'profile', array('mode' => _read('mode', TYPE_NO_HTML), POST_USERS_URL => _read(POST_USERS_URL, TYPE_INT)), '');
$navigation->display();
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
search.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
include($phpbb_root_path . 'includes/functions_search.'.$phpEx);
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
// read forums if not a searchuser
$searchuser = (_read('mode', TYPE_NO_HTML) == 'searchuser');
if ( !$searchuser )
{
	include($config->url('includes/class_forums'));
	$forums = new forums();
	$forums->read();
}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
//
// End session management
//
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
if ( !$searchuser )
{
	$user->get_cache(POST_FORUM_URL);
	$navigation = new navigation();
	$navigation->add('Search', '', 'search', array('mode' => _read('mode', TYPE_NO_HTML)), '');
	$navigation->display();
}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	$search_results = '';
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
	//
	// note : auth_sql will never be empty, so the forums table will always be joigned to the research
	//
	$auth_sql = '';
	$store_vars[] = 'no_subs';

	// read parms
	$search_forum = _read('search_forum', TYPE_INT);
	$no_subs = _button('no_subs');

	// check forum id
	if (!isset($forums->data[$search_forum]) || !$user->auth(POST_FORUM_URL, 'auth_read', $search_forum) )
	{
		message_die(GENERAL_MESSAGE, $user->lang('No_such_forum'));
	}

	// get min and max forum ids for the branch asked
	$min_id = intval($search_forum);
	$max_id = $no_subs ? $search_forum : $forums->data[$search_forum]['last_child_id'];

	// get excluded forums
	$tkeys = array_flip($forums->keys);
	$min_idx = $tkeys[$min_id];
	$max_idx = $tkeys[$max_id];
	unset($tkeys);
	$exclude_forums = array();
	$something = false;
	for ( $i = $min_idx; $i <= $max_idx; $i++ )
	{
		if ( !$user->auth(POST_FORUM_URL, 'auth_read', $forums->keys[$i]) )
		{
			$exclude_forums[] = $forums->keys[$i];
		}
		else
		{
			$something = true;
		}
	}

	// halt on no forum authed
	if ( !$something )
	{
		message_die(GENERAL_MESSAGE, $lang['No_searchable_forums']);
	}

	// set branch range
	$auth_sql = $no_subs ? 'f.forum_id = ' . $min_id : '(f.forum_order BETWEEN ' . intval($forums->data[$min_id]['forum_order']) . ' AND ' . intval($forums->data[$max_id]['forum_order']) . ')';

	// exclude unreadable forums
	if ( !empty($exclude_forums) )
	{
		$auth_sql .= count($exclude_forums) > 1 ? ' AND f.forum_id NOT IN(' . implode(', ', $exclude_forums) . ')' : ' AND f.forum_id <> ' . $exclude_forums[0];
		unset($exclude_forums);
	}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
				if ( $userdata['session_logged_in'] )
				{
					$sql = "SELECT post_id 
						FROM " . POSTS_TABLE . " 
						WHERE post_time >= " . $userdata['user_lastvisit'];
				}
				else
				{
					redirect(append_sid("login.$phpEx?redirect=search.$phpEx&search_id=newposts", true));
				}
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
//				if ( $userdata['session_logged_in'] )
//				{
//					$sql = "SELECT post_id 
//						FROM " . POSTS_TABLE . " 
//						WHERE post_time >= " . $userdata['user_lastvisit'];
//				}
//				else
//				{
//					redirect(append_sid("login.$phpEx?redirect=search.$phpEx&search_id=newposts", true));
//				}
//-- add
				$user->read_cookies();
				if ( empty($user->cookies['unreads']) )
				{
					message_return('No_search_match');
				}
				asort($user->cookies['unreads']);
				$floor = intval($user->cookies['unreads'][ _first_key($user->cookies['unreads']) ]);
				$sql = 'SELECT post_id, topic_id, post_time
							FROM ' . POSTS_TABLE . '
							WHERE topic_id IN(' . implode(', ', array_keys($user->cookies['unreads'])) . ')
								AND post_time > ' . $floor;
				$result = $db->sql_query($sql, false, __LINE__, __FILE__);
				$search_ids = array();
				while ( $row = $db->sql_fetchrow($result) )
				{
					if ( $row['post_time'] >= $user->cookies['unreads'][ $row['topic_id'] ] )
					{
						$search_ids[] = $row['post_id'];
					}
				}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
					$sql .= " AND post_time >= " . $search_time;
				}
			}
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
			if ( $search_id != 'newposts' )
			{
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
			$search_ids = array();
			while( $row = $db->sql_fetchrow($result) )
			{
				$search_ids[] = $row['post_id'];
			}
			$db->sql_freeresult($result);
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
			}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		//
		// If user is logged in then we'll check to see which (if any) private
		// forums they are allowed to view and include them in the search.
		//
		// If not logged in we explicitly prevent searching of private forums
		//
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
				$auth_sql .= ( $auth_sql != '' ) ? 
			}
		}
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	//
	// Look up data ...
	//
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
	// no result : bye :)
	if ( empty($search_results) )
	{
		message_die(GENERAL_MESSAGE, $lang['No_search_match']);
	}

	// get cookies for unreaded topics
	$user->read_cookies();

	// display results as topics
	if ( $show_results == 'topics' )
	{
		// topics class
		include($config->url('includes/class_topics'));
		$topics = new topics('search');

		// read topics
		// -----------
		// t is topic
		// u is topic author
		// ul is last post author
		$sql = 'SELECT t.*, u.username, ul.username AS last_post_username
					FROM ' . TOPICS_TABLE . ' t
						LEFT JOIN ' . USERS_TABLE . ' u ON u.user_id = t.topic_poster
						LEFT JOIN ' . USERS_TABLE . ' ul ON ul.user_id = t.topic_last_poster
					WHERE topic_id IN(' . $search_results . ')';

		// filter page and order
		$ppage = _read('ppage', TYPE_INT);
		$per_page = $ppage ? $ppage : (intval($user->data['user_topics_ppage']) ? intval($user->data['user_topics_ppage']) : (intval($config->data['topics_per_page']) ? intval($config->data['topics_per_page']) : 50));
		$sql .= ' ORDER BY ';
		switch ( $sort_by )
		{
			case 1:
				$sql .= 't.topic_title';
				break;
			case 2:
				$sql .= 't.topic_title';
				break;
			case 3:
				$sql .= 'u.username';
				break;
			case 4:
				$sql .= 't.forum_id';
				break;
			default:
				$sql .= 't.topic_last_time';
				break;
		}
		$sql .= ' ' . $sort_dir . ' LIMIT ' . intval($start) . ', ' . $per_page;
		$topics->parms = array(
			'sort' => $sort_by,
			'order' => $sort_dir,
			'start' => $start,
			'ppage' => $per_page,
			'search_id' => intval($search_id),
		);
		$topics->total_topics = $total_match_count;

		// get highlight parm
		$highlight_active = '';
		$highlight_match = array();
		for($j = 0; $j < count($split_search); $j++ )
		{
			$split_word = $split_search[$j];

			if ( $split_word != 'and' && $split_word != 'or' && $split_word != 'not' )
			{
				$highlight_match[] = '#\b(' . str_replace("*", "([\w]+)?", $split_word) . ')\b#is';
				$highlight_active .= " " . $split_word;

				for ($k = 0; $k < count($synonym_array); $k++)
				{ 
					list($replace_synonym, $match_synonym) = split(' ', trim(strtolower($synonym_array[$k]))); 

					if ( $replace_synonym == $split_word )
					{
						$highlight_match[] = '#\b(' . str_replace("*", "([\w]+)?", $replace_synonym) . ')\b#is';
						$highlight_active .= ' ' . $match_synonym;
					}
				} 
			}
		}
		if ( !empty($highlight_active) )
		{
			$topics->extra_parms += array(
				'highlight' => urlencode(trim($highlight_active)),
			);
		}

		// read results
		$result = $db->sql_query($sql, false, __LINE__, __FILE__);
		while ( $row = $db->sql_fetchrow($result) )
		{
			$row['topic_unread'] = !empty($user->cookies['unreads']) && !empty($user->cookies['unreads'][ $row['topic_id'] ]);
			if ( ($row['topic_poster'] != ANONYMOUS) && !empty($row['username']) )
			{
				$row['topic_first_username'] = $row['username'];
				unset($row['username']);
			}
			if ( ($row['topic_last_poster'] != ANONYMOUS) && !empty($row['last_post_username']) )
			{
				$row['topic_last_username'] = $row['last_post_username'];
				unset($row['username']);
			}
			$topics->data_ext[ $row['topic_id'] ] = $row;
		}
		$db->sql_freeresult($result);

		// search topics the viewer has posted in
		if ( !empty($topics->data_ext) && $user->data['session_logged_in'] )
		{
			$sql = 'SELECT DISTINCT topic_id
						FROM ' . POSTS_TABLE . '
						WHERE poster_id = ' . intval($user->data['user_id']) . '
							AND topic_id IN(' . implode(', ', array_keys($topics->data_ext)) . ')
						GROUP BY topic_id';
			$result = $db->sql_query($sql, false, __LINE__, __FILE__);
			while ( $row = $db->sql_fetchrow($result) )
			{
				// moved topics are selected, so don't add them to the main selection
				if ( isset($topics->data_ext[ $row['topic_id'] ]) )
				{
					$topics->data_ext[ $row['topic_id'] ]['topic_own'] = true;
				}
			}
			$db->sql_freeresult($result);
		}

		// start the page
		$page_title = $user->lang('Search');
		include($config->url('includes/page_header'));

		$template->set_filenames(array('body' => 'search_results_topics.tpl'));

		// jumpbox
		make_jumpbox('index');

		// constants
		$l_search_matches = ( $total_match_count == 1 ) ? sprintf($user->lang('Found_search_match'), $total_match_count) : sprintf($user->lang('Found_search_matches'), $total_match_count);
		$template->assign_vars(array(
			'L_SEARCH_MATCHES' => $l_search_matches, 
			'L_TOPIC' => $user->lang('Topic'),
		));

		// upper box (so with forum nav sentence for each topic), force display empty
		$upper_box = true;
		$display_empty = true;
		$topics->display($upper_box, $display_empty);

		// display
		$template->pparse('body');
		include($config->url('includes/page_tail'));
		exit;
	}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
					AND p.topic_id = t.topic_id
					AND p.poster_id = u.user_id";
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
			$sql = str_replace('SELECT ', 'SELECT pt.post_sub_title, ', $sql);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		$tracking_topics = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) : array();
		$tracking_forums = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) : array();
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
//		$tracking_topics = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) : array();
//		$tracking_forums = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) : array();
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
			$forum_url = append_sid("viewforum.$phpEx?" . POST_FORUM_URL . '=' . $searchset[$i]['forum_id']);
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
//			$forum_url = append_sid("viewforum.$phpEx?" . POST_FORUM_URL . '=' . $searchset[$i]['forum_id']);
//-- add
			$forum_url = $config->url('index', array(POST_FORUM_URL => $searchset[$i]['forum_id']), true);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
				if ( $userdata['session_logged_in'] && $searchset[$i]['post_time'] > $userdata['user_lastvisit'] )
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
#
#-----[ FIND ]------------------------------------------------
#
						$mini_post_alt = $lang['Post'];
					}
				}
				else
				{
					$mini_post_img = $images['icon_minipost'];
					$mini_post_alt = $lang['Post'];
				}
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- add
				$topic_last_read = intval($user->cookies['unreads'][ $search_set[$i]['topic_id'] ]);
				if ( !empty($topic_last_read) && ($searchset[$i]['post_time'] > $topic_last_read) )
				{
					$mini_post_img = $images['icon_minipost_new'];
					$mini_post_alt = $lang['New_post'];
				}
				else
				{
					$mini_post_img = $images['icon_minipost'];
					$mini_post_alt = $lang['Post'];
				}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
					'U_FORUM' => $forum_url)
				);
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
				// message icon
				$icons->topic_title('searchresults', $searchset[$i]['post_icon'], ($searchset[$i]['topic_first_post_id'] == $searchset[$i]['post_id']) ? (($searchset[$i]['topic_type'] > POST_NORMAL) ? $searchset[$i]['topic_type'] : ($searchset[$i]['topic_calendar_time'] ? POST_CALENDAR : '')) : '');

				// sub title
				$front_sub_title = new front_sub_title();
				$front_sub_title->topic_title('searchresults', $searchset[$i]['post_sub_title'], intval($config->data['sub_title_length']));
				unset($front_sub_title);

				// first post of the topic, get additional information for the subject
				if ( $searchset[$i]['topic_first_post_id'] == $searchset[$i]['post_id'] )
				{
					// announce
					$front_announce = new front_announce();
					$front_announce->topic_title('searchresults', $searchset[$i]['topic_time'], $searchset[$i]['topic_duration']);
					unset($front_announce);

					// calendar
					$front_calendar = new front_calendar();
					$front_calendar->topic_title('searchresults', $searchset[$i]['topic_calendar_time'], $searchset[$i]['topic_calendar_duration']);
					unset($front_calendar);
				}

				// navigation
				$forums->display_nav($searchset[$i]['forum_id'], 'searchresults.nav', true);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
			else
			{
				$message = '';
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//
// all of this is now just after "// Look up data ..."
//-- delete
/*
#
#-----[ FIND ]------------------------------------------------
#
					'U_VIEW_TOPIC' => $topic_url)
				);
			}
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		$base_url = "search.$phpEx?search_id=$search_id";
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
		// pagination
		$parms = array('search_id' => $search_id);
		$requester = 'search';
		$pagination = new pagination($requester, $parms, 'start');
		$pagination->display('pagination', $total_match_count, $per_page, $start, true, 'Posts_count');
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
//
// Search forum
//
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
#
#-----[ FIND ]------------------------------------------------
#
		$s_categories .= '<option value="' . $cat_id . '">' . $cat_title . '</option>';
	}
}
else
{
	message_die(GENERAL_MESSAGE, $lang['No_searchable_forums']);
}
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- add
$front_pic = $forums->get_front_pic();
$s_forums = '';
if ( !empty($front_pic) )
{
	foreach ( $front_pic as $cur_id => $front )
	{
		$selected = ($search_forum == $cur_id) ? ' selected="selected"' : '';
		$s_forums .= '<option value="' . (($cur_id >= 0) ? $cur_id : -1) . '"' . $selected . '>';
		$count_front = strlen($front);
		for ( $i = 0; $i < $count_front; $i++ )
		{
			$s_forums .= $user->lang('tree_pic_' . $front[$i]);
		}
		if ( $cur_id >= 0 )
		{
			$s_forums .= $user->lang($forums->data[$cur_id]['forum_name']);
		}
		$s_forums .= '</option>';
	}
}
else
{
	message_die(GENERAL_MESSAGE, $lang['No_searchable_forums']);
}
$template->assign_vars(array(
	'L_SEARCH_FORUM' => $user->lang('Search_in_forum'),
	'L_NO_SUBS' => $user->lang('Search_no_subs'),
	'S_NO_SUBS' => _button('no_subs') ? 'checked="checked"' : '',
	)
);
//-- fin mod : categories hierarchy --------------------------------------------
Özellerden kullanıcılara reklam yaptığım için sayın yöneticim beni uzaklaştırdı.
Kullanıcı avatarı
NEFRİT
Uzaklaştırıldı
Mesajlar: 1404
Kayıt: 28.01.2006, 04:15
Konum: DarkKingdom
İletişim:

Mesaj gönderen NEFRİT »

KURULUM DOSYASI 3

Kod: Tümünü seç

#-----[ OPEN ]------------------------------------------------
#
viewonline.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
//
// End session management
//
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
$navigation = new navigation();
$navigation->add('Who_is_Online', '', 'viewonline', '', '');
$navigation->display();

// get classes
include($config->url('includes/class_forums'));
include($config->url('includes/class_stats'));

// read forums
$forums = new forums();
$forums->read();
foreach ( $forums->data as $id => $data )
{
	$forum_data[$id] = $user->lang($data['forum_name']);
}

// prepare stats
$stats = new stats();
$user_levels = $stats->get_user_levels();

// get user auths
$user->get_cache(array(POST_FORUM_URL, POST_FORUM_URL . 'jbox'));
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
// Forum info
//
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- deleted
/*
#
#-----[ FIND ]------------------------------------------------
#
$is_auth_ary = auth(AUTH_VIEW, AUTH_LIST_ALL, $userdata);
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
			$style_color = '';
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
#
#-----[ FIND ]------------------------------------------------
#
				$registered_users++;
			}
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- add
			if ( $row['user_allow_viewonline'] )
			{
				$registered_users++;
			}
			else
			{
				$hidden_users++;
			}
			if ( $row['user_allow_viewonline'] || ($row['user_id'] == $user->data['user_id']) || ($user->data['user_level'] == ADMIN) || ($user->auth(POST_FORUM_URL, 'auth_mod', intval($row['session_page'])) && ($row['user_level'] != ADMIN)) )
			{
				$view_online = true;
				$style = isset($user_levels[ $row['user_level'] ]) ? $user_levels[ $row['user_level'] ]['style'] : $user_levels[USER]['style'];
				$username = sprintf(($row['user_allow_viewonline'] ? (empty($style) ? '%s' : '<span' . $style . '>%s</span>') : '<i' . $style . '>%s</i>'), $row['username']);
			}
			else
			{
				$view_online = false;
			}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		if ( $row['session_page'] < 1 || !$is_auth_ary[$row['session_page']]['auth_view'] )
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
//		if ( $row['session_page'] < 1 || !$is_auth_ary[$row['session_page']]['auth_view'] )
//-- add
		if ( ($row['session_page'] < 1) || !$user->auth(POST_FORUM_URL, 'auth_view', intval($row['session_page'])) )
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
			$location_url = append_sid("viewforum.$phpEx?" . POST_FORUM_URL . '=' . $row['session_page']);
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
//			$location_url = append_sid("viewforum.$phpEx?" . POST_FORUM_URL . '=' . $row['session_page']);
//-- add
			$location_url = $config->url('index', array(POST_FORUM_URL => $row['session_page']), true);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
viewtopic.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
include($config->url('includes/class_forums'));

// read forums
$forums = new forums();
$forums->read();
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	if ( $HTTP_GET_VARS['view'] == 'newest' )
	{
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
#
#-----[ FIND ]------------------------------------------------
#
		redirect(append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id", true));
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- add
		// start the session in a clean way
		$userdata = session_pagestart($user_ip, PAGE_INDEX);
		init_userprefs($userdata);

		// get cookies
		$user->read_cookies();
		if ( empty($user->cookies['unreads']) || empty($user->cookies['unreads'][$topic_id]) )
		{
			$l_link = 'Click_return_topic';
			$u_link = $config->url('viewtopic', array(POST_TOPIC_URL => $topic_id), true);
			message_return('No_new_posts_last_visit', $l_link, $u_link);
		}
		else
		{
			$sql = 'SELECT post_id
						FROM ' . POSTS_TABLE . '
						WHERE topic_id = ' . $topic_id . '
							AND post_time > ' . intval($user->cookies['unreads'][$topic_id]) . '
						ORDER BY post_time
						LIMIT 1';
			$result = $db->sql_query($sql, false, __LINE__, __FILE__);
			if ( !$row = $db->sql_fetchrow($result) )
			{
				$l_link = 'Click_return_topic';
				$u_link = $config->url('viewtopic', array(POST_TOPIC_URL => $topic_id), true);
				message_return('No_new_posts_last_visit', $l_link, $u_link);
			}
			else
			{
				redirect($config->url('viewtopic', array(POST_POST_URL => $row['post_id']), true, $row['post_id']));
			}
		}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		$order_sql";
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
// we don't need the forums table, so do some cleanings
$sql = str_replace(', ' . FORUMS_TABLE . ' f', '', $sql);
$sql = str_replace('AND f.forum_id = t.forum_id', '', $sql);
$sql = str_replace(', f.forum_id', ', t.forum_id', $sql);
$sql = preg_replace('/, f\.\w*/si', '', $sql);

// added fields
$added_fields = 't.topic_duration, t.topic_first_post_id, t.topic_sub_title, ';
if ( defined('POST_CALENDAR') )
{
	$added_fields .= 't.topic_calendar_time, t.topic_calendar_duration, ';
}
$sql = str_replace('SELECT ', 'SELECT ' . $added_fields, $sql);
$sql = str_replace('GROUP BY ', 'GROUP BY ' . $added_fields, $sql);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
$is_auth = auth(AUTH_ALL, $forum_id, $userdata, $forum_topic_data);

if( !$is_auth['auth_view'] || !$is_auth['auth_read'] )
{
	if ( !$userdata['session_logged_in'] )
	{
		$redirect = ( isset($post_id) ) ? POST_POST_URL . "=$post_id" : POST_TOPIC_URL . "=$topic_id";
		$redirect .= ( isset($start) ) ? "&start=$start" : '';
		redirect(append_sid("login.$phpEx?redirect=viewtopic.$phpEx&$redirect", true));
	}

	$message = ( !$is_auth['auth_view'] ) ? $lang['Topic_post_not_exist'] : sprintf($lang['Sorry_auth_read'], $is_auth['auth_read_type']);

	message_die(GENERAL_MESSAGE, $message);
}
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
// $is_auth = auth(AUTH_ALL, $forum_id, $userdata, $forum_topic_data);
//
// if( !$is_auth['auth_view'] || !$is_auth['auth_read'] )
// {
//	if ( !$userdata['session_logged_in'] )
//	{
//		$redirect = ( isset($post_id) ) ? POST_POST_URL . "=$post_id" : POST_TOPIC_URL . "=$topic_id";
//		$redirect .= ( isset($start) ) ? "&start=$start" : '';
//		redirect(append_sid("login.$phpEx?redirect=viewtopic.$phpEx&$redirect", true));
//	}
//
//	$message = ( !$is_auth['auth_view'] ) ? $lang['Topic_post_not_exist'] : sprintf($lang['Sorry_auth_read'], $is_auth['auth_read_type']);
//
//	message_die(GENERAL_MESSAGE, $message);
// }
//-- add
// add forums data to the forum_topic_data row
if ( !isset($forums->data[$forum_id]) )
{
	message_return('Topic_post_not_exist');
}
$forum_topic_data = array_merge($forum_topic_data, $forums->data[$forum_id]);

// get auths
$user->get_cache(array(POST_FORUM_URL, POST_FORUM_URL . 'jbox'));
$is_auth = auth(AUTH_ALL, $forum_id, $user->data, $forum_topic_data);

if ( !$user->auth(POST_FORUM_URL, 'auth_read', $forum_id) )
{
	if ( !$user->data['session_logged_in'] )
	{
		$redirect = empty($post_id) || !empty($start) ? array(POST_TOPIC_URL => $topic_id) : array(POST_POST_URL => $post_id);
		redirect($config->url('viewtopic', $redirect + array('start' => intval($start)), true));
	}
	message_return($user->auth(POST_FORUM_URL, 'auth_view', $forum_id) ? sprintf($user->lang('Sorry_auth_read'), $user->lang('Auth_Users_granted_access')) : 'Topic_post_not_exist');
}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longest
#
	$start = floor(($forum_topic_data['prev_posts'] - 1) /
}
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
//
// unmark a post
//
// check if keep unread is on
$cookie_setup = $user->get_cookies_setup();
if ( $cookie_setup['keep_unreads'] )
{
	$unmark = _read('unmark', TYPE_NO_HTML);
	if ( in_array($unmark, array('post', 'topic')) )
	{
		// get the last time read for the topic or the post
		$last_time_read = intval($forum_topic_data['topic_time']) - 1;
		if ( ($unmark == 'post') && !empty($post_id) )
		{
			$sql = 'SELECT post_time
						FROM ' . POSTS_TABLE . '
						WHERE post_id = ' . intval($post_id);
			$result = $db->sql_query($sql, false, __LINE__, __FILE__);
			if ( !$row = $db->sql_fetchrow($result) )
			{
				message_return('No_such_post', 'Click_return_forum', $config->url('index', array(POST_FORUM_URL => $forum_id), true));
			}
			$last_time_read = intval($row['post_time']) - 1;
		}

		// unmark the topic
		$user->read_cookies();
		if ( isset($user->cookies['topics'][$topic_id]) )
		{
			unset($user->cookies['topics'][$topic_id]);
		}
		$user->cookies['unreads'][$topic_id] = $last_time_read;
		$user->write_cookies(array('topics', 'unreads'));

		// return to the forum
		message_return('Topic_unmarked_read', 'Click_return_forum', $config->url('index', array(POST_FORUM_URL => $forum_id), true));
	}
	$template->assign_vars(array(
		'I_UNREAD' => $user->img('icon_unmark_read'),
		'L_UNREAD_TOPIC' => $user->lang('Topic_unmark_read'),
		'U_UNREAD_TOPIC' => $config->url('viewtopic', array(POST_TOPIC_URL => $topic_id, 'unmark' => 'topic'), true),
		'L_UNREAD_POST' => $user->lang('Post_unmark_read'),
		)
	);
}
$template->set_switch('unmark_read', $cookie_setup['keep_unreads']);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	ORDER BY p.post_time $post_time_order
	LIMIT $start, ".$board_config['posts_per_page'];
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
$sql = str_replace('SELECT ', 'SELECT pt.post_sub_title, ', $sql);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
$sql = "SELECT *
	FROM " . RANKS_TABLE . "
	ORDER BY rank_special, rank_min";
if ( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, "Could not obtain ranks information.", '', __LINE__, __FILE__, $sql);
}

$ranksrow = array();
while ( $row = $db->sql_fetchrow($result) )
{
	$ranksrow[] = $row;
}
$db->sql_freeresult($result);
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
// $sql = "SELECT *
//	FROM " . RANKS_TABLE . "
//	ORDER BY rank_special, rank_min";
// if ( !($result = $db->sql_query($sql)) )
// {
//	message_die(GENERAL_ERROR, "Could not obtain ranks information.", '', __LINE__, __FILE__, $sql);
// }
//
// $ranksrow = array();
// while ( $row = $db->sql_fetchrow($result) )
// {
//	$ranksrow[] = $row;
// }
// $db->sql_freeresult($result);
//-- add
$ranks = new ranks();
$ranksrow = $ranks->read();
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
$view_forum_url = append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id");
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
// $view_forum_url = append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id");
//-- add
$view_forum_url = $config->url('index', array(POST_FORUM_URL => $forum_id), true);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
//
// Set a cookie for this topic
//
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
	setcookie($board_config['cookie_name'] . '_t',
}
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- add
$topic_last_read = $forums->mark(POST_POST_URL, $topic_id);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	if ( $userdata['session_logged_in'] && $postrow[$i]['post_time'] > $userdata['user_lastvisit'] && $postrow[$i]['post_time'] > $topic_last_read )
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
//	if ( $userdata['session_logged_in'] && $postrow[$i]['post_time'] > $userdata['user_lastvisit'] && $postrow[$i]['post_time'] > $topic_last_read )
//-- add
	if ( !empty($topic_last_read) && ($postrow[$i]['post_time'] > $topic_last_read) )
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		'U_POST_ID' => $postrow[$i]['post_id'])
	);
}
#
#-----[ REPLACE WITH ]----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
//		'U_POST_ID' => $postrow[$i]['post_id'])
//	);
// }
//-- add
		'U_POST_ID' => $postrow[$i]['post_id'],
		'U_UNREAD_POST' => $config->url('viewtopic', array(POST_POST_URL => $postrow[$i]['post_id'], 'unmark' => 'post'), true),
	));
	$template->set_switch('postrow.unmark_read', $cookie_setup['keep_unreads']);

	// message icon
	$icons->topic_title('postrow', $postrow[$i]['post_icon'], ($forum_topic_data['topic_first_post_id'] == $postrow[$i]['post_id']) ? (($forum_topic_data['topic_type'] > POST_NORMAL) ? $forum_topic_data['topic_type'] : ($forum_topic_data['topic_calendar_time'] ? POST_CALENDAR : '')) : '');

	// sub title
	$front_sub_title = new front_sub_title();
	$front_sub_title->topic_title('postrow', $postrow[$i]['post_sub_title'], intval($config->data['sub_title_length']), $highlight_match);
	unset($front_sub_title);

	// first post of the topic, get additional information for the subject
	if ( $forum_topic_data['topic_first_post_id'] == $postrow[$i]['post_id'] )
	{
		// announce
		$front_announce = new front_announce();
		$front_announce->topic_title('postrow', $forum_topic_data['topic_time'], $forum_topic_data['topic_duration']);
		unset($front_announce);

		// calendar
		$front_calendar = new front_calendar();
		$front_calendar->topic_title('postrow', $forum_topic_data['topic_calendar_time'], $forum_topic_data['topic_calendar_duration']);
		unset($front_calendar);
	}
}

$forums->display_nav($forum_id);

$moderators = new moderators();
$moderators->read();
$moderators->display('moderators', $forum_id);

$pagination = new pagination('viewtopic', array(POST_TOPIC_URL => $topic_id, 'postdays' => $post_days, 'postorder' => $post_order, 'highlight' => $highlight));
$pagination->display('pagination', $total_replies, $config->data['posts_per_page'], $start, true, 'Posts_count');

$watch_mode = $is_watching_topic ? 'unwatch' : 'watch';
$l_watch_mode = $is_watching_topic ? 'Stop_watching_topic' : 'Start_watching_topic';
$watch_img = $is_watching_topic ? 'topic_un_watch' : 'topic_watch';
$template->assign_vars(array(
	'U_WATCH_TOPIC' => $config->url('viewtopic', array(POST_TOPIC_URL => $topic_id, $watch_mode => 'topic', 'start' => $start, 'postdays' => $post_days, 'postorder' => $post_order, 'highlight' => $highlight), true),
	'L_WATCH_TOPIC' => $user->lang($l_watch_mode),
	'I_WATCH_TOPIC' => $user->img($watch_img),
	)
);
$template->set_switch('watch', $can_watch_topic);
if ( $can_watch_topic )
{
	$template->set_switch('watch.image', !empty($images[$watch_img]));
}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
admin/admin_board.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
		$message = $lang['Config_updated'] .
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
		$config->read(true);

		// recache forums
		include($config->url('includes/class_forums'));
		$forums = new forums();
		$forums->read(true);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
admin/admin_groups.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	$mode = '';
}
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
include($config->url('includes/class_forums'));

$user->get_cache(POST_GROUPS_URL);
$user_groups_list = $user->get_groups_list();

// auth
$auth_manage = 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
if ( _button('new') || ($mode == 'newgroup') )
{
	$group_id = 0;
}
else
{
	$group_id = _read(POST_GROUPS_URL, TYPE_INT);
}
$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 . '
					AND group_status < ' . GROUP_SPECIAL;
	$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;
		break;
	case GROUP_ADMIN:
		$auth_manage = $is_founder;
		break;
	case 0: // GROUP_ALL:
		if ( _button('new') || ($mode == 'newgroup') )
		{
			$auth_manage = $is_founder || $is_admin;
		}
	default:
		$auth_manage = $is_owner || $is_founder || $is_admin;
		break;
}
if ( !empty($group_id) || (!_button('new') && ($mode != 'newgroup')) )
{
	// check group
	if ( !empty($group_id) && empty($group_row) )
	{
		_error('Group_not_exist');
	}

	// check management auth
	if ( !$auth_manage )
	{
		_error('Manage_group_denied');
	}

	// send error
	if ( $error )
	{
		$l_link = 'Click_return_groupsadmin';
		$u_link = $config->url('admin/admin_groups', '', true);
		message_return($error_msg, $l_link, $u_link);
	}
}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		//
		// They're editing. Grab the vars.
		//
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
#
#-----[ FIND ]------------------------------------------------
#

		$mode = 'editgroup';
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
*/
//-- add
		$group_info = $group_row;
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		$mode = 'newgroup';
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
		$group_info['group_status'] = GROUP_STANDARD;
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	$group_hidden = ( $group_info['group_type'] == GROUP_HIDDEN ) ? ' checked="checked"' : '';
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
	$s_group_sysstatus_std = (intval($group_info['group_status']) == GROUP_STANDARD) ? ' checked="checked"' : '';
	$s_group_sysstatus_sys = (intval($group_info['group_status']) != GROUP_STANDARD) ? ' checked="checked"' : '';
	$template->assign_vars(array(
		'L_GROUP_SYSSTATUS' => $user->lang('System_group'),
		'S_GROUP_SYSSTATUS_STD' => $s_group_sysstatus_std,
		'GROUP_SYSSTATUS_STD' => GROUP_STANDARD,
		'S_GROUP_SYSSTATUS_SYS' => $s_group_sysstatus_sys,
		'GROUP_SYSSTATUS_SYS' => GROUP_SYSTEM,
		'L_YES' => $user->lang('Yes'),
		'L_NO' => $user->lang('No'),
	));
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	if ( isset($HTTP_POST_VARS['group_delete']) )
	{
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
#
#-----[ FIND ]------------------------------------------------
#
						message_die(GENERAL_ERROR, 'Could not update moderator permissions', '', __LINE__, __FILE__, $sql);
					}
				}
			}
		}
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- add
		// check if it is a system group
		if ( $group_row['group_status'] == GROUP_SYSTEM )
		{
			$l_link = 'Click_return_groupsadmin';
			$u_link = $config->url('admin/admin_groups', array(POST_GROUPS_URL => intval($group_id)), true);
			message_return('Delete_sysgroup_denied', $l_link, $u_link);
		}

		// users to update
		$user_ids = array();

		// get all members of this group
		$sql = 'SELECT user_id
					FROM ' . USER_GROUP_TABLE . '
					WHERE group_id = ' . intval($group_id);
		$result = $db->sql_query($sql, false, __LINE__, __FILE__);
		while ( $row = $db->sql_fetchrow($result) )
		{
			if ( !empty($row['user_id']) )
			{
				$user_ids[ intval($row['user_id']) ] = true;
			}
		}

		// get users having auths specific to this group
		$sql = 'SELECT DISTINCT ug.user_id
					FROM ' . AUTHS_TABLE . ' a, ' . USER_GROUP_TABLE . ' ug
					WHERE ug.group_id = a.group_id
						AND ug.user_pending <> ' . true . '
						AND a.obj_type = \'' . POST_GROUPS_URL . '\'
						AND a.obj_id = ' . intval($group_id) . '
					GROUP BY ug.user_id';
		$result = $db->sql_query($sql, false, __LINE__, __FILE__);
		$user_ids = array();
		while ( $row = $db->sql_fetchrow($result) )
		{
			if ( !empty($row['user_id']) )
			{
				$user_ids[ intval($row['user_id']) ] = true;
			}
		}

		// delete auths relative to this group
		$sql = 'DELETE FROM ' . AUTHS_TABLE . '
					WHERE group_id = ' . intval($group_id) . '
						OR (obj_type = \'' . POST_GROUPS_URL . '\'
							AND obj_id = ' . intval($group_id) . '
						)';
		$db->sql_query($sql, false, __LINE__, __FILE__);

		// delete user caches
		if ( !empty($user_ids) )
		{
			$sql = 'DELETE FROM ' . USERS_CACHE_TABLE . '
						WHERE user_id IN(' . implode(', ', array_keys($user_ids)) . ')';
			$db->sql_query($sql, false, __LINE__, __FILE__);
		}

		// remove from the users group lists this group
		$sql = 'SELECT group_id, group_user_list
					FROM ' . GROUPS_TABLE . '
					WHERE group_user_list LIKE \'%,' . intval($group_id) . ',%\'';
		$result = $db->sql_query($sql, false, __LINE__, __FILE__);
		while ( $row = $db->sql_fetchrow($result) )
		{
			$groups_list = explode(',', substr($row['group_user_list'], 1, strlen($row['group_user_list'])-2));
			if ( !empty($groups_list) )
			{
				$groups_list = array_flip($groups_list);
				if ( isset($groups_list[$group_id]) )
				{
					unset($groups_list[$group_id]);
				}
				$groups_list = empty($groups_list) ? array() : array_keys($groups_list);
			}
			$fields = array(
				'group_user_list' => empty($groups_list) ? '' : ',' . implode(',', $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__);
		}

		// reset the users mod status
		$moderators = new moderators();
		$moderators->set_users_status();
		unset($moderators);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		$sql = "DELETE FROM " . AUTH_ACCESS_TABLE . "
			WHERE group_id = " . $group_id;
		if ( !$db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, 'Could not update auth_access', '', __LINE__, __FILE__, $sql);
		}
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		$delete_old_moderator = isset($HTTP_POST_VARS['delete_old_moderator']) ? true : false;
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
		$group_status = _read('group_status', TYPE_INT);
		$group_status_available = array_flip(array(GROUP_STANDARD, GROUP_SYSTEM));
		$sys_groups = array_flip(array(GROUP_FOUNDER, GROUP_ADMIN, GROUP_REGISTERED, GROUP_ANONYMOUS));

		// check the group system status value
		if ( !isset($group_status_available[$group_status]) )
		{
			_error('Unknown_group_sysstatus');
		}

		// check if we can remove this system status
		if ( isset($sys_groups[ intval($group_id) ]) && ($group_status != GROUP_SYSTEM) )
		{
			_error('Change_sysgroup_denied');
		}

		// check group type towards group status
		if ( (intval($group_status) >= GROUP_SYSTEM) && ($group_type < GROUP_CLOSED) )
		{
			_error('Change_sysgroup_type_denied');
		}

		// send error
		if ( $error )
		{
			$l_link = 'Click_return_groupsadmin';
			$u_link = $config->url('admin/admin_groups', array(POST_GROUPS_URL => intval($group_id)), true);
			message_return($error_msg, $l_link, $u_link);
		}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
				if ( $delete_old_moderator )
				{
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
					// recache old moderator
					$sql = 'DELETE FROM ' . USERS_CACHE_TABLE . '
								WHERE user_id = ' . $group_info['group_moderator'];
					$db->sql_query($sql, false, __LINE__, __FILE__);

					// remove from the moderator group lists this group
					$sql = 'SELECT group_id, group_user_list
								FROM ' . GROUPS_TABLE . '
								WHERE group_user_list LIKE \'%,' . $group_id . ',%\'
									AND group_user_id = ' . intval($group_info['group_moderator']);
					$result = $db->sql_query($sql, false, __LINE__, __FILE__);
					while ( $row = $db->sql_fetchrow($result) )
					{
						$groups_list = explode(',', substr($row['group_user_list'], 1, strlen($row['group_user_list'])-2));
						if ( !empty($groups_list) )
						{
							$groups_list = array_flip($groups_list);
							if ( isset($groups_list[$group_id]) )
							{
								unset($groups_list[$group_id]);
							}
							$groups_list = empty($groups_list) ? array() : array_keys($groups_list);
						}
						$fields = array(
							'group_user_list' => empty($groups_list) ? '' : ',' . implode(',', $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__);
					}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longest
#
			$sql = "UPDATE " . GROUPS_TABLE . "
				SET group_type = $group_type,
				WHERE group_id = $group_id";
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
// here we added:
//	 , group_status = " . intval($group_status) . "
//-- modify
#
#-----[ IN-LINE FIND ]----------------------------------------
#
# in second line
#
group_type = $group_type
#
#-----[ IN-LINE AFTER, ADD ]----------------------------------
#
, group_status = " . intval($group_status) . "
#
#-----[ AFTER, ADD ]------------------------------------------
#
# on a new line after WHERE group_id = ...
#
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longest
#
			$message = $lang['Updated_group'] .
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
			// recache group moderator
			$sql = 'DELETE FROM ' . USERS_CACHE_TABLE . '
						WHERE user_id = ' . intval($group_moderator);
			$db->sql_query($sql, false, __LINE__, __FILE__);

			// add to the moderator group lists this group
			$sql = 'SELECT group_id, group_user_list
						FROM ' . GROUPS_TABLE . '
						WHERE group_user_id = ' . intval($group_moderator);
			$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)));
				$groups_list[$group_id] = true;
				$groups_list = array_keys($groups_list);
				$fields = array(
					'group_user_list' => ',' . implode(',', $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__);
			}

			// reset the users mod status
			$moderators = new moderators();
			$moderators->set_users_status();
			unset($moderators);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longest
#
			$sql = "INSERT INTO " . GROUPS_TABLE . " (group_type,
				VALUES ($group_type,
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
// here we added:
//	, group_status
//	, " . intval($group_status) . "
//-- modify
#
#-----[ IN-LINE FIND ]----------------------------------------
#
# in first line
#
(group_type
#
#-----[ IN-LINE AFTER, ADD ]----------------------------------
#
, group_status
#
#-----[ IN-LINE FIND ]----------------------------------------
#
# in second line
#
($group_type
#
#-----[ IN-LINE AFTER, ADD ]----------------------------------
#
, " . intval($group_status) . "
#
#-----[ AFTER, ADD ]------------------------------------------
#
# on a new line after VALUES ($group_type ...
#
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partail search : the full line is longest
#
			$message = $lang['Added_new_group'] .
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
			// recache group moderator
			$sql = 'DELETE FROM ' . USERS_CACHE_TABLE . '
						WHERE user_id = ' . intval($group_moderator);
			$db->sql_query($sql, false, __LINE__, __FILE__);

			// add to the moderator group lists this group
			$sql = 'SELECT group_id, group_user_list
						FROM ' . GROUPS_TABLE . '
						WHERE group_user_id = ' . intval($group_moderator);
			$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)));
				$groups_list[$new_group_id] = true;
				$groups_list = array_keys($groups_list);
				$fields = array(
					'group_user_list' => ',' . implode(',', $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__);
			}

			// reset the users mod status
			$moderators = new moderators();
			$moderators->set_users_status();
			unset($moderators);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
else
{
	$sql = "SELECT group_id, group_name
		FROM " . GROUPS_TABLE . "
		WHERE group_single_user <> " . TRUE . "
		ORDER BY group_name";
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
	$sql = str_replace('SELECT ', 'SELECT group_status, ', $sql);
	$sql = str_replace('WHERE ', 'WHERE group_status < ' . GROUP_SPECIAL . ' AND ', $sql);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		$select_list .= '<select name="' . POST_GROUPS_URL . '">';
		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 --------------------------------------------
Özellerden kullanıcılara reklam yaptığım için sayın yöneticim beni uzaklaştırdı.
Kullanıcı avatarı
NEFRİT
Uzaklaştırıldı
Mesajlar: 1404
Kayıt: 28.01.2006, 04:15
Konum: DarkKingdom
İletişim:

Mesaj gönderen NEFRİT »

KURULUM DOSYASI 4

Kod: Tümünü seç

#
#-----[ OPEN ]------------------------------------------------
#
admin/admin_mass_email.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	WHERE group_single_user <> 1";
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
$sql = str_replace('SELECT ', 'SELECT group_status,', $sql);
$sql = str_replace('WHERE ', 'WHERE group_status < ' . GROUP_SPECIAL . ' AND group_id <> ' . GROUP_REGISTERED . ' AND ', $sql);
$sql .= ' ORDER BY group_status DESC';
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
if ( $row = $db->sql_fetchrow($result) )
{
	do
	{
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
		if ( intval($row['group_status']) > GROUP_STANDARD )
		{
			$row['group_name'] = $user->lang($row['group_name']);
		}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
admin/admin_ranks.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
		$message .= "<br /><br />" . sprintf($lang['Click_return_rankadmin'],
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
		$ranks = new ranks();
		$ranks->read(true);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
			$message = $lang['Rank_removed'] .
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
			$ranks = new ranks();
			$ranks->read(true);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
admin/admin_smilies.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
		$message = $lang['smiley_import_success'] .
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
		$smilies = new smilies();
		$smilies->read(true);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
			$message = $lang['smiley_del_success'] .
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
			$smilies = new smilies();
			$smilies->read(true);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
			$message = $lang['smiley_edit_success'] .
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
			$smilies = new smilies();
			$smilies->read(true);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
			$message = $lang['smiley_add_success'] .
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
			$smilies = new smilies();
			$smilies->read(true);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
admin/admin_styles.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
			$message = $lang['Theme_installed'] .
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
			$themes = new themes();
			$themes->read(true);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
			//
			// Wheeeew! Thank heavens for copy and paste and search and replace :D
			//
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
			$updated['images_pack'] = _read('images_pack', TYPE_NO_HTML);
			$updated['custom_tpls'] = _read('custom_tpls', TYPE_NO_HTML);

			// let's perform some checks
			if ( !empty($updated['images_pack']) )
			{
				if ( !file_exists(phpbb_realpath($config->root . 'templates/' . $updated['template_name'] . '/' . $updated['images_pack'])) || is_dir(phpbb_realpath($config->root . 'templates/' . $updated['template_name'] . '/' . $updated['images_pack'])) || is_link(phpbb_realpath($config->root . 'templates/' . $updated['template_name'] . '/' . $updated['images_pack'])) )
				{
					_error('Images_pack_not_found');
				}
			}
			if ( !empty($updated['custom_tpls']) )
			{
				if ( !file_exists(phpbb_realpath($config->root . 'templates/' . $updated['template_name'] . '/' . $updated['custom_tpls'])) || !is_dir(phpbb_realpath($config->root . 'templates/' . $updated['template_name'] . '/' . $updated['custom_tpls'])) )
				{
					_error('Custom_tpls_not_found');
				}
			}
			if ( !empty($updated['head_stylesheet']) )
			{
				if ( !file_exists(phpbb_realpath($config->root . 'templates/' . $updated['template_name'] . '/' . $updated['head_stylesheet'])) )
				{
					_error('Head_stylesheet_not_found');
				}
			}
			if ( $error )
			{
				message_die(GENERAL_MESSAGE, $error_msg);
			}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
				$message = $lang['Theme_updated'] .
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
				$themes = new themes();
				$themes->read(true);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
				$message = $lang['Theme_created'] .
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
				$themes = new themes();
				$themes->read(true);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
				"L_THEMES_TITLE" => $themes_title,
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
				'L_IMAGES_PACK' => $lang['Images_pack'],
				'L_IMAGES_PACK_EXPLAIN' => $lang['Images_pack_explain'],
				'IMAGES_PACK' => $selected['images_pack'],
				'L_CUSTOM_TPLS' => $lang['Custom_tpls'],
				'L_CUSTOM_TPLS_EXPLAIN' => $lang['Custom_tpls_explain'],
				'CUSTOM_TPLS' => $selected['custom_tpls'],
				'L_STYLESHEET_EXPLAIN' => $lang['Stylesheet_explain'],
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
			$message = $lang['Style_removed'] .
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
			// recache themes
			$themes = new themes();
			$themes->read(true);

			// update also forums
			$sql = 'UPDATE ' . FORUMS_TABLE . '
				SET forum_style = ' . $config->data['default_style'] . '
				WHERE forum_style = ' . intval($style_id);
			$db->sql_query($sql, false, __LINE__, __FILE__);
			if ( $db->sql_affectedrows() )
			{
				// recache forums
				include_once($config->url('includes/class_forums'));
				$forums = new forums();
				$forums->read(true);
			}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
admin/admin_users.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		if( $HTTP_POST_VARS['deleteuser'] )
		{
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line are longest
#
			$message = $lang['User_deleted'] .

			message_die(GENERAL_MESSAGE, $message);
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- add
			// special note : if you have other tables linked to users table than the standard ones,
			// please add them to includes/class_users.php, delete() method

			// get the user data
			$view_user = new user();
			$view_user->read($user_id);

			// delete users
			if ( !$view_user->delete() )
			{
				_error('User_delete_deny');
			}
			else
			{
				_error('User_deleted');
			}

			// return message
			$l_link = 'Click_return_useradmin';
			$u_link = $config->url('admin/admin_users', '', true);
			message_return($error_msg, $l_link, $u_link);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
				$message .= $lang['Admin_user_updated'];
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
				// if name changed, update some data
				if ( !empty($username_sql) )
				{
					$fields = array(
						'forum_last_username' => stripslashes($username),
					);
					$db->sql_statement($fields);

					// update forums last poster
					$sql = 'UPDATE ' . FORUMS_TABLE . '
								SET ' . $db->sql_update . '
								WHERE forum_last_poster = ' . intval($user_id);
					$db->sql_query($sql, false, __LINE__, __FILE__);

					// update last user
					if ( $user_id == $config->data['stat_last_user'] )
					{
						$config->set('stat_last_user', $user_id);
						$config->set('stat_last_username', stripslashes($username));
					}

					// recache moderators if any
					include_once($config->url('includes/class_forums'));
					$moderators = new moderators();
					$moderators->read(true);
				}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
admin/admin_words.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
		$message .= "<br /><br />" . sprintf($lang['Click_return_wordadmin'],
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
		$censored_words->read(true);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
			$message = $lang['Word_removed'] .
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
			$censored_words->read(true);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
admin/index.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		ORDER BY u.user_session_time DESC";
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
	$sql = str_replace('SELECT ', 'SELECT u.user_allow_viewonline, u.user_level, s.session_page, ', $sql);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	$sql = "SELECT forum_name, forum_id
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line are longer
#
		message_die(GENERAL_ERROR, "Couldn't obtain user/online forums information.", 
	}
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- add
	// includes
	include($config->url('includes/class_forums'));
	include($config->url('includes/class_stats'));

	// read forums
	$forums = new forums();
	$forums->read();
	foreach ( $forums->data as $id => $data )
	{
		$forum_data[$id] = $user->lang($data['forum_name']);
	}

	// prepare stats
	$stats = new stats();
	$user_levels = $stats->get_user_levels();

	// get user auths
	$user->get_cache(POST_FORUM_URL);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
				if( $onlinerow_reg[$i]['user_allow_viewonline'] || $userdata['user_level'] == ADMIN )
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
#
#-----[ FIND ]------------------------------------------------
#
				if( $onlinerow_reg[$i]['user_session_page'] < 1 )
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- add
				$row = $onlinerow_reg[$i];
				if ( $row['user_allow_viewonline'] )
				{
					$registered_users++;
				}
				else
				{
					$hidden_users++;
				}
				if ( $row['user_allow_viewonline'] || ($row['user_id'] == $user->data['user_id']) || ($user->data['user_level'] == ADMIN) || ($user->auth(POST_FORUM_URL, 'auth_mod', intval($row['session_page'])) && ($row['user_level'] != ADMIN)) )
				{
					$hidden = false;
					$style = isset($user_levels[ $row['user_level'] ]) ? $user_levels[ $row['user_level'] ]['style'] : $user_levels[USER]['style'];
					$username = sprintf(($row['user_allow_viewonline'] ? (empty($style) ? '%s' : '<span' . $style . '>%s</span>') : '<i' . $style . '>%s</i>'), $row['username']);
				}
				else
				{
					$hidden = true;
				}

				// display the page
				if ( ($row['session_page'] < 1) || !$user->auth(POST_FORUM_URL, 'auth_view', intval($row['session_page'])) )
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
admin/page_footer_admin.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
$template->pparse('page_footer');
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
// send run stat (page generation, sql time, requests dump...)
$stat_run = new stat_run_class(microtime());
if ( (_read('pane') != 'left') && defined('DEBUG') && defined('DEBUG_SQL_ADMIN') )
{
	$stat_run->display();
}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
admin/page_header_admin.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#

$template->pparse('header');
#
#-----[ BEFORE, ADD ]-----------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
$template->assign_vars(array(
	'I_SPACER' => $user->img('spacer'),
));
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
includes/auth.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longest
#
function auth($type, $forum_id, $userdata
{
	global $db, $lang;

	switch( $type )
	{
		case AUTH_ALL:
			$a_sql = 'a.auth_view, a.auth_read,
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- add
// this one will be only called by hitting the ACP/Auths center/Definition/"Forums" auths type/Regen button
function get_forums_auths_def()
{
	// get current auths fields
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longest
#
			$auth_fields = array('auth_view', 'auth_read',
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add

	// add global annonce auth after announce
	$auth_fields = array_flip($auth_fields);
	$auth_fields['auth_global_announce'] = $auth_fields['auth_announce'];
	asort($auth_fields);
	$auth_fields = array_keys($auth_fields);

	return $auth_fields;
}

// this one is to keep compliancy with vanilia phpBB way to get auths values
function auth($type, $forum_id, $userdata, $f_access = '')
{
	global $db, $user, $forums, $config;

	// get auths def
	$auths_def = get_forums_auths_def();
	$auths_def[] = 'auth_mod';

	// prepare results
	$user_auth = array();

	// read forums if required
	if ( ($forum_id != AUTH_LIST_ALL) && empty($f_access) && empty($forums) )
	{
		include_once($config->url('includes/class_forums'));
		$forums = new forums();
		$forums->read();
	}

	// read forum auths if not done
	if ( empty($user->cache[POST_FORUM_URL]) )
	{
		$user->get_cache(POST_FORUM_URL);
	}

	// get the result
	if ( !empty($auths_def) )
	{
		$count_auths_def = count($auths_def);
		for ( $i = 0; $i < $count_auths_def; $i++ )
		{
			$auth_name = $auths_def[$i];
			if ( $forum_id != AUTH_LIST_ALL )
			{
				$user_auth[$auth_name] = $user->auth(POST_FORUM_URL, $auth_name, $forum_id);
			}
			else if ( !empty($f_access) )
			{
				$count_f_access = count($f_access);
				for ( $k = 0; $k < $count_f_access; $k++ )
				{
					$f_forum_id = $f_access[$k]['forum_id'];
					$user_auth[$f_forum_id][$auth_name] = $user->auth(POST_FORUM_URL, $auth_name, $f_forum_id);
				}
			}
			else if ( !empty($forums->keys) )
			{
				$count_forums = count($forums->keys);
				for ( $k = 0; $k < $count_forums; $k++ )
				{
					$f_forum_id = $forums->keys[$k];
					$user_auth[$f_forum_id][$auth_name] = $user->auth(POST_FORUM_URL, $auth_name, $f_forum_id);
				}
			}
		}
	}
	return $user_auth;
}
//-- delete
/*
#
#-----[ FIND ]------------------------------------------------
#
	return $auth_user;
}
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
includes/bbcode.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	die("Hacking attempt");
}
#
#-----[ AFTER, ADD ]------------------------------------------
#
# Important note : you have to copy in this added function the bbCode def removed from posting.php & privmsg.php
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
// Note : this has been copied from posting.php (or privmsg.php)
function display_bbcodes()
{
	global $template, $lang;

	$template->assign_vars(array(
		'L_BBCODE_B_HELP' => $lang['bbcode_b_help'], 
		'L_BBCODE_I_HELP' => $lang['bbcode_i_help'], 
		'L_BBCODE_U_HELP' => $lang['bbcode_u_help'], 
		'L_BBCODE_Q_HELP' => $lang['bbcode_q_help'], 
		'L_BBCODE_C_HELP' => $lang['bbcode_c_help'], 
		'L_BBCODE_L_HELP' => $lang['bbcode_l_help'], 
		'L_BBCODE_O_HELP' => $lang['bbcode_o_help'], 
		'L_BBCODE_P_HELP' => $lang['bbcode_p_help'], 
		'L_BBCODE_W_HELP' => $lang['bbcode_w_help'], 
		'L_BBCODE_A_HELP' => $lang['bbcode_a_help'], 
		'L_BBCODE_S_HELP' => $lang['bbcode_s_help'], 
		'L_BBCODE_F_HELP' => $lang['bbcode_f_help'], 
		'L_EMPTY_MESSAGE' => $lang['Empty_message'],

		'L_FONT_COLOR' => $lang['Font_color'], 
		'L_COLOR_DEFAULT' => $lang['color_default'], 
		'L_COLOR_DARK_RED' => $lang['color_dark_red'], 
		'L_COLOR_RED' => $lang['color_red'], 
		'L_COLOR_ORANGE' => $lang['color_orange'], 
		'L_COLOR_BROWN' => $lang['color_brown'], 
		'L_COLOR_YELLOW' => $lang['color_yellow'], 
		'L_COLOR_GREEN' => $lang['color_green'], 
		'L_COLOR_OLIVE' => $lang['color_olive'], 
		'L_COLOR_CYAN' => $lang['color_cyan'], 
		'L_COLOR_BLUE' => $lang['color_blue'], 
		'L_COLOR_DARK_BLUE' => $lang['color_dark_blue'], 
		'L_COLOR_INDIGO' => $lang['color_indigo'], 
		'L_COLOR_VIOLET' => $lang['color_violet'], 
		'L_COLOR_WHITE' => $lang['color_white'], 
		'L_COLOR_BLACK' => $lang['color_black'], 

		'L_FONT_SIZE' => $lang['Font_size'], 
		'L_FONT_TINY' => $lang['font_tiny'], 
		'L_FONT_SMALL' => $lang['font_small'], 
		'L_FONT_NORMAL' => $lang['font_normal'], 
		'L_FONT_LARGE' => $lang['font_large'], 
		'L_FONT_HUGE' => $lang['font_huge'], 

		'L_BBCODE_CLOSE_TAGS' => $lang['Close_Tags'], 
		'L_STYLES_TIP' => $lang['Styles_tip'],
	));
}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		global $db, $board_config;
		$orig = $repl = array();

		$sql = 'SELECT * FROM ' . SMILIES_TABLE;
		if( !$result = $db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, "Couldn't obtain smilies data", "", __LINE__, __FILE__, $sql);
		}
		$smilies = $db->sql_fetchrowset($result);

		if (count($smilies))
		{
			usort($smilies, 'smiley_sort');
		}

		for ($i = 0; $i < count($smilies); $i++)
		{
			$orig[] = "/(?<=.\W|\W.|^\W)" . phpbb_preg_quote($smilies[$i]['code'], "/") . "(?=.\W|\W.|\W$)/";
			$repl[] = '<img src="'. $board_config['smilies_path'] . '/' . $smilies[$i]['smile_url'] . '" alt="' . $smilies[$i]['emoticon'] . '" border="0" />';
		}
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
//		global $db, $board_config;
//		$orig = $repl = array();
//
//		$sql = 'SELECT * FROM ' . SMILIES_TABLE;
//		if( !$result = $db->sql_query($sql) )
//		{
//			message_die(GENERAL_ERROR, "Couldn't obtain smilies data", "", __LINE__, __FILE__, $sql);
//		}
//		$smilies = $db->sql_fetchrowset($result);
//		if (count($smilies))
//		{
//			usort($smilies, 'smiley_sort');
//		}
//
//		for ($i = 0; $i < count($smilies); $i++)
//		{
//			$orig[] = "/(?<=.\W|\W.|^\W)" . phpbb_preg_quote($smilies[$i]['code'], "/") . "(?=.\W|\W.|\W$)/";
//			$repl[] = '<img src="'. $board_config['smilies_path'] . '/' . $smilies[$i]['smile_url'] . '" alt="' . $smilies[$i]['emoticon'] . '" border="0" />';
//		}
//-- add
		global $smilies, $config;

		$orig = $repl = array();

		// read smilies
		$data = $smilies->read();
		if (count($data))
		{
			usort($data, 'smiley_sort');
		}

		$count_data = count($data);
		for ($i = 0; $i < $count_data; $i++)
		{
			$orig[] = "/(?<=.\W|\W.|^\W)" . phpbb_preg_quote($data[$i]['code'], "/") . "(?=.\W|\W.|\W$)/";
			$repl[] = '<img src="'. $config->data['smilies_path'] . '/' . $data[$i]['smile_url'] . '" alt="' . $data[$i]['emoticon'] . '" border="0" />';
		}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
includes/db.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
$db = new sql_db($dbhost, $dbuser, $dbpasswd, $dbname, false);
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
// $db = new sql_db($dbhost, $dbuser, $dbpasswd, $dbname, false);
//-- add
include_once($phpbb_root_path . 'includes/class_db.' . $phpEx);
$db = new db_class($dbhost, $dbuser, $dbpasswd, $dbname, false);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
includes/functions.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : Fix message_die for multiple errors ---------------------------------
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
function make_jumpbox(
{
	global $template,
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
#
#-----[ FIND ]------------------------------------------------
#
		$boxstring .= '<input type="hidden" name="sid" value="' . $userdata['session_id'] . '" />';
//	}
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- add
	global $config, $forums;

	if ( substr($action, 0, strlen('viewforum')) == 'viewforum' )
	{
		$action = 'index';
	}
	else if ( substr($action, 0, strlen('modcp')) == 'modcp' )
	{
		$action = 'modcp';
	}
	$action = $config->url($action);
	if ( empty($forums) )
	{
		include_once($config->url('includes/class_forums'));
		$forums = new forums();
		$forums->read();
	}
	$boxstring = '<select name="' . POST_FORUM_URL . '" onchange="if(this.options[this.selectedIndex].value >= 0){ forms[\'jumpbox\'].submit() }"><option value="-2" selected="selected">' . $lang['Select_forum'] . '</option><option value="-1">-------------------</option>';
	$boxstring .= $forums->get_jumpbox();
	$boxstring .= '</select><input type="hidden" name="sid" value="' . $userdata['session_id'] . '" />';
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	if ( !$board_config['override_user_style'] )
	{
		if ( $userdata['user_id'] != ANONYMOUS && $userdata['user_style'] > 0 )
		{
			if ( $theme = setup_style($userdata['user_style']) )
			{
				return;
			}
		}
	}

	$theme = setup_style($board_config['default_style']);
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
//	if ( !$board_config['override_user_style'] )
//	{
//		if ( $userdata['user_id'] != ANONYMOUS && $userdata['user_style'] > 0 )
//		{
//			if ( $theme = setup_style($userdata['user_style']) )
//			{
//				return;
//			}
//		}
//	}
//
//	$theme = setup_style($board_config['default_style']);
//-- add
	// init user object
	global $user;

	if ( !empty($user) || is_object($user) )
	{
		$user->set();
	}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
function setup_style($style
{
	global $db,
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
#
#-----[ FIND ]------------------------------------------------
#
	$template = new Template($phpbb_root_path . $template_path . $template_name);
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- add
	global $config, $themes;

	$themes_exists = true;
	if ( empty($themes) )
	{
		$themes = new themes();
		$themes->read();
		$themes_exists = false;
	}
	$row = $themes->data[$style];

	// force the main css when in admin
	$head_stylesheet = $row['template_name'] . '.css';
	if ( defined('IN_ADMIN') && ($row['head_stylesheet'] != $head_stylesheet) )
	{
		foreach ( $themes->data as $style_id => $style_data )
		{
			if ( $style_data['head_stylesheet'] == $head_stylesheet )
			{
				$row = $style_data;
				break;
			}
		}
	}

	// clean up  if themes didn't exists
	if ( !$themes_exists )
	{
		unset($themes);
	}

	// get main parameters
	$template_path = 'templates/';
	$template_name = $row['template_name'];

	// intantiate the template
	$template = new template_class($config->root . $template_path . $template_name, $row['custom_tpls']);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
				$images[$key] = str_replace('{LANG}', 'lang_' . $img_lang, $value);
			}
		}
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
		// read additional images
		$images_pack = empty($row['images_pack']) || ($row['images_pack'] == $template_name . '.cfg') ? '' : $config->root . $template_path . $template_name . '/' . $row['images_pack'];
		if ( !empty($images_pack) )
		{
			$sav_images = $images;
			$images = array();
			$current_template_path = substr($images_pack, 0, strrpos($images_pack, '/'));
			@include($images_pack);
			$img_lang = ( file_exists(@phpbb_realpath($current_template_path . '/images/lang_' . $config->data['default_lang'])) ) ? $config->data['default_lang'] : 'english';
			if ( empty($images) )
			{
				$images = $sav_images;
			}
			else
			{
				foreach ( $images as $key => $value )
				{
					if ( !is_array($value) )
					{
						$images[$key] = str_replace('{LANG}', 'lang_' . $img_lang, $value);
					}
				}
				$images += $sav_images;
			}
		}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	//
	// Define censored word matches
	//
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
#
#-----[ FIND ]------------------------------------------------
#
			$replacement_word[] = $row['replacement'];
		}
		while ( $row = $db->sql_fetchrow($result) );
	}
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- add
	global $censored_words;

	// read if not done
	$data = $censored_words->read();
	$orig_word = array_keys($data);
	$replacement_word = array_values($data);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line are longer
#
function message_die(
{
	global $db,
	global $userdata,
	global $starttime
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
	global $config, $user, $censored_words, $icons, $navigation, $themes, $smilies;
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	if(defined('HAS_DIED'))
	{
		die("message_die() was called multiple times. This isn't supposed to happen. Was message_die() used in page_tail.php?");
	}
	
	define(HAS_DIED, 1);
#
#---[ REPLACE WITH ]------------------------------------------
#
//-- mod : Fix message_die for multiple errors ---------------------------------
// note : this one is Markus Petrux's "Fix message_die for multiple errors" mod
//-- delete
//	if(defined('HAS_DIED'))
//	{
//		die("message_die() was called multiple times. This isn't supposed to happen. Was message_die() used in page_tail.php?");
//	}
//	
//	define(HAS_DIED, 1);
//-- add
	static $msg_history;
	if( !isset($msg_history) )
	{
		$msg_history = array();
	}
	$msg_history[] = array(
		'msg_code' => $msg_code,
		'msg_text' => $msg_text,
		'msg_title' => $msg_title,
		'err_line' => $err_line,
		'err_file' => $err_file,
		'sql' => $sql,
	);

	// already died
	if ( defined('HAS_DIED') )
	{
		//
		// This message is printed at the end of the report.
		// Of course, you can change it to suit your own needs. ;-)
		//
		$custom_error_message = 'Please, contact the %swebmaster%s. Thank you.';
		if ( !empty($config) && !empty($config->data['board_email']) )
		{
			$custom_error_message = sprintf($custom_error_message, '<a href="mailto:' . $config->data['board_email'] . '">', '</a>');
		}
		else
		{
			$custom_error_message = sprintf($custom_error_message, '', '');
		}

		echo "<html>\n<body>\n<b>Critical Error!</b><br />\nmessage_die() was called multiple times.<br />&nbsp;<hr />";
		for( $i = 0; $i < count($msg_history); $i++ )
		{
			echo '<b>Error #' . ($i+1) . "</b>\n<br />\n";
			if( !empty($msg_history[$i]['msg_title']) )
			{
				echo '<b>' . $msg_history[$i]['msg_title'] . "</b>\n<br />\n";
			}
			echo $msg_history[$i]['msg_text'] . "\n<br /><br />\n";
			if( !empty($msg_history[$i]['err_line']) )
			{
				echo '<b>Line :</b> ' . $msg_history[$i]['err_line'] . '<br /><b>File :</b> ' . $msg_history[$i]['err_file'] . "</b>\n<br />\n";
			}
			if( !empty($msg_history[$i]['sql']) )
			{
				echo '<b>SQL :</b> ' . $msg_history[$i]['sql'] . "\n<br />\n";
			}
			echo "&nbsp;<hr />\n<br />";
		}
		echo "&nbsp;<br /><hr />\n" . $custom_error_message . '<hr /><br clear="all">';
		die("</body>\n</html>");
	}

	// let's notice an error occured
	define('HAS_DIED', true);
//-- fin mod : Fix message_die for multiple errors -----------------------------
#
#-----[ FIND ]------------------------------------------------
#
			$template = new Template($phpbb_root_path . 'templates/' . $board_config['board_template']);
#
#-----[ REPLACE WITH ]----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
//			$template = new Template($phpbb_root_path . 'templates/' . $board_config['board_template']);
//-- add
			$template = new template_class($phpbb_root_path . 'templates/' . $board_config['board_template']);
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		else
		{
			$template->set_filenames(array(
				'message_body' => 'admin/admin_message_body.tpl')
			);
		}
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
		if ( defined('DEBUG_MESSAGES') && !defined('IN_MESSAGE_RETURN') )
		{
			if ( empty($lang) )
			{
				$lang = array(
					'dbg_backtrace' => 'Back trace',
					'dbg_requester' => 'Requester',
				);
			}
			$msg_text .= '<br /><br /></span></td></tr><tr><td class="cat" align="center"><span class="cattitle">' . $lang['dbg_backtrace'] . '</span></td></tr><tr><td class="row1"><span class="gen">';
			if ( function_exists('debug_backtrace') )
			{
				$dbg = debug_backtrace();
				$count_dbg = count($dbg);
				$tmp = new cache(); // this one is to access format arrays function
				for ( $i = 0; $i < $count_dbg; $i++ )
				{
					$msg_text .= '<br /><b>' . $lang['dbg_requester'] . ':</b> ' . basename($dbg[$i]['file']) . '[ ' . $dbg[$i]['line'] . ' ].' . $dbg[$i]['function'] . '(' . (empty($dbg[$i]['args']) ? '' : stripslashes($tmp->format_array($dbg[$i]['args'], false, false))) . ')';
				}
			}
		}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	$server_protocol = ($board_config['cookie_secure']) ? 'https://' : 'http://';
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
	if ( !eregi('^(ht|f)tp(s?)\:\/\/', $url) )
	{
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	$url = preg_replace('#^\/?(.*?)\/?$#', '/\1', trim($url));
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
	}
	else
	{
		$server_protocol = $server_name = $server_port = $script_name = '';
	}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
includes/functions_admin.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
function make_forum_select($box_name,
{
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
	$forum_list = ( $forum_list == '' ) ?
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- add
	global $config, $forums, $user;

	$front_pic = $forums->get_front_pic();
	if ( !empty($front_pic) )
	{
		$forum_list = '';
		foreach ( $front_pic as $cur_id => $front )
		{
			$selected = !empty($select_forum) && ($select_forum == $cur_id) ? ' selected="selected"' : '';
			$forum_list .= '<option value="' . (($cur_id >= 0) ? $cur_id : -1) . '"' . $selected . '>';
			$count_front = strlen($front);
			for ( $i = 0; $i < $count_front; $i++ )
			{
				$forum_list .= $user->lang('tree_pic_' . $front[$i]);
			}
			if ( $cur_id >= 0 )
			{
				$forum_list .= $user->lang($forums->data[$cur_id]['forum_name']);
			}
			$forum_list .= '</option>';
		}
	}
	else
	{
		$forum_list = '<option value="-1">' . $user->lang('None') . '</option>';
	}
	$forum_list = '<select name="' . $box_name . '">' . $forum_list . '</select>';
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
function sync($type, $id = false
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
// here we added
//	, $differ=false
//-- modify
#
#-----[ IN-LINE FIND ]---------------------------------------- 
#
)
#
#-----[ IN-LINE BEFORE, ADD ]---------------------------------
#
, $differ=false
#
#-----[ AFTER, ADD ]------------------------------------------
#
# on a new line
#
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	  	case 'forum':
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
				message_die(GENERAL_ERROR, 'Could not update forum',
			}
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- add
			if ( empty($id) )
			{
				global $config;

				// count topics
				$sql = 'SELECT COUNT(topic_id) AS total_topics
							FROM ' . TOPICS_TABLE;
				$result = $db->sql_query($sql, false, __LINE__, __FILE__);
				$row = $db->sql_fetchrow($result);
				$total_topics = intval($row['total_topics']);

				// count posts
				$sql = 'SELECT COUNT(post_id) AS total_posts
							FROM ' . POSTS_TABLE;
				$result = $db->sql_query($sql, false, __LINE__, __FILE__);
				$row = $db->sql_fetchrow($result);
				$total_posts = intval($row['total_posts']);

				$config->set('stat_total_topics', $total_topics);
				$config->set('stat_total_posts', $total_posts);
			}
			else
			{
				// count topics
				$sql = 'SELECT COUNT(topic_id) AS total_topics
							FROM ' . TOPICS_TABLE . '
							WHERE forum_id = ' . $id;
				$result = $db->sql_query($sql, false, __LINE__, __FILE__);
				$row = $db->sql_fetchrow($result);
				$total_topics = intval($row['total_topics']);

				// count posts
				$sql = 'SELECT COUNT(post_id) AS total_posts
							FROM ' . POSTS_TABLE . '
							WHERE forum_id = ' . $id;
				$result = $db->sql_query($sql, false, __LINE__, __FILE__);
				$row = $db->sql_fetchrow($result);
				$total_posts = intval($row['total_posts']);

				// get last post
				$sql = 'SELECT t.topic_last_post_id, t.topic_title, t.topic_last_poster, t.topic_last_username, t.topic_last_time, u.username
							FROM ' . TOPICS_TABLE . ' t
								LEFT JOIN ' . USERS_TABLE . ' u ON u.user_id = t.topic_last_poster
							WHERE forum_id = ' . $id . '
								AND topic_moved_id = 0
							ORDER BY topic_last_post_id DESC
							LIMIT 1';
				$result = $db->sql_query($sql, false, __LINE__, __FILE__);
				$row = $db->sql_fetchrow($result);
				$fields = array(
					'forum_topics' => $total_topics,
					'forum_posts' => $total_posts,
					'forum_last_post_id' => intval($row['topic_last_post_id']),
					'forum_last_title' => $row['topic_title'],
					'forum_last_poster' => intval($row['topic_last_poster']),
					'forum_last_username' => (($row['topic_last_poster'] != ANONYMOUS) && !empty($row['username'])) ? $row['username'] : $row['topic_last_username'],
					'forum_last_time' => intval($row['topic_last_time']),
				);
				$db->sql_statement($fields);
				$sql = 'UPDATE ' . FORUMS_TABLE . '
							SET ' . $db->sql_update . '
							WHERE forum_id = ' . $id;
				$db->sql_query($sql, false, __LINE__, __FILE__);
				if ( !$differ )
				{
					sync('forum');
				}
			}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		case 'topic':
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
					message_die(GENERAL_ERROR, 'Could not update topic',
				}
			}
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- add
			// prepare return : we don't touch first post data until a first post exists because of shadow topics
			$fields = array(
				'topic_replies' => 0,
				'topic_first_post_id' => 0,
				'topic_last_post_id' => 0,
				'topic_last_poster' => 0,
				'topic_last_username' => '',
				'topic_last_time' => 0,
			);
			// read topic counts
			$sql = 'SELECT MAX(post_id) AS topic_last_post_id, MIN(post_id) AS topic_first_post_id, COUNT(post_id) AS topic_replies
						FROM ' . POSTS_TABLE . '
						WHERE topic_id = ' . intval($id);
			$result = $db->sql_query($sql, false, __LINE__, __FILE__);
			if ( $row = $db->sql_fetchrow($result) )
			{
				$fields = array_merge($fields, $row);
				if ( !empty($fields['topic_replies']) )
				{
					$fields['topic_replies']--;
				}
				else
				{
					// remove shadow topics
					$sql = 'DELETE FROM ' . TOPICS_TABLE . '
								WHERE topic_id = ' . intval($id);
					$db->sql_query($sql, false, __LINE__, __FILE__);
					return;
				}
			}

			// read topic first & last post
			if ( !empty($fields['topic_last_post_id']) || !empty($fields['topic_first_post_id']) )
			{
				$sql = 'SELECT post_id, poster_id, post_username, post_time
							FROM ' . POSTS_TABLE . '
							WHERE topic_id = ' . intval($id) . '
								AND post_id IN(' . intval($fields['topic_first_post_id']) . ', ' . intval($fields['topic_last_post_id']) . ')';
				$result = $db->sql_query($sql, false, __LINE__, __FILE__);
				while ( $row = $db->sql_fetchrow($result) )
				{
					if ( $row['post_id'] == intval($fields['topic_last_post_id']) )
					{
						$fields = array_merge($fields, array(
							'topic_last_poster' => $row['poster_id'],
							'topic_last_username' => $row['post_username'],
							'topic_last_time' => $row['post_time'],
							)
						);
					}
					if ( $row['post_id'] == intval($fields['topic_first_post_id']) )
					{
						$fields = array_merge($fields, array(
							'topic_poster' => $row['poster_id'],
							'topic_first_username' => $row['post_username'],
							'topic_time' => $row['post_time'],
							)
						);
					}
				}
			}
			$db->sql_statement($fields);
			$sql = 'UPDATE ' . TOPICS_TABLE . '
						SET ' . $db->sql_update . '
						WHERE topic_id = ' . intval($id);
			$db->sql_query($sql, false, __LINE__, __FILE__);
//-- fin mod : categories hierarchy --------------------------------------------
Özellerden kullanıcılara reklam yaptığım için sayın yöneticim beni uzaklaştırdı.
Kullanıcı avatarı
NEFRİT
Uzaklaştırıldı
Mesajlar: 1404
Kayıt: 28.01.2006, 04:15
Konum: DarkKingdom
İletişim:

Mesaj gönderen NEFRİT »

KURULUM DOSYASI 5

Kod: Tümünü seç

#
#-----[ OPEN ]------------------------------------------------
#
includes/functions_post.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
function submit_post($mode,
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
// here we added
//	, $post_icon=0, $topic_duration=0, $calendar_time=0, $calendar_duration=0, $sub_title=''
//-- modify
#
#-----[ IN-LINE FIND ]---------------------------------------- 
#
)
#
#-----[ IN-LINE BEFORE, ADD ]---------------------------------
#
, $post_icon=0, $topic_duration=0, $calendar_time=0, $calendar_duration=0, $sub_title=''
#
#-----[ AFTER, ADD ]------------------------------------------
#
# on a new line
#
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	if ($mode == 'editpost')
	{
		remove_search_post($post_id);
	}
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
	$topic_fields = array();
	if ( in_array($mode, array('newtopic', 'reply', 'editpost')) )
	{
		if ( $post_data['first_post'] || ($mode == 'newtopic') )
		{
			$topic_fields += array(
				'topic_icon' => $post_icon,
				'topic_duration' => $topic_duration,
				'topic_first_username' => $post_username,
				'topic_sub_title' => $sub_title,
			);
			if ( defined('POST_CALENDAR') )
			{
				$topic_fields += array(
					'topic_calendar_time' => $calendar_time,
					'topic_calendar_duration' => $calendar_duration,
				);
			}
		}
		if ( $post_data['last_post'] || ($mode == 'newtopic') || ($mode == 'reply') )
		{
			$topic_fields += array(
				'topic_last_username' => $post_username,
			);
			if ( $mode != 'editpost' )
			{
				$topic_fields += array(
					'topic_last_poster' => $userdata['user_id'],
					'topic_last_time' => $current_time,
				);
			}
		}
	}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longuest
#
		$sql  = ($mode != "editpost") ? "INSERT INTO " . TOPICS_TABLE . " (topic_title
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
		$db->sql_statement($topic_fields);
//-- here we added
//	, " . $db->sql_fields . "
//	, " . $db->sql_values . "
//	, " . $db->sql_update . "
//-- modify
#
#-----[ IN-LINE FIND ]----------------------------------------
#
(topic_title
#
#-----[ IN-LINE AFTER, ADD ]----------------------------------
#
, " . $db->sql_fields . "
#
#-----[ IN-LINE FIND ]----------------------------------------
#
('$post_subject'
#
#-----[ IN-LINE AFTER, ADD ]----------------------------------
#
, " . $db->sql_values . "
#
#-----[ IN-LINE FIND ]----------------------------------------
#
SET topic_title = '$post_subject'
#
#-----[ IN-LINE AFTER, ADD ]----------------------------------
#
, " . $db->sql_update . "
#
#-----[ AFTER, ADD ]------------------------------------------
#
# on a new line
#
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
			$topic_id = $db->sql_nextid();
		}
	}
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
	// update last post informations when not equal to first post
	else if ( ($mode == 'reply') || (($mode == 'editpost') && $post_data['last_post']) )
	{
		$db->sql_statement($topic_fields);
		$sql = 'UPDATE ' . TOPICS_TABLE . '
					SET ' . $db->sql_update . '
					WHERE topic_id = ' . $topic_id;
		$db->sql_query($sql, false, __LINE__, __FILE__);
	}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longuest
#
	$sql = ($mode != "editpost") ? "INSERT INTO " . POSTS_TABLE . " (topic_id
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
	$post_fields = array(
		'post_icon' => $post_icon,
	);
	$db->sql_statement($post_fields);
//-- here we added
//	, " . $db->sql_fields . "
//	, " . $db->sql_values . "
//	, " . $db->sql_update . "
//-- modify
#
#-----[ IN-LINE FIND ]----------------------------------------
#
(topic_id
#
#-----[ IN-LINE AFTER, ADD ]----------------------------------
#
, " . $db->sql_fields . "
#
#-----[ IN-LINE FIND ]----------------------------------------
#
($topic_id
#
#-----[ IN-LINE AFTER, ADD ]----------------------------------
#
, " . $db->sql_values . "
#
#-----[ IN-LINE FIND ]----------------------------------------
#
SET post_username = '$post_username'
#
#-----[ IN-LINE AFTER, ADD ]----------------------------------
#
, " . $db->sql_update . "
#
#-----[ AFTER, ADD ]------------------------------------------
#
# on a new line
#
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longuest
#
	$sql = ($mode != 'editpost') ? "INSERT INTO " . POSTS_TEXT_TABLE . " (post_id
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
	$post_text_fields = array(
		'post_sub_title' => $sub_title,
	);
	$db->sql_statement($post_text_fields);
//-- here we added
//	, " . $db->sql_fields . "
//	, " . $db->sql_values . "
//	, " . $db->sql_update . "
//-- modify
#
#-----[ IN-LINE FIND ]----------------------------------------
#
(post_id
#
#-----[ IN-LINE AFTER, ADD ]----------------------------------
#
, " . $db->sql_fields . "
#
#-----[ IN-LINE FIND ]----------------------------------------
#
($post_id
#
#-----[ IN-LINE AFTER, ADD ]----------------------------------
#
, " . $db->sql_values . "
#
#-----[ IN-LINE FIND ]----------------------------------------
#
SET post_text = '$post_message'
#
#-----[ IN-LINE AFTER, ADD ]----------------------------------
#
, " . $db->sql_update . "
#
#-----[ AFTER, ADD ]------------------------------------------
#
# on a new line
#
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
	add_search_words('single',
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
// here we added:
//	 . ' ' . $sub_title
//-- modified
#
#-----[ IN-LINE FIND ]---------------------------------------- 
#
, stripslashes($post_subject)
#
#-----[ IN-LINE AFTER, ADD ]---------------------------------- 
#
 . ' ' . $sub_title
#
#-----[ AFTER, ADD ]------------------------------------------
#
# on a new line
#
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
				message_die(GENERAL_ERROR, 'Error deleting pruned poll options',
			}
		}
	}
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
	// sync forum
	if ( ($mode == 'editpost') && $post_data['first_post'] )
	{
		global $config;
		include($config->url('includes/functions_admin'));
		sync('forum', $forum_id);
	}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	$message = $lang['Stored'] . '<br /><br />' . sprintf($lang['Click_view_message'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . $post_id) . '#' . $post_id . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a>');
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
//	$message = $lang['Stored'] . '<br /><br />' . sprintf($lang['Click_view_message'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . $post_id) . '#' . $post_id . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a>');
//-- add
	global $config;
	$message = $lang['Stored'] . '<br /><br />' . sprintf($lang['Click_view_message'], '<a href="' . $config->url('viewtopic', array(POST_POST_URL => $post_id), true, $post_id) . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_forum'], '<a href="' . $config->url('index', array(POST_FORUM_URL => $forum_id), true) . '">', '</a>');
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
				$sql = "SELECT MAX(post_id) AS last_post_id
					FROM " . POSTS_TABLE . " 
					WHERE topic_id = $topic_id";
				if (!($result = $db->sql_query($sql)))
				{
					message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
				}

				if ($row = $db->sql_fetchrow($result))
				{
					$topic_update_sql .= ', topic_last_post_id = ' . $row['last_post_id'];
				}
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
//				$sql = "SELECT MAX(post_id) AS last_post_id
//					FROM " . POSTS_TABLE . " 
//					WHERE topic_id = $topic_id";
//				if (!($result = $db->sql_query($sql)))
//				{
//					message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
//				}
//
//				if ($row = $db->sql_fetchrow($result))
//				{
//					$topic_update_sql .= ', topic_last_post_id = ' . $row['last_post_id'];
//				}
//-- add
				// get new last post data
				$sql = 'SELECT post_id, poster_id, post_username, post_time
							FROM ' . POSTS_TABLE . '
							WHERE topic_id = ' . $topic_id . '
							ORDER BY post_id DESC
							LIMIT 1';
				$result = $db->sql_query($sql, false, __LINE__, __FILE__);
				$row = $db->sql_fetchrow($result);
				$fields = array(
					'topic_last_post_id' => intval($row['post_id']),
					'topic_last_poster' => intval($row['poster_id']),
					'topic_last_username' => $row['post_username'],
					'topic_last_time' => intval($row['post_time']),
				);
				$db->sql_statement($fields);
				$topic_update_sql .= ', ' . $db->sql_update;
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
				$sql = "SELECT MAX(post_id) AS last_post_id
					FROM " . POSTS_TABLE . " 
					WHERE forum_id = $forum_id"; 
				if (!($result = $db->sql_query($sql)))
				{
					message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
				}

				if ($row = $db->sql_fetchrow($result))
				{
					$forum_update_sql .= ($row['last_post_id']) ? ', forum_last_post_id = ' . $row['last_post_id'] : ', forum_last_post_id = 0';
				}
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
//				$sql = "SELECT MAX(post_id) AS last_post_id
//					FROM " . POSTS_TABLE . " 
//					WHERE forum_id = $forum_id"; 
//				if (!($result = $db->sql_query($sql)))
//				{
//					message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
//				}
//
//				if ($row = $db->sql_fetchrow($result))
//				{
//					$forum_update_sql .= ($row['last_post_id']) ? ', forum_last_post_id = ' . $row['last_post_id'] : ', forum_last_post_id = 0';
//				}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longest
#
$forum_update_sql .= ", forum_last_post_id = $post_id" . (
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
// here we deleted
//	", forum_last_post_id = $post_id" . ([../..])
//-- modify
#
#-----[ IN-LINE FIND ]----------------------------------------
#
", forum_last_post_id = $post_id" . ((
#
#-----[ IN-LINE REPLACE WITH ]--------------------------------
#
(
#
#-----[ IN-LINE FIND ]----------------------------------------
#
);
#
#-----[ IN-LINE REPLACE WITH ]--------------------------------
#
;
#
#-----[ AFTER, ADD ]------------------------------------------
#
# on a new line
#
//-- fin mod : categories hierarchy ---------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	$sql = "UPDATE " . FORUMS_TABLE . " SET 
		$forum_update_sql 
		WHERE forum_id = $forum_id";
	if (!$db->sql_query($sql))
	{
		message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
	}
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
//	$sql = "UPDATE " . FORUMS_TABLE . " SET 
//		$forum_update_sql 
//		WHERE forum_id = $forum_id";
//	if (!$db->sql_query($sql))
//	{
//		message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
//	}
//-- fin mod : categories hierarchy ---------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	if ($mode != 'poll_delete')
	{
		$sql = "UPDATE " . USERS_TABLE . "
			SET user_posts = user_posts $sign 
			WHERE user_id = $user_id";
		if (!$db->sql_query($sql, END_TRANSACTION))
		{
			message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
		}
	}
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
	global $config;

	// resync forum
	if ($mode != 'poll_delete')
	{
		// get last post data
		$sql = 'SELECT t.topic_last_post_id, t.topic_title, t.topic_last_poster, t.topic_last_username, t.topic_last_time, u.username
					FROM ' . TOPICS_TABLE . ' t
						LEFT JOIN ' . USERS_TABLE . ' u ON u.user_id = t.topic_last_poster
					WHERE forum_id = ' . $forum_id . '
						AND topic_moved_id = 0
					ORDER BY topic_last_post_id DESC
					LIMIT 1';
		$result = $db->sql_query($sql, false, __LINE__, __FILE__);
		$row = $db->sql_fetchrow($result);
		$fields = array(
			'forum_last_post_id' => intval($row['topic_last_post_id']),
			'forum_last_title' => $row['topic_title'],
			'forum_last_poster' => intval($row['topic_last_poster']),
			'forum_last_username' => (($row['topic_last_poster'] != ANONYMOUS) && !empty($row['username'])) ? $row['username'] : $row['topic_last_username'],
			'forum_last_time' => intval($row['topic_last_time']),
		);
		$db->sql_statement($fields);
		$forum_update_sql .= ', ' . $db->sql_update;
		$sql = 'UPDATE ' . FORUMS_TABLE . '
					SET ' . $forum_update_sql . '
					WHERE forum_id = ' . $forum_id;
		$db->sql_query($sql, false, __LINE__, __FILE__);

		// resync sum
		if ( $mode == 'delete' )
		{
			$config->set('stat_total_posts', $config->data['stat_total_posts'] - 1);
			if ( $post_data['last_post'] && $post_data['first_post'] )
			{
				$config->set('stat_total_topics', $config->data['stat_total_topics'] - 1);
			}
		}
		else
		{
			$config->set('stat_total_posts', $config->data['stat_total_posts'] + 1);
			if ( $mode == 'newtopic' )
			{
				$config->set('stat_total_topics', $config->data['stat_total_topics'] + 1);
			}
		}
	}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
function delete_post($mode,
{
	global $board_config,
	global $userdata,
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
	global $config;
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		$meta = '<meta http-equiv="refresh" content="3;url=' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . '=' . $forum_id) . '">';
		$message = $lang['Deleted'];
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
//		$meta = '<meta http-equiv="refresh" content="3;url=' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . '=' . $forum_id) . '">';
//-- add
		$meta = '<meta http-equiv="refresh" content="3;url=' . $config->url('index', array(POST_FORUM_URL => $forum_id), true) . '">';
//-- fin mod : categories hierarchy --------------------------------------------
		$message = $lang['Deleted'];
#
#-----[ FIND ]------------------------------------------------
#
	$message .=  '<br /><br />' . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a>');
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
//	$message .=  '<br /><br />' . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a>');
//-- add
	$message .=  '<br /><br />' . sprintf($lang['Click_return_forum'], '<a href="' . $config->url('index', array(POST_FORUM_URL => $forum_id), true) . '">', '</a>');
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
function generate_smilies($mode,
{
	global $db
	global $user_ip
	global $userdata
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
	global $config, $user, $censored_words, $icons, $navigation, $themes, $smilies;
	global $forums, $forum_id;

	// fix this missing var
	$topic_title = '';
	$forum_id = intval($forum_id);
	if ( empty($forum_id) )
	{
		$forum_id = _read(POST_FORUM_URL, TYPE_INT);
	}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	$sql = "SELECT emoticon, code, smile_url
		FROM " . SMILIES_TABLE . " 
		ORDER BY smilies_id";
	if ($result = $db->sql_query($sql))
	{
		$num_smilies = 0;
		$rowset = array();
		while ($row = $db->sql_fetchrow($result))
		{
			if (empty($rowset[$row['smile_url']]))
			{
				$rowset[$row['smile_url']]['code'] = str_replace("'", "\\'", str_replace('\\', '\\\\', $row['code']));
				$rowset[$row['smile_url']]['emoticon'] = $row['emoticon'];
				$num_smilies++;
			}
		}
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
//	$sql = "SELECT emoticon, code, smile_url   
//		FROM " . SMILIES_TABLE . " 
//		ORDER BY smilies_id";
//	if ($result = $db->sql_query($sql))
//	{
//		$num_smilies = 0;
//		$rowset = array();
//		while ($row = $db->sql_fetchrow($result))
//		{
//			if (empty($rowset[$row['smile_url']]))
//			{
//				$rowset[$row['smile_url']]['code'] = str_replace("'", "\\'", str_replace('\\', '\\\\', $row['code']));
//				$rowset[$row['smile_url']]['emoticon'] = $row['emoticon'];
//				$num_smilies++;
//			}
//		}
//-- add
	// set a "if (true) {" only for the last "}" at bottom
	if ( true )
	{
		global $smilies;

		$data = $smilies->read();
		$count_data = count($data);
		$rowset = array();
		$num_smilies = 0;
		for ($i = 0; $i < $count_data; $i++ )
		{
			$row = $data[$i];
			if (empty($rowset[$row['smile_url']]))
			{
				$rowset[$row['smile_url']]['code'] = str_replace("'", "\\'", str_replace('\\', '\\\\', $row['code']));
				$rowset[$row['smile_url']]['emoticon'] = $row['emoticon'];
				$num_smilies++;
			}
		}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
includes/functions_search.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
function username_search($search_match)
{
	global $db,
	global $starttime,
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
	global $config, $user, $censored_words, $icons, $navigation, $themes, $smilies;
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
includes/page_header.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines is longer
#
$s_last_visit = ( $userdata['session_logged_in'] ) ? create_date(
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
/*
#
#-----[ FIND ]------------------------------------------------
#
	$l_online_users .= sprintf($l_g_user_s, $guests_online);
}
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- add
$s_last_visit = $user->data['session_logged_in'] ? $user->date($user->data['user_lastvisit']) : '';
$l_online_users = '';
$online_userlist = '';
if ( !isset($page_title) )
{
	$page_title = '';
}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
			$nav_links_html .= sprintf($nav_link_proto, $nav_item, $nested_array['url'],
		}
	}
}
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
if ( !empty($config->data['site_fav_icon']) )
{
	$nav_links_html .= '<link rel="SHORTCUT ICON" href="' . $user->img($config->data['site_fav_icon']) . '">';
}
$nav_links_html .= "\n" . '<link rel="copyright" href="http://phpBB.com" title="phpBB.com" />';
$template->assign_vars(array(
	'L_PREFERENCES' => $lang['Preferences'],
	'U_PREFERENCES' => $config->url('usercp', '', true),
	'I_SPACER' => $user->img('spacer'),
));
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
includes/page_tail.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
$template->pparse('overall_footer');
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
// send run stat (page generation, sql time, requests dump...)
$stat_run = new stat_run_class(microtime());
if ( empty($gen_simple_header) && defined('DEBUG') )
{
	$stat_run->display();
}

// send messages
if ( defined('CH_message_queue') && empty($gen_simple_header) && !empty($message_queue->data) )
{
	$message_queue->send();
}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
includes/sessions.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	$sql = "SELECT * 
		FROM " . USERS_TABLE . " 
		WHERE user_id = $user_id";
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
//	$sql = "SELECT * 
//		FROM " . USERS_TABLE . " 
//		WHERE user_id = $user_id";
//-- add
	$sql = 'SELECT u.*, g.*
				FROM ' . USERS_TABLE . ' u
					LEFT JOIN ' . GROUPS_TABLE . ' g
						ON g.group_user_id = u.user_id
				WHERE user_id = ' . intval($user_id);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		$sql = "UPDATE " . USERS_TABLE . " 
			SET user_session_time = $current_time, user_session_page = $page_id, user_lastvisit = $last_visit
			WHERE user_id = $user_id";
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
		$sql = str_replace('SET ', 'SET user_session_logged = ' . intval($login) . ', ', $sql);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		$sql = "SELECT u.*, s.*
			FROM " . SESSIONS_TABLE . " s, " . USERS_TABLE . " u
			WHERE s.session_id = '$session_id'
				AND u.user_id = s.session_user_id";
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
//		$sql = "SELECT u.*, s.*
//			FROM " . SESSIONS_TABLE . " s, " . USERS_TABLE . " u
//			WHERE s.session_id = '$session_id'
//				AND u.user_id = s.session_user_id";
//-- add
		$sql = 'SELECT u.*, s.*, g.*
			FROM ' . SESSIONS_TABLE . ' s, ' . USERS_TABLE . ' u
				LEFT JOIN ' . GROUPS_TABLE . ' g
					ON g.group_user_id = u.user_id
			WHERE s.session_id = \'' . $session_id . '\'
				AND u.user_id = s.session_user_id';
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
				//
				// Only update session DB a minute or so after last update
				//
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
				// actually we prefer a more accurate information for viewonline
				if ( $userdata['user_session_page'] != $thispage_id )
				{
					$userdata['session_time'] = $current_time - 61;
				}

				// trace this is not a new session
				global $sys_updated_session;
				$sys_updated_session = true;
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
						$sql = "UPDATE " . USERS_TABLE . " 
							SET user_session_time = $current_time, user_session_page = $thispage_id 
							WHERE user_id = " . $userdata['user_id'];
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
						$sql = str_replace('SET ', 'SET user_session_logged = ' . true . ', ', $sql);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		message_die(CRITICAL_ERROR, 'Error removing user session', '', __LINE__, __FILE__, $sql);
	}
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
	if ( $user_id != ANONYMOUS )
	{
		$sql = 'UPDATE ' . USERS_TABLE . '
					SET user_session_logged = 0
					WHERE user_id = ' . intval($user_id);
		$db->sql_query($sql, false, __LINE__, __FILE__);
	}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
includes/topic_review.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
function topic_review($topic_id,
{
	global $db,
	global $userdata,
	global $orig_word,
	global $starttime;
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
	global $config, $user, $censored_words, $icons, $navigation, $themes, $smilies;
	global $forums, $forum_id;
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
		//
		// Get topic info ...
		//
		$sql = "SELECT t.topic_title,
			FROM " . TOPICS_TABLE .
			WHERE t.topic_id = $topic_id
				AND f.forum_id = t.forum_id";
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
		// let's enhance this request
		$added_fields = 't.topic_type, t.topic_first_post_id, t.topic_time, t.topic_duration, t.topic_sub_title, ';
		if ( defined('POST_CALENDAR') )
		{
			$added_fields .= 't.topic_calendar_time, t.topic_calendar_duration, ';
		}
		$sql = str_replace('SELECT ', 'SELECT ' . $added_fields, $sql);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		if ( !($forum_row = $db->sql_fetchrow($result)) )
		{
			message_die(GENERAL_MESSAGE, 'Topic_post_not_exist');
		}
		$db->sql_freeresult($result);
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
		if ( empty($forums) )
		{
			// read forums to get the specific style, used by user set
			include_once($config->url('includes/class_forums'));
			$forums = new forums();
			$forums->read();
		}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		$is_auth = auth(AUTH_ALL, $forum_id, $userdata, $forum_row);
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : categories hierarchy ------------------------------------------------
//-- delete
//		$is_auth = auth(AUTH_ALL, $forum_id, $userdata, $forum_row);
//-- add
		$user->get_cache(POST_FORUM_URL);
		$is_auth = array(
			'auth_read' => $user->auth(POST_FORUM_URL, 'auth_read', $forum_id),
			'auth_read_type' => $user->lang('Auth_Users_granted_access'),
		);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		ORDER BY p.post_time DESC
		LIMIT " . $board_config['posts_per_page'];
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
	$sql = str_replace('SELECT ', 'SELECT pt.post_sub_title, ', $sql);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
				'L_MINI_POST_ALT' => $mini_post_alt)
			);
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
			// get icon
			if ( !$is_inline_review )
			{
				// message icon
				$icons->topic_title('postrow', $row['post_icon'], ($forum_row['topic_first_post_id'] == $row['post_id']) ? (($forum_row['topic_type'] > POST_NORMAL) ? $forum_row['topic_type'] : ($forum_row['topic_calendar_time'] ? POST_CALENDAR : '')) : '');

				// sub title
				$front_sub_title = new front_sub_title();
				$front_sub_title->topic_title('postrow', $row['post_sub_title'], intval($config->data['sub_title_length']));
				unset($front_sub_title);

				// first post of the topic, get additional information for the subject
				if ( $forum_row['topic_first_post_id'] == $row['post_id'] )
				{
					// announce
					$front_announce = new front_announce();
					$front_announce->topic_title('postrow', $forum_row['topic_time'], $forum_row['topic_duration']);
					unset($front_announce);

					// calendar
					$front_calendar = new front_calendar();
					$front_calendar->topic_title('postrow', $forum_row['topic_calendar_time'], $forum_row['topic_calendar_duration']);
					unset($front_calendar);
				}
			}
//-- fin mod : categories hierarchy --------------------------------------------
Özellerden kullanıcılara reklam yaptığım için sayın yöneticim beni uzaklaştırdı.
Kullanıcı avatarı
NEFRİT
Uzaklaştırıldı
Mesajlar: 1404
Kayıt: 28.01.2006, 04:15
Konum: DarkKingdom
İletişim:

Mesaj gönderen NEFRİT »

KURULUM DOSYASI 6 (Merak etmeyin bu sondu)

Kod: Tümünü seç

#
#-----[ OPEN ]------------------------------------------------
#
includes/usercp_register.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
				message_die(GENERAL_ERROR, 'Could not update users table',
			}
#
#-----[ AFTER, ADD ]------------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
			// if name changed, update some data
			if ( !empty($username_sql) )
			{
				$fields = array(
					'forum_last_username' => stripslashes($username),
				);
				$db->sql_statement($fields);

				// update forums last poster
				$sql = 'UPDATE ' . FORUMS_TABLE . '
							SET ' . $db->sql_update . '
							WHERE forum_last_poster = ' . intval($user_id);
				$db->sql_query($sql, false, __LINE__, __FILE__);

				// update last user
				if ( ($user_id == $config->data['stat_last_user']) || empty($config->data['stat_last_username']) )
				{
					$config->set('stat_last_user', $user_id);
					$config->set('stat_last_username', stripslashes($username));
				}

				// recache moderators
				include_once($config->url('includes/class_forums'));
				$moderators = new moderators();
				$moderators->set_users_status();
				$moderators->read(true);
			}
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
			$user_id = $row['total'] + 1;
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
			// update last user
			$config->set('stat_last_user', $user_id);
			$config->set('stat_last_username', stripslashes($username));
			$sql = 'SELECT COUNT(user_id) AS total_users
						FROM ' . USERS_TABLE . '
						WHERE user_id <> ' . ANONYMOUS;
			$result = $db->sql_query($sql, false, __LINE__, __FILE__);
			$row = $db->sql_fetchrow($result);
			$config->set('stat_total_users', intval($row['total_users']) + 1);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longest
#
				message_die(GENERAL_ERROR, 'Could not insert data into user_group table',
			}
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
//-- add
			// cache groups list and set the user_id on the single group_id
			$view_user = new user();
			$view_user->read($user_id);
			$view_user->get_groups_list(true);
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/confirm_body.tpl
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
<table
<tr>
{U_INDEX}
</tr>
</table>
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
{NAVIGATION_BOX}
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/faq_body.tpl
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
<table
<tr>
{U_INDEX}
</tr>
</table>
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
{NAVIGATION_BOX}
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longest
#
templates/subSilver/images/spacer.gif
#
#-----[ IN-LINE FIND ]---------------------------------------- 
#
templates/subSilver/images/spacer.gif
#
#-----[ IN-LINE REPLACE WITH ]--------------------------------
#
{I_SPACER}
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/groupcp_info_body.tpl
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
<table
<tr>
{U_INDEX}
</tr>
</table>
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
{NAVIGATION_BOX}
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/groupcp_user_body.tpl
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
<table
<tr>
{U_INDEX}
</tr>
</table>
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
{NAVIGATION_BOX}
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/login_body.tpl
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
<table
<tr>
{U_INDEX}
</tr>
</table>
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
{NAVIGATION_BOX}
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/memberlist_body.tpl
#
#-----[ FIND ]------------------------------------------------
#
# In this one, the navigation sentence is part of table with two rows,
# what we don't want. So we add the navigation above the table where it
# is located, and remove the U_INDEX/L_INDEX row from its original table.
#
# this is a partial search : the full line is longer
#
<form
#
#-----[ AFTER, ADD ]------------------------------------------
#
{NAVIGATION_BOX}
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
<tr>
{U_INDEX}
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
	<tr>
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/modcp_move.tpl
#
#-----[ FIND ]------------------------------------------------
#
# Let's add a nice title :)
#
# this is a partial search : the full lines are longer
#
<form
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
<table border="0" cellpadding="4" cellspacing="1" width="100%">
<tr>
	<td><span class="maintitle">
		<a href="{U_MOD_CP}" class="maintitle">{L_MOD_CP}</a>
	</span><span class="gensmall"><br />
		<br />
	</span></td>
</tr>
</table>
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
<table
<tr>
{U_INDEX}
</tr>
</table>
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
{NAVIGATION_BOX}
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/modcp_split.tpl
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
<form
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
<table border="0" cellpadding="4" cellspacing="1" width="100%">
<tr>
	<td><span class="maintitle">
		<a href="{U_MOD_CP}" class="maintitle">{L_MOD_CP}</a>
	</span><span class="gensmall"><br />
		{L_SPLIT_TOPIC_EXPLAIN}<br />
	</span></td>
</tr>
</table>
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
<table
<tr>
{U_INDEX}
{U_VIEW_FORUM}
</tr>
</table>
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
{NAVIGATION_BOX}
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
<tr>
{L_SPLIT_TOPIC_EXPLAIN}
</tr>
	<tr>
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
	<tr>
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longest
#
templates/subSilver/images/spacer.gif
#
#-----[ IN-LINE FIND ]----------------------------------------
#
templates/subSilver/images/spacer.gif
#
#-----[ IN-LINE REPLACE WITH ]--------------------------------
#
{I_SPACER}
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/modcp_viewip.tpl
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
<table
<tr>
{U_INDEX}
</tr>
</table>
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
<table border="0" cellpadding="4" cellspacing="1" width="100%">
<tr>
	<td><span class="maintitle">
		<a href="{U_MOD_CP}" class="maintitle">{L_MOD_CP}</a>
	</span><span class="gensmall"><br />
		<br />
	</span></td>
</tr>
</table>

{NAVIGATION_BOX}
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/overall_header.tpl
#
#-----[ FIND ]------------------------------------------------
#
# This one will add the "Preferences" link to your menu. 
# You will quite surely have to adapt it to your template
# if you are not using subSilver.
#
# this is a partial search : the full lines are longer
#
{L_PROFILE}</a>
#
#-----[ IN-LINE FIND ]---------------------------------------- 
#
{L_PROFILE}</a>
#
#-----[ IN-LINE AFTER, ADD ]---------------------------------- 
#
&nbsp; &nbsp;<a href="{U_PREFERENCES}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_profile.gif" width="12" height="13" border="0" alt="{L_PREFERENCES}" hspace="3" />{L_PREFERENCES}</a>
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/posting_body.tpl
#
#-----[ FIND ]------------------------------------------------
#
# This is a partial search : the full line is longer
#
<form action="{S_POST_ACTION}" 
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
<!-- BEGIN switch_standalone -->
#
#-----[ FIND ]------------------------------------------------
#
# Here we move the navigation box above the preview and error boxes,
# add the last visit informations, the topic title and the moderators list to keep
# the same kind of display than in viewtopic
#
# this is a partial search : the full lines are longer
#
{POST_PREVIEW_BOX}
{ERROR_BOX}

<table
<tr>
{U_INDEX}
<!-- BEGIN switch_not_privmsg -->
{U_VIEW_FORUM}
<!-- END switch_not_privmsg -->
</tr>
</table>
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
<table width="100%" cellspacing="0" cellpadding="2" border="0" align="center">
  <tr> 
	<td align="left" valign="bottom"><span class="gensmall">
	<!-- BEGIN switch_user_logged_in -->
	{LAST_VISIT_DATE}<br />
	<!-- END switch_user_logged_in -->
	{CURRENT_TIME}<br />
	{S_TIMEZONE}
	</span></td>
  </tr>
</table>

<br class="nav" />

{NAVIGATION_BOX}
<!-- END switch_standalone -->

<!-- BEGIN switch_not_privmsg -->
<table width="100%" cellspacing="2" cellpadding="2" border="0">
<tr> 
	<td align="left" valign="bottom"><span class="maintitle">
		<a class="maintitle" href="{U_TITLE}">{TITLE}</a>
	</span><span class="gensmall"><br />
		<!-- BEGIN moderators -->
		<b>{L_MODERATORS}:&nbsp;</b>
		<!-- BEGIN mod -->
		<a href="{moderators.mod.U_MOD}" title="{moderators.mod.L_MOD_TITLE}" class="gensmall">{moderators.mod.L_MOD}</a>{moderators.mod.L_SEP}
		<!-- END mod -->
		<!-- END moderators -->
	</span></td>
</tr>
</table>
<!-- END switch_not_privmsg -->

{POST_PREVIEW_BOX}
{ERROR_BOX}
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full-lines are longer
#
<table
<tr>
{L_POST_A}
</tr>
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
<!-- BEGIN switch_standalone -->
#
#-----[ AFTER, ADD ]------------------------------------------
#
<!-- END switch_standalone -->
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
<tr>
{L_SUBJECT}
<td
name="subject"
</td>
</tr>
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
	<!-- BEGIN switch_subject -->
#
#-----[ IN-LINE FIND ]---------------------------------------- 
#
maxlength="60"
#
#-----[ IN-LINE REPLACE WITH ]--------------------------------
#
maxlength="{SUBJECT_LENGTH}"
#
#-----[ AFTER, ADD ]------------------------------------------
#
	<!-- END switch_subject -->
	<!-- BEGIN switch_sub_title -->
	<tr> 
		<td class="row1"><span class="gen"><b>{L_SUB_TITLE}</b></span></td>
		<td class="row2"><span class="gen">
			<input type="text" name="sub_title" size="45" maxlength="{SUB_TITLE_LENGTH}" style="width:450px" tabindex="2" class="post" value="{SUB_TITLE}" />
		</span></td>
	</tr>
	<!-- END switch_sub_title -->
	<!-- BEGIN switch_explain -->
	<tr>
		<td class="row3" colspan="2"><span class="gensmall">{L_EXPLAIN}</span></td>
	</tr>
	<!-- END switch_explain -->
	{ICON_BOX}
#
#-----[ FIND ]------------------------------------------------
#
	{POLLBOX}
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
	{POSTING_FORM}
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full-lines are longer
#
<tr>
{S_HIDDEN_FORM_FIELDS}
</tr>
  </table>
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
<!-- BEGIN switch_standalone -->
#
#-----[ AFTER, ADD ]------------------------------------------
#
<!-- END switch_standalone -->
#
#-----[ FIND ]------------------------------------------------
#
# Here we remove the "all times are GMT +/-" information (as it is at top now),
# and re-add the navigation box
#
# this is a partial search : the full lines are longer
#
<table
<tr>
{S_TIMEZONE}
</tr>
</table>
</form>

<table
<tr>
{JUMPBOX}
</tr>
</table>
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
<!-- BEGIN switch_standalone -->
{NAVIGATION_BOX}

</form>

<table width="100%" cellspacing="2" border="0" align="center">
<tr>
	<td nowrap="nowrap" align="right"><span class="gensmall">{JUMPBOX}</span></td>
</tr>
</table>
<br class="nav" />
<!-- END switch_standalone -->
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/posting_preview.tpl
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longest
#
{L_POST_SUBJECT}: {POST_SUBJECT}</span></td>
#
#-----[ IN-LINE FIND ]----------------------------------------
#
{L_POST_SUBJECT}: {POST_SUBJECT}</span></td>
#
#-----[ IN-LINE REPLACE WITH ]--------------------------------
#
{L_POST_SUBJECT}:
#
#-----[ AFTER, ADD ]------------------------------------------
#
# on a new line
#
			<!-- BEGIN msg_icon -->
			<img src="{msg_icon.I_ICON}" border="0" title="{msg_icon.L_ICON}" align="absbottom" />
			<!-- END msg_icon -->
			{POST_SUBJECT}
			<!-- BEGIN sub_title -->
			<br />{L_SUB_TITLE}: {sub_title.SUB_TITLE}
			<!-- END sub_title -->
			<!-- BEGIN announce -->
			<br />{announce.S_ANNOUNCE}
			<!-- END announce -->
			<!-- BEGIN calendar_event -->
			<br />{calendar_event.S_CALENDAR_EVENT}
			<!-- END calendar_event -->
		</span></td>
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longest
#
templates/subSilver/images/spacer.gif
#
#-----[ IN-LINE FIND ]----------------------------------------
#
templates/subSilver/images/spacer.gif
#
#-----[ IN-LINE REPLACE WITH ]--------------------------------
#
{I_SPACER}
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/posting_topic_review.tpl
#
#-----[ FIND ]------------------------------------------------
#
{L_POST_SUBJECT}: {postrow.POST_SUBJECT}</span></td>
#
#-----[ IN-LINE FIND ]----------------------------------------
#
{L_POST_SUBJECT}: {postrow.POST_SUBJECT}</span></td>
#
#-----[ IN-LINE REPLACE WITH ]--------------------------------
#
{L_POST_SUBJECT}:
#
#-----[ AFTER, ADD ]------------------------------------------
#
# on a new line
#
					<!-- BEGIN msg_icon -->
					<img src="{postrow.msg_icon.I_ICON}" border="0" title="{postrow.msg_icon.L_ICON}" align="absbottom" />
					<!-- END msg_icon -->
					{postrow.POST_SUBJECT}
					<!-- BEGIN sub_title -->
					<br />{L_SUB_TITLE}: {postrow.sub_title.SUB_TITLE}
					<!-- END sub_title -->
					<!-- BEGIN announce -->
					<br />{postrow.announce.S_ANNOUNCE}
					<!-- END announce -->
					<!-- BEGIN calendar_event -->
					<br />{postrow.calendar_event.S_CALENDAR_EVENT}
					<!-- END calendar_event -->
				</span></td>
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longest
#
templates/subSilver/images/spacer.gif
#
#-----[ IN-LINE FIND ]----------------------------------------
#
templates/subSilver/images/spacer.gif
#
#-----[ IN-LINE REPLACE WITH ]--------------------------------
#
{I_SPACER}
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/privmsgs_body.tpl
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longest
#
templates/subSilver/images/spacer.gif
#
#-----[ IN-LINE FIND ]----------------------------------------
#
templates/subSilver/images/spacer.gif
#
#-----[ IN-LINE REPLACE WITH ]--------------------------------
#
{I_SPACER}
#
#-----[ FIND ]------------------------------------------------
#
# Here the navigation is embbed in a table, what we don't want.
# So we are going to add the navigation box above this table,
# and remove the U_INDEX row from this table
#
# this is a partial search : the full lines are longer
#
<form
#
#-----[ AFTER, ADD ]------------------------------------------
#
{NAVIGATION_BOX}
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
	  <td align="left" valign="middle">{POST_PM_IMG}</td>
{U_INDEX}
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
	  <td align="left" valign="middle">{POST_PM_IMG}</td>
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/privmsgs_read_body.tpl
#
#-----[ FIND ]------------------------------------------------
#
# Same thing than for privmsgs_body.tpl
#
# this is a partial search : the full lines are longer
#
<form
#
#-----[ AFTER, ADD ]------------------------------------------
#
{NAVIGATION_BOX}
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
	  <td valign="middle">{REPLY_PM_IMG}</td>
{U_INDEX}
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
	  <td valign="middle">{REPLY_PM_IMG}</td>
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/profile_add_body.tpl
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
<table
<tr>
{U_INDEX}
</tr>
</table>
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
{NAVIGATION_BOX}
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/profile_avatar_gallery.tpl
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
<table
<tr>
{U_INDEX}
</tr>
</table>
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
{NAVIGATION_BOX}
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/profile_send_email.tpl
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
<table
<tr>
{U_INDEX}
</tr>
</table>
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
{NAVIGATION_BOX}
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/profile_send_pass.tpl
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
<table
<tr>
{U_INDEX}
</tr>
</table>
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
{NAVIGATION_BOX}
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/profile_view_body.tpl
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
<table
<tr>
{U_INDEX}
</tr>
</table>
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
{NAVIGATION_BOX}
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/search_body.tpl
#
#-----[ FIND ]------------------------------------------------
#
# On subSilver, the table is defined in this one on the same line than the <form>
# So let's replace it too
#
# this is a partial search : the full lines are longer
#
<form action="{S_SEARCH_ACTION}" method="POST"><table
<tr>
{U_INDEX}
</tr>
</table>
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
<form action="{S_SEARCH_ACTION}" method="POST">

{NAVIGATION_BOX}
#
#-----[ FIND ]------------------------------------------------
#
# Here we move the forum list to the upper options (after author, etc.)
#
# this is a partial search : the full lines are longer
#
<tr>
{L_SEARCH_OPTIONS}
</tr>
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
	<tr>
		<td class="row1" colspan="2"><span class="gen">{L_SEARCH_FORUM}:&nbsp;</span></td>
		<td class="row2" colspan="2"><span class="genmed"><select class="post" name="search_forum">{S_FORUM_OPTIONS}</select></span><span class="gensmall"><br /><input name="no_subs" type="checkbox" value="1" {S_NO_SUBS} />{L_NO_SUBS}</span></td>
	</tr>
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
<tr>
{L_FORUM}
{S_FORUM_OPTIONS}
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
	<tr>
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
</tr>
<tr>
{L_CATEGORY}
{S_CATEGORY_OPTIONS}
</td>
		<td class="row1" align="right"><span class="gen">{L_SORT_BY}:&nbsp;</span></td>
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
		<td class="row1" align="right"><span class="gen">{L_SORT_BY}:&nbsp;</span></td>
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/search_results_posts.tpl
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
<table
<tr>
{U_INDEX}
</tr>
</table>
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
{NAVIGATION_BOX}

<table border="0" cellpadding="2" cellspacing="0" width="100%">
<tr>
	<td width="100%" valign="bottom"><span class="gensmall">
		<!-- BEGIN pagination -->
		<b>{pagination.L_PAGE_OF}</b>&nbsp;{pagination.L_COUNT}
		<!-- END pagination -->
	</span></td>
	<td align="right" valign="bottom" nowrap="nowrap"><span class="gensmall">
		<b>
		<!-- BEGIN pagination -->
		<!-- BEGIN unique_ELSE -->
		{pagination.L_GOTO}:&nbsp;
		<!-- END unique_ELSE -->
		<!-- BEGIN previous -->
		<a href="{pagination.U_PREVIOUS}" class="gensmall">{pagination.L_PREVIOUS}</a>&nbsp;
		<!-- END previous -->

		<!-- BEGIN page_number -->
		<!-- BEGIN number -->
		<!-- BEGIN current -->
		{pagination.page_number.PAGE}{pagination.page_number.L_SEP}
		<!-- END current -->
		<!-- BEGIN current_ELSE -->
		<a href="{pagination.page_number.U_PAGE}" class="gensmall">{pagination.page_number.PAGE}</a>{pagination.page_number.L_SEP}
		<!-- END current_ELSE -->
		<!-- END number -->
		<!-- BEGIN number_ELSE -->
		...,
		<!-- END number_ELSE -->
		<!-- END page_number -->

		<!-- BEGIN next -->
		<a href="{pagination.U_NEXT}" class="gensmall">{pagination.L_NEXT}</a>
		<!-- END next -->
		<!-- END pagination -->
	</b></span></td>
</tr>
</table>
#
#-----[ FIND ]------------------------------------------------
#
# Here we need to break the subject line to add the navigation, so replace it
#
	<td width="100%" valign="top" class="row1"><img src="{searchresults.MINI_POST_IMG}" width="12" height="9" alt="{searchresults.L_MINI_POST_ALT}" title="{searchresults.L_MINI_POST_ALT}" border="0" /><span class="postdetails">{L_FORUM}:&nbsp;<b><a href="{searchresults.U_FORUM}" class="postdetails">{searchresults.FORUM_NAME}</a></b>&nbsp; &nbsp;{L_POSTED}: {searchresults.POST_DATE}&nbsp; &nbsp;{L_SUBJECT}: <b><a href="{searchresults.U_POST}">{searchresults.POST_SUBJECT}</a></b></span></td>
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
	<td width="100%" valign="top" class="row1"><span class="postdetails">
		<img src="{searchresults.MINI_POST_IMG}" width="12" height="9" alt="{searchresults.L_MINI_POST_ALT}" title="{searchresults.L_MINI_POST_ALT}" border="0" />
		{L_POSTED}: {searchresults.POST_DATE}<span class="gen">&nbsp;</span>&nbsp; &nbsp;{L_SUBJECT}:
		<!-- BEGIN msg_icon -->
		<img src="{searchresults.msg_icon.I_ICON}" border="0" title="{searchresults.msg_icon.L_ICON}" align="absbottom" />
		<!-- END msg_icon -->
		<b><a href="{searchresults.U_POST}">{searchresults.POST_SUBJECT}</a></b>
		<!-- BEGIN sub_title -->
		<br />{L_SUB_TITLE}: {searchresults.sub_title.SUB_TITLE}
		<!-- END sub_title -->
		<!-- BEGIN announce -->
		<br />{searchresults.announce.S_ANNOUNCE}
		<!-- END announce -->
		<!-- BEGIN calendar_event -->
		<br />{searchresults.calendar_event.S_CALENDAR_EVENT}
		<!-- END calendar_event -->
		<br />{L_FORUM}:&nbsp;
		<!-- BEGIN nav -->
		<a href="{searchresults.nav.U_NAV}" title="{searchresults.nav.L_NAV_DESC}" class="postdetails">{searchresults.nav.L_NAV}</a>
		<!-- BEGIN sep -->
		&raquo;
		<!-- END sep -->
		<!-- END nav -->
	</span></td>
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line are longest
#
<table
<tr> 
{PAGE_NUMBER}
{PAGINATION}
</tr>
</table>
#
#-----[ REPLACE WITH ]----------------------------------------
#
<table border="0" cellpadding="2" cellspacing="0" width="100%">
<tr>
	<td width="100%" valign="top"><span class="gensmall">
		<!-- BEGIN pagination -->
		<b>{pagination.L_PAGE_OF}</b>&nbsp;{pagination.L_COUNT}
		<!-- END pagination -->
	</span></td>
	<td align="right" valign="top" nowrap="nowrap"><span class="gensmall">
		<b>
		<!-- BEGIN pagination -->
		<!-- BEGIN unique_ELSE -->
		{pagination.L_GOTO}:&nbsp;
		<!-- END unique_ELSE -->
		<!-- BEGIN previous -->
		<a href="{pagination.U_PREVIOUS}" class="gensmall">{pagination.L_PREVIOUS}</a>&nbsp;
		<!-- END previous -->

		<!-- BEGIN page_number -->
		<!-- BEGIN number -->
		<!-- BEGIN current -->
		{pagination.page_number.PAGE}{pagination.page_number.L_SEP}
		<!-- END current -->
		<!-- BEGIN current_ELSE -->
		<a href="{pagination.page_number.U_PAGE}" class="gensmall">{pagination.page_number.PAGE}</a>{pagination.page_number.L_SEP}
		<!-- END current_ELSE -->
		<!-- END number -->
		<!-- BEGIN number_ELSE -->
		...,
		<!-- END number_ELSE -->
		<!-- END page_number -->

		<!-- BEGIN next -->
		<a href="{pagination.U_NEXT}" class="gensmall">{pagination.L_NEXT}</a>
		<!-- END next -->
		<!-- END pagination -->
	</b></span></td>
</tr>
</table>

{NAVIGATION_BOX}
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/subSilver.cfg
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : categories hierarchy ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#

?>
#
#-----[ BEFORE, ADD ]-----------------------------------------
#

//-- mod : categories hierarchy ------------------------------------------------
//-- add
// images addition
$images['whosonline'] = "$current_template_images/whosonline.gif";
$images['icon_unmark_read'] = "$current_template_images/icon_unmark_read.gif";

$images['category'] = "$current_template_images/cat_folder_big.gif";
$images['category_new'] = "$current_template_images/cat_folder_new_big.gif";
$images['category_locked'] = "$current_template_images/cat_folder_locked_big.gif";

$images['link'] = "$current_template_images/link_folder.gif";
$images['icon_minilink'] = "$current_template_images/icon_minilink.gif";

$images['forum_tiny'] = "$current_template_images/icon_minipost.gif";
$images['forum_new_tiny'] = "$current_template_images/icon_minipost_new.gif";
$images['forum_locked_tiny'] = "$current_template_images/icon_minipost_lock.gif";

$images['icon_minicat'] = "$current_template_images/icon_minicat.gif";
$images['icon_minicat_new'] = "$current_template_images/icon_minicat_new.gif";
$images['icon_minicat_locked'] = "$current_template_images/icon_minicat_lock.gif";

$images['topic_locked_tiny'] = "$current_template_images/icon_minipost_lock.gif";

// topics
$images['folder_locked_own'] = "$current_template_images/folder_lock_own.gif";
$images['folder_locked_new_own'] = "$current_template_images/folder_lock_new_own.gif";

$images['folder_global'] = "$current_template_images/folder_announce.gif";
$images['folder_global_new'] = "$current_template_images/folder_announce_new.gif";
$images['folder_global_own'] = "$current_template_images/folder_announce_own.gif";
$images['folder_global_new_own'] = "$current_template_images/folder_announce_new_own.gif";

$images['folder_announce_own'] = "$current_template_images/folder_announce_own.gif";
$images['folder_announce_new_own'] = "$current_template_images/folder_announce_new_own.gif";

$images['folder_sticky_own'] = "$current_template_images/folder_sticky_own.gif";
$images['folder_sticky_new_own'] = "$current_template_images/folder_sticky_new_own.gif";

$images['folder_own'] = "$current_template_images/folder_own.gif";
$images['folder_new_own'] = "$current_template_images/folder_new_own.gif";
$images['folder_hot_own'] = "$current_template_images/folder_hot_own.gif";
$images['folder_hot_new_own'] = "$current_template_images/folder_new_hot_own.gif";

$images['tree_pic_' . TREE_HSPACE] = "$current_template_images/tree_hspace.gif";
$images['tree_pic_' . TREE_VSPACE] = "$current_template_images/tree_vspace.gif";
$images['tree_pic_' . TREE_CROSS] = "$current_template_images/tree_fcross.gif";
$images['tree_pic_' . TREE_CLOSE] = "$current_template_images/tree_hcross.gif";

$images['cmd_up_arrow'] = "$current_template_images/bs_arrow_up.gif";
$images['cmd_down_arrow'] = "$current_template_images/bs_arrow_down.gif";
$images['cmd_details'] = "$current_template_images/bs_command_details.gif";
$images['cmd_cancel'] = "$current_template_images/{LANG}/bs_command_cancel.gif";
$images['cmd_create'] = "$current_template_images/{LANG}/bs_command_create.gif";
$images['cmd_delete'] = "$current_template_images/{LANG}/bs_command_delete.gif";
$images['cmd_edit'] = "$current_template_images/{LANG}/bs_command_edit.gif";
$images['cmd_submit'] = "$current_template_images/{LANG}/bs_command_submit.gif";
$images['cmd_select'] = "$current_template_images/{LANG}/bs_command_select.gif";
$images['cmd_search'] = "$current_template_images/{LANG}/bs_command_search.gif";
$images['cmd_synchro'] = "$current_template_images/{LANG}/bs_command_synchro.gif";
$images['cmd_export'] = "$current_template_images/{LANG}/bs_command_export.gif";
$images['cmd_check'] = "$current_template_images/{LANG}/bs_command_check.gif";
$images['cmd_regen'] = "$current_template_images/{LANG}/bs_command_regen.gif";
$images['cmd_add'] = "$current_template_images/{LANG}/bs_command_add.gif";

$images['cmd_mini_copy'] = "$current_template_images/bs_command_mini_copy.gif";
$images['cmd_mini_cancel'] = "$current_template_images/bs_command_mini_cancel.gif";
$images['cmd_mini_create'] = "$current_template_images/bs_command_mini_create.gif";
$images['cmd_mini_delete'] = "$current_template_images/bs_command_mini_delete.gif";
$images['cmd_mini_edit'] = "$current_template_images/bs_command_mini_edit.gif";
$images['cmd_mini_submit'] = "$current_template_images/bs_command_mini_submit.gif";
$images['cmd_mini_synchro'] = "$current_template_images/bs_command_mini_synchro.gif";

$images['sts_group'] = "$current_template_images/bs_status_group.gif";
$images['sts_user'] = "$current_template_images/bs_status_user.gif";

$images['spacer'] = "$current_template_images/spacer.gif";
//-- fin mod : categories hierarchy --------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/viewonline_body.tpl
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
<table
<tr>
{U_INDEX}
</tr>
</table>
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
{NAVIGATION_BOX}
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longest
#
templates/subSilver/images/spacer.gif
#
#-----[ IN-LINE FIND ]----------------------------------------
#
templates/subSilver/images/spacer.gif
#
#-----[ IN-LINE REPLACE WITH ]--------------------------------
#
{I_SPACER}
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/admin/group_edit_body.tpl
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
		<input type="radio" name="group_type"
	</tr>
#
#-----[ AFTER, ADD ]------------------------------------------
#
	<tr>
		<td class="row1"><span class="gen">{L_GROUP_SYSSTATUS}:</span></td>
		<td class="row2">
			<input type="radio" name="group_status" value="{GROUP_SYSSTATUS_STD}"{S_GROUP_SYSSTATUS_STD} /> {L_NO} &nbsp;&nbsp;<input type="radio" name="group_status" value="{GROUP_SYSSTATUS_SYS}"{S_GROUP_SYSSTATUS_SYS} /> {L_YES}
		</span></td>
	</tr>
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/admin/index_body.tpl
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longest
#
../templates/subSilver/images/spacer.gif
#
#-----[ IN-LINE FIND ]----------------------------------------
#
../templates/subSilver/images/spacer.gif
#
#-----[ IN-LINE REPLACE WITH ]--------------------------------
#
{I_SPACER}
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/admin/styles_edit_body.tpl
#
#-----[ FIND ]------------------------------------------------
#
# Here we move the CSS field above the CSS classes definition, and
# and add the new info fields
#
	<tr>
		<td class="row1">{L_TEMPLATE}:</td>
		<td class="row2" colspan="2">{S_TEMPLATE_SELECT}</td>
	</tr>
#
#-----[ AFTER, ADD ]------------------------------------------
#
	<tr>
		<td class="row1">{L_IMAGES_PACK}:<span class="gensmall"><br />{L_IMAGES_PACK_EXPLAIN}</span></td>
		<td class="row2" colspan="2"><input class="post" type="text" size="50" maxlength="100" name="images_pack" value="{IMAGES_PACK}" /></td>
	</tr>
	<tr>
		<td class="row1">{L_CUSTOM_TPLS}:<span class="gensmall"><br />{L_CUSTOM_TPLS_EXPLAIN}</span></td>
		<td class="row2" colspan="2"><input class="post" type="text" size="50" maxlength="100" name="custom_tpls" value="{CUSTOM_TPLS}" /></td>
	</tr>
	<tr>
		<td class="row1">{L_STYLESHEET}:<span class="gensmall"><br />{L_STYLESHEET_EXPLAIN}</span></td>
		<td class="row2" colspan="2"><input class="post" type="text" size="50" maxlength="100" name="head_stylesheet" value="{HEAD_STYLESHEET}"></td>
	</tr>
#
#-----[ FIND ]------------------------------------------------
#
	<tr>
		<td class="row1">{L_STYLESHEET}:<br /><span class="gensmall">Filename for CSS stylesheet to use for this theme.</span></td>
		<td class="row2"><input class="post" type="text" size="25" maxlength="100" name="head_stylesheet" value="{HEAD_STYLESHEET}"></td>
		<td class="row2">&nbsp;</td>		
	</tr>
	<tr>
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
	<tr>
#
#-----[ SAVE/CLOSE ALL FILES ]--------------------------------
#
# EoM
Özellerden kullanıcılara reklam yaptığım için sayın yöneticim beni uzaklaştırdı.
xformx
Kayıtlı Kullanıcı
Mesajlar: 12
Kayıt: 25.07.2006, 22:59
İletişim:

Mesaj gönderen xformx »

Hocam sen naptın ya (:
ben easy olanı kurabilmek için günlerdir uğraşıyorum.
herhalde buna başlasam seneye biter
emeğine sağlık
Kullanıcı avatarı
KILLBOY
Kayıtlı Kullanıcı
Mesajlar: 35
Kayıt: 13.03.2006, 20:20
Konum: Sandalye
İletişim:

Mesaj gönderen KILLBOY »

ben yeni bir phpbb2 nin içine attım root un içindekileri

localostta sql larıda baştan aşağıya yaptım fakat hata veriyor.
Kullanıcı avatarı
NEFRİT
Uzaklaştırıldı
Mesajlar: 1404
Kayıt: 28.01.2006, 04:15
Konum: DarkKingdom
İletişim:

Mesaj gönderen NEFRİT »

Neresi hata veriyor site adresin nedir hata veren sayfa hangisi ve çıkan hata kodu ?
Özellerden kullanıcılara reklam yaptığım için sayın yöneticim beni uzaklaştırdı.
Kullanıcı avatarı
KILLBOY
Kayıtlı Kullanıcı
Mesajlar: 35
Kayıt: 13.03.2006, 20:20
Konum: Sandalye
İletişim:

Mesaj gönderen KILLBOY »

NEFRİT yazdı:Neresi hata veriyor site adresin nedir hata veren sayfa hangisi ve çıkan hata kodu ?
Ben localhosta denedim.

son sürüm bir phpbb2 nin içine verdiğin linkteki root dosyasının içindkileri attım ve sql larıda yaptım ve şu hataları verdi.


Fatal error: Call to a member function on a non-object in c:\apache\htdocs\phpbb2\index.php on line 27

ve hiç bir şey yapamadım öyle kaldım.adminnin içindeki bu mod için açılan yerlerdede hata veriyordu.

birde be sadece root un içindekileri attım yani tek tek yüklemedim verdiğin listeye göre root un içindekilerde aynı işe yarıyor dimi.
Kullanıcı avatarı
NEFRİT
Uzaklaştırıldı
Mesajlar: 1404
Kayıt: 28.01.2006, 04:15
Konum: DarkKingdom
İletişim:

Mesaj gönderen NEFRİT »

Tamam dosyaları attın sonra mod kurulumunu yani dosyalar içindeki gerekli kod değişiklerini yaptın mı ?
Özellerden kullanıcılara reklam yaptığım için sayın yöneticim beni uzaklaştırdı.
Kullanıcı avatarı
KILLBOY
Kayıtlı Kullanıcı
Mesajlar: 35
Kayıt: 13.03.2006, 20:20
Konum: Sandalye
İletişim:

Mesaj gönderen KILLBOY »

NEFRİT yazdı:Tamam dosyaları attın sonra mod kurulumunu yani dosyalar içindeki gerekli kod değişiklerini yaptın mı ?


yani senin şu 4 saatte yaptığındanmı bassediyorsun ben kolay olanını 2 saatte falan yaptım gözlerim bozuluyordu.

ben root un içindeki kurulmuş olansandım kusura bakma :D

üstelik bunu yapıca bazı modları yükleyemessin demişin.

ya sen kurduysan versene link indirim bakiyim nasıl bişeymiş veya kurmuş olduğun sitteyi ver.
Kullanıcı avatarı
NEFRİT
Uzaklaştırıldı
Mesajlar: 1404
Kayıt: 28.01.2006, 04:15
Konum: DarkKingdom
İletişim:

Mesaj gönderen NEFRİT »

Phpbb PLUS sisteminin kullandığı alt forum sistemini aynısıdır. Ancak bunun veriyonu çok daha yüksektir.

Demo içn : http://rpgnet.clanmckeen.com/demo/
Özellerden kullanıcılara reklam yaptığım için sayın yöneticim beni uzaklaştırdı.
Kullanıcı avatarı
KILLBOY
Kayıtlı Kullanıcı
Mesajlar: 35
Kayıt: 13.03.2006, 20:20
Konum: Sandalye
İletişim:

Mesaj gönderen KILLBOY »

NEFRİT yazdı:Phpbb PLUS sisteminin kullandığı alt forum sistemini aynısıdır. Ancak bunun veriyonu çok daha yüksektir.

Demo içn : http://rpgnet.clanmckeen.com/demo/
yok uğraşamam bunla yeter bana easy sub forum yinede eline sağlık siteni gördüm bende pandela.com o kullanıyorum.
Kullanıcı avatarı
NEFRİT
Uzaklaştırıldı
Mesajlar: 1404
Kayıt: 28.01.2006, 04:15
Konum: DarkKingdom
İletişim:

Mesaj gönderen NEFRİT »

Başk bir sitem vardı ama maddi sorunlardan ötürü kapandı pandela hesabım eskiden beri vardı. İçindeki forumu ise sadece TEST amaçlı yükledim.
Özellerden kullanıcılara reklam yaptığım için sayın yöneticim beni uzaklaştırdı.
Kilitli

“2.0.x MOD Duyuruları” sayfasına dön

Kimler çevrimiçi

Bu forumu görüntüleyen kullanıcılar: Hiç bir kayıtlı kullanıcı yok ve 0 misafir