[ resmi görüntülemek için tıklayın ]
Kod: Tümünü seç
##############################################################
## MOD Title: MOVE TOPICS WHEN LOCKED [2.0.7] [2.0.8]
## MOD Author: Bentley Raccoon < bentley@rik.wsq.nl > (Rik van Nuil) http://www.rik.wsq.nl/forum
##
## MOD Description: This modification automaticly moves locked
## topics to a specified forum.
##
## MOD Version: 1.1.2
##
## Installation Level: (Easy)
## Installation Time: 5 Minutes
## Files To Edit: (5)
## - modcp.php
## - admin/admin_board.php
## - language/lang_english/lang_admin.php
## - language/lang_dutch/lang_admin.php (Optional)
## - language/lang_french/lang_admin.php (Optional)
## - templates/subSilver/admin/board_config_body.tpl
## Included Files: N/A
##
##############################################################
## Author Notes:
## Enjoy :)
##############################################################
## MOD History:
##
## 2004/06/22 - Version 1.1.2
## - Added French language file entries.
## - French Translation was done by grummfy
##
## 2004/06/21 - Version 1.1.1
## - Added Dutch language file entries.
## - Checked compatibility with version 2.0.8.
##
## 2004/04/12 - Version 1.1.0
## - Updated the system, Sticky's and Announcements can be locked without being moved.
##
## 2004/04/10 - Version 1.0.0
## - Initial Release
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################
#
#-----[ SQL ]------------------------------------------
# change phpbb_ to the database prefix you use
#
INSERT INTO phpbb_config VALUES('move_when_locked_stat','-1');
INSERT INTO phpbb_config VALUES('move_when_locked_id','1');
INSERT INTO phpbb_config VALUES('leave_special_topic_stat','-1');
#
#-----[ OPEN ]------------------------------------------
#
modcp.php
#
#-----[ FIND ]------------------------------------------
#
$sql = "UPDATE " . TOPICS_TABLE . "
SET topic_status = " . TOPIC_LOCKED . "
WHERE topic_id IN ($topic_id_sql)
AND forum_id = $forum_id
AND topic_moved_id = 0";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not update topics table', '', __LINE__, __FILE__, $sql);
}
#
#-----[ AFTER, ADD ]------------------------------------------
#
//
// START OF THE MOVE TOPICS WHEN LOCKED MODIFICATION
//
if($board_config['move_when_locked_stat'] != -1 && $board_config['move_when_locked_stat'] == 1)
{
$move_to_forum = $board_config['move_when_locked_id'];
//
// Let's check for special topics :)
//
$sql = "SELECT * FROM " . TOPICS_TABLE . "
WHERE topic_id IN ($topic_id_sql)
AND forum_id = $forum_id
AND topic_moved_id = 0";
if ( !($special_result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not update topics table', '', __LINE__, __FILE__, $sql);
}
while($row = $db->sql_fetchrow($special_result))
{
$move_topic_id_system = $row['topic_id'];
if(($board_config['leave_special_topic_stat'] == -1) || (($board_config['leave_special_topic_stat'] == 1) && (($row['topic_type'] == 1) || ($row['topic_type'] == 0))) || (($board_config['leave_special_topic_stat'] == 2) && ($row['topic_type'] == 0)))
{
//
// Start moving topic and posts
//
$sql = "UPDATE " . TOPICS_TABLE . "
SET forum_id = $move_to_forum
WHERE topic_id = $move_topic_id_system
AND forum_id = $forum_id
AND topic_moved_id = 0";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not update topics table', '', __LINE__, __FILE__, $sql);
}
$sql = "UPDATE " . POSTS_TABLE . "
SET forum_id = $move_to_forum
WHERE topic_id = $move_topic_id_system
AND forum_id = $forum_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not update topics table', '', __LINE__, __FILE__, $sql);
}
}
}
//
// Resync index :)
//
sync('forum', $forum_id);
sync('forum', $move_to_forum);
}
//
// END OF THE MOVE TOPICS WHEN LOCKED MODIFICATION
//
#
#-----[ OPEN ]------------------------------------------
#
admin/admin_board.php
#
#-----[ FIND ]------------------------------------------
#
$smtp_yes = ( $new['smtp_delivery'] ) ? "checked=\"checked\"" : "";
$smtp_no = ( !$new['smtp_delivery'] ) ? "checked=\"checked\"" : "";
#
#-----[ AFTER, ADD ]------------------------------------------
#
// START OF THE MOVE TOPICS WHEN LOCKED MODIFICATION
$move_when_locked_off = ( $new['move_when_locked_stat'] == -1 ) ? "checked=\"checked\"" : "";
$move_when_locked_on = ( $new['move_when_locked_stat'] == 1 ) ? "checked=\"checked\"" : "";
$leave_special_topic_no = ($new['leave_special_topic_stat'] == -1 ) ? "checked=\"checked\"" : "";
$leave_special_topic_anno = ($new['leave_special_topic_stat'] == 1 ) ? "checked=\"checked\"" : "";
$leave_special_topic_both = ($new['leave_special_topic_stat'] == 2 ) ? "checked=\"checked\"" : "";
// END OF THE MOVE TOPICS WHEN LOCKED MODIFICATION
#
#-----[ FIND ]------------------------------------------
#
"L_ENABLE_GZIP" => $lang['Enable_gzip'],
"L_ENABLE_PRUNE" => $lang['Enable_prune'],
#
#-----[ AFTER, ADD ]------------------------------------------
#
// START OF THE MOVE TOPICS WHEN LOCKED MODIFICATION
"L_MT_HEADER" => $lang['MT_header'],
"L_MT_ACTIVE" => $lang['MT_move'],
"L_MT_MOVE_ID" => $lang['MT_move_to'],
"L_MT_MOVE_DESC" => $lang['MT_move_to_desc'],
"L_MT_LEAVE_SPECIAL" => $lang['MT_special'],
"L_MT_LEAVE_SPECIAL_DESC" => $lang['MT_special_desc'],
"L_MT_ANNO_ONLY" => $lang['MT_only_anno'],
// END OF THE MOVE TOPICS WHEN LOCKED MODIFICATION
#
#-----[ FIND ]------------------------------------------
#
"PRUNE_YES" => $prune_yes,
"PRUNE_NO" => $prune_no,
#
#-----[ AFTER, ADD ]------------------------------------------
#
// START OF THE MOVE TOPICS WHEN LOCKED MODIFICATION
"MOVE_WHEN_LOCKED_FID" => $new['move_when_locked_id'],
"MOVE_WHEN_LOCKED_ACTIVE" => $move_when_locked_on,
"MOVE_WHEN_LOCKED_INACTIVE" => $move_when_locked_off,
"LEAVE_ANNOUNCEMENTS" => $leave_special_topic_anno,
"LEAVE_NOTHING" => $leave_special_topic_no,
"LEAVE_BOTH" => $leave_special_topic_both,
// END OF THE MOVE TOPICS WHEN LOCKED MODIFICATION
#
#-----[ OPEN ]------------------------------------------
# Make sure to edit this file for every language you use!
#
language/lang_english/lang_admin.php
#
#-----[ FIND ]------------------------------------------
#
$lang['Install_No_PCRE'] = 'phpBB2 Requires the Perl-Compatible Regular Expressions Module for PHP which your PHP configuration doesn\'t appear to support!';
#
#-----[ AFTER, ADD ]------------------------------------------
#
// START OF THE MOVE TOPICS WHEN LOCKED MODIFICATION
$lang['MT_header'] = 'Locked topics move configuration.';
$lang['MT_move'] = 'Move topics when locked?';
$lang['MT_move_to'] = 'Move topics to:';
$lang['MT_move_to_desc'] = 'Here you need to fill in ONE id. To get the id hover above a link and get the value behind "f=".';
$lang['MT_special'] = 'Leave sticky and accouncements?';
$lang['MT_special_desc'] = 'Leaves sticky and announcements in place when locked.';
$lang['MT_only_anno'] = 'Only Announcements';
// END OF THE MOVE TOPICS WHEN LOCKED MODIFICATION
#
#-----[ OPEN ]------------------------------------------
# Make sure to edit this file for every theme you use!
#
templates/subSilver/admin/board_config_body.tpl
#
#-----[ FIND ]------------------------------------------
#
<tr>
<td class="row1">{L_ENABLE_GZIP}</td>
<td class="row2"><input type="radio" name="gzip_compress" value="1" {GZIP_YES} /> {L_YES} <input type="radio" name="gzip_compress" value="0" {GZIP_NO} /> {L_NO}</td>
</tr>
<tr>
<td class="row1">{L_ENABLE_PRUNE}</td>
<td class="row2"><input type="radio" name="prune_enable" value="1" {PRUNE_YES} /> {L_YES} <input type="radio" name="prune_enable" value="0" {PRUNE_NO} /> {L_NO}</td>
</tr>
#
#-----[ AFTER, ADD ]------------------------------------------
#
<!-- START Move topics when locked //-->
<tr>
<th class="thHead" colspan="2">{L_MT_HEADER}</th>
</tr>
<tr>
<td class="row1">{L_MT_ACTIVE}</td>
<td class="row2">
<input type="radio" name="move_when_locked_stat" value="-1" {MOVE_WHEN_LOCKED_INACTIVE} /> {L_NO}
<input type="radio" name="move_when_locked_stat" value="1" {MOVE_WHEN_LOCKED_ACTIVE} /> {L_YES}
</td>
</tr>
<tr>
<td class="row1">{L_MT_LEAVE_SPECIAL}<br /><span class="gensmall">{L_MT_LEAVE_SPECIAL_DESC}</span></td>
<td class="row2">
<input type="radio" name="leave_special_topic_stat" value="-1" {LEAVE_NOTHING} /> {L_NO}
<input type="radio" name="leave_special_topic_stat" value="1" {LEAVE_ANNOUNCEMENTS} /> {L_MT_ANNO_ONLY}
<input type="radio" name="leave_special_topic_stat" value="2" {LEAVE_BOTH} /> {L_YES}
</td>
</tr>
<tr>
<td class="row1">{L_MT_MOVE_ID}<br /><span class="gensmall">{L_MT_MOVE_DESC}</span></td>
<td class="row2"><input class="post" type="text" maxlength="4" size="4" name="move_when_locked_id" value="{MOVE_WHEN_LOCKED_FID}" /></td>
</tr>
<!-- END Move topics when locked //-->
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM