mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
Additions for forum auto_pruning, and fix for form submission on edits
git-svn-id: file:///svn/phpbb/trunk@956 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
parent
ddf104d781
commit
5c6eb1e149
4 changed files with 116 additions and 18 deletions
|
@ -224,19 +224,71 @@ if(isset($mode)) // Are we supposed to do something?
|
|||
{
|
||||
message_die(GENERAL_ERROR, "Couldn't insert row in forums table", "", __LINE__, __FILE__, $sql);
|
||||
}
|
||||
if($HTTP_POST_VARS['prune_enable'] == 1)
|
||||
{
|
||||
$new_forum_id = $db->sql_nextid();
|
||||
$sql = "INSERT INTO ".PRUNE_TABLE." (
|
||||
forum_id,
|
||||
prune_days,
|
||||
prune_freq)
|
||||
VALUES(
|
||||
'$new_forum_id',
|
||||
'".$HTTP_POST_VARS['prune_days']."',
|
||||
'".$HTTP_POST_VARS['prune_freq']."')";
|
||||
if( !$result = $db->sql_query($sql) )
|
||||
{
|
||||
message_die(GENERAL_ERROR, "Couldn't insert row in prune table", "", __LINE__, __FILE__, $sql);
|
||||
}
|
||||
}
|
||||
$show_index = TRUE;
|
||||
break;
|
||||
case 'modforum': // Modify a forum in the DB
|
||||
if($HTTP_POST_VARS['prune_enable'] != 1)
|
||||
{
|
||||
$HTTP_POST_VARS['prune_enable'] = 0;
|
||||
}
|
||||
$sql = "UPDATE ".FORUMS_TABLE." SET
|
||||
forum_name = '".$HTTP_POST_VARS['forumname']."',
|
||||
cat_id = '".$HTTP_POST_VARS['cat_id']."',
|
||||
forum_desc = '".$HTTP_POST_VARS['forumdesc']."',
|
||||
forum_status = '".$HTTP_POST_VARS['forumstatus']."'
|
||||
forum_status = '".$HTTP_POST_VARS['forumstatus']."',
|
||||
prune_enable = '".$HTTP_POST_VARS['prune_enable']."'
|
||||
WHERE forum_id = '".$HTTP_POST_VARS['forum_id']."'";
|
||||
if( !$result = $db->sql_query($sql) )
|
||||
{
|
||||
message_die(GENERAL_ERROR, "Couldn't update forum information", "", __LINE__, __FILE__, $sql);
|
||||
}
|
||||
if($HTTP_POST_VARS['prune_enable'] == 1)
|
||||
{
|
||||
$sql = "SELECT * FROM ".PRUNE_TABLE."
|
||||
WHERE forum_id = '".$HTTP_POST_VARS['forum_id']."'";
|
||||
if( !$result = $db->sql_query($sql) )
|
||||
{
|
||||
message_die(GENERAL_ERROR, "Couldn't get forum Prune Information","",__LINE__, __FILE__, $sql);
|
||||
}
|
||||
if( $db->sql_numrows($result) > 0 )
|
||||
{
|
||||
$sql = "UPDATE ".PRUNE_TABLE." SET
|
||||
prune_days = '".$HTTP_POST_VARS['prune_days']."',
|
||||
prune_freq = '".$HTTP_POST_VARS['prune_freq']."'
|
||||
WHERE forum_id = '".$HTTP_POST_VARS['forum_id']."'";
|
||||
}
|
||||
else
|
||||
{
|
||||
$sql = "INSERT INTO ".PRUNE_TABLE."(
|
||||
forum_id,
|
||||
prune_days,
|
||||
prune_freq)
|
||||
VALUES(
|
||||
'".$HTTP_POST_VARS['forum_id']."',
|
||||
'".$HTTP_POST_VARS['prune_days']."',
|
||||
'".$HTTP_POST_VARS['prune_freq']."')";
|
||||
}
|
||||
if( !$result = $db->sql_query($sql) )
|
||||
{
|
||||
message_die(GENERAL_ERROR, "Couldn't Update Forum Prune Information","",__LINE__, __FILE__, $sql);
|
||||
}
|
||||
}
|
||||
$show_index = TRUE;
|
||||
break;
|
||||
|
||||
|
@ -279,6 +331,21 @@ if(isset($mode)) // Are we supposed to do something?
|
|||
$cat_id = $row['cat_id'];
|
||||
$forumdesc = $row['forum_desc'];
|
||||
$forumstatus = $row['forum_status'];
|
||||
//
|
||||
// start forum prune stuff.
|
||||
//
|
||||
if( $row['prune_enable'] == 1 )
|
||||
{
|
||||
$prune_enabled = "CHECKED";
|
||||
$sql = "SELECT *
|
||||
FROM " . PRUNE_TABLE . "
|
||||
WHERE forum_id = $forum_id";
|
||||
if(!$pr_result = $db->sql_query($sql))
|
||||
{
|
||||
message_die(GENERAL_ERROR, "Auto-Prune: Couldn't read auto_prune table.", __LINE__, __FILE__);
|
||||
}
|
||||
$pr_row = $db->sql_fetchrow($pr_result);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -304,10 +371,18 @@ if(isset($mode)) // Are we supposed to do something?
|
|||
$template->assign_vars(array(
|
||||
'FORUMNAME' => $forumname,
|
||||
'DESCRIPTION' => $forumdesc,
|
||||
'S_FORUM_ACTION' => $PHP_SELF,
|
||||
'S_CATLIST' => $catlist,
|
||||
'S_STATUSLIST' => $statuslist,
|
||||
'S_FORUMID' => $forum_id,
|
||||
'S_NEWMODE' => $newmode,
|
||||
'S_PRUNE_EN' => $prune_enabled,
|
||||
'S_PRUNE_DAYS' => $pr_row['prune_days'],
|
||||
'S_PRUNE_FREQ' => $pr_row['prune_freq'],
|
||||
'L_ENABLED' => $lang['Enabled'],
|
||||
'L_PRUNE_DAYS' => $lang['prune_days'],
|
||||
'L_PRUNE_FREQ' => $lang['prune_freq'],
|
||||
'L_DAYS' => $lang['days'],
|
||||
'BUTTONVALUE' => $buttonvalue)
|
||||
);
|
||||
$template->pparse("body");
|
||||
|
|
|
@ -158,22 +158,20 @@ function auto_prune($forum_id = 0)
|
|||
|
||||
while($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$forum_id = $row['forum_id'];
|
||||
|
||||
$prune_date = time() - ($row['prune_days'] * $one_day);
|
||||
|
||||
$pruned = prune($forum_id, $prune_date);
|
||||
|
||||
$next_prune = time() + ($row['prune_freq'] * $one_day);
|
||||
|
||||
$sql = "UPDATE " . FORUMS_TABLE . "
|
||||
SET prune_next = $next_prune
|
||||
WHERE forum_id = $forum_id";
|
||||
if(!$db->sql_query($sql))
|
||||
if($row['prune_freq'] > 0 && $row['prune_days'] > 0)
|
||||
{
|
||||
message_die(GENERAL_ERROR, "Auto-Prune: Couldn't update forum table.", __LINE__, __FILE__);
|
||||
$forum_id = $row['forum_id'];
|
||||
$prune_date = time() - ($row['prune_days'] * $one_day);
|
||||
$pruned = prune($forum_id, $prune_date);
|
||||
$next_prune = time() + ($row['prune_freq'] * $one_day);
|
||||
$sql = "UPDATE " . FORUMS_TABLE . "
|
||||
SET prune_next = $next_prune
|
||||
WHERE forum_id = $forum_id";
|
||||
if(!$db->sql_query($sql))
|
||||
{
|
||||
message_die(GENERAL_ERROR, "Auto-Prune: Couldn't update forum table.", __LINE__, __FILE__);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return;
|
||||
|
|
|
@ -70,7 +70,7 @@ $lang['Month'] = "Month";
|
|||
$lang['Months'] = "Months";
|
||||
$lang['Year'] = "Year";
|
||||
$lang['Years'] = "Years";
|
||||
|
||||
$lang['Enabled'] = "Enabled";
|
||||
$lang['Next'] = "Next";
|
||||
$lang['Previous'] = "Previous";
|
||||
$lang['Goto_page'] = "Goto page";
|
||||
|
@ -835,6 +835,12 @@ $lang['group_delete'] = "Delete group";
|
|||
$lang['group_delete_check'] = "Click here to delete this group.";
|
||||
$lang['submit_group_changes'] = "Submit Changes";
|
||||
$lang['reset_group_changes'] = "Reset Changes";
|
||||
//
|
||||
// Prune Administration
|
||||
//
|
||||
$lang['prune_days'] = 'Remove topics that haven\'t been posted to in';
|
||||
$lang['prune_freq'] = 'Check for topic age every';
|
||||
$lang['days'] = 'Days';
|
||||
|
||||
//
|
||||
// End
|
||||
|
|
|
@ -36,6 +36,25 @@
|
|||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1">Auto Pruning:</td>
|
||||
<td class="row2">
|
||||
<table>
|
||||
<tr>
|
||||
<td align="right" valign="middle">{L_ENABLED}</td>
|
||||
<td align="left" valign="middle"><input type="checkbox" name="prune_enable" value="1" {S_PRUNE_EN}></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" valign="middle">{L_PRUNE_DAYS}</td>
|
||||
<td align="left" valign="middle"> <input type="text" name="prune_days" value="{S_PRUNE_DAYS}" size="5"> {L_DAYS}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" valign="middle">{L_PRUNE_FREQ}</td>
|
||||
<td align="left" valign="middle"> <input type="text" name="prune_freq" value="{S_PRUNE_FREQ}" size="5"> {L_DAYS}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row2" colspan="2" align="center">
|
||||
<input type="hidden" name="mode" value="{S_NEWMODE}">
|
||||
|
|
Loading…
Add table
Reference in a new issue