Wieder mal parse error...
Verfasst: 03.02.2006 20:00
Code: Alles auswählen
Parse error: parse error, unexpected T_VARIABLE, expecting '{' in /usr/export/www/hosting/valenterry/forum/phpBB2/includes/prune.php on line 31
Code: Alles auswählen
if ( !defined('IN_PHPBB') )
{
die("Hacking attempt");
}
require($phpbb_root_path . 'includes/functions_search.'.$phpEx);
function prune($forum_id, $prune_date, $prune_all = false)
[b][color=red]$sql = "SELECT * FROM " . PRUNE_TABLE . "[/color][/b]
WHERE forum_id = $forum_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not read auto_prune table', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
$prune_type = ( $prune_all ) ? PRUNE_DELETE : $row['prune_type'];
$move_to = $row['move_to'];
{
global $db, $lang;
$prune_all = ($prune_all) ? '' : 'AND t.topic_vote = 0 AND t.topic_type <> ' . POST_ANNOUNCE;
//
// Those without polls and announcements ... unless told otherwise!
//
if ( $prune_type == PRUNE_MOVE || $prune_type == PRUNE_LOCK )
{
$move_sql = ( $prune_type == PRUNE_MOVE ) ? "forum_id = $move_to," : '';
$sql = "UPDATE " . TOPICS_TABLE . "
SET $move_sql topic_status = " . TOPIC_LOCKED . "
WHERE forum_id = $forum_id
AND topic_id IN ($sql_topics)";
if ( !$db->sql_query($sql, BEGIN_TRANSACTION) )
{
message_die(GENERAL_ERROR, 'Could not move/lock topics during prune', '', __LINE__, __FILE__, $sql);
}
$pruned_topics = $db->sql_affectedrows();
if ( $prune_type == PRUNE_MOVE )
{
$sql = "UPDATE " . POSTS_TABLE . "
SET forum_id = $move_to
WHERE forum_id = $forum_id
AND topic_id IN ($sql_topics)";
if ( !$db->sql_query($sql, BEGIN_TRANSACTION) )
{
message_die(GENERAL_ERROR, 'Could not move posts during prune', '', __LINE__, __FILE__, $sql);
}
$pruned_posts = $db->sql_affectedrows();
sync('forum', $move_to);
}
return array ('topics' => $pruned_topics, 'posts' => $pruned_posts);
}
else
{
$sql = "SELECT post_id
FROM " . POSTS_TABLE . "
WHERE forum_id = $forum_id
AND topic_id IN ($sql_topics)";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain list of posts to prune', '', __LINE__, __FILE__, $sql);
}
$sql_post = '';
while ( $row = $db->sql_fetchrow($result) )
{
$sql_post .= ( ( $sql_post != '' ) ? ', ' : '' ) . $row['post_id'];
}
$db->sql_freeresult($result);
if ( $sql_post != '' )
{
$sql = "DELETE FROM " . TOPICS_WATCH_TABLE . "
WHERE topic_id IN ($sql_topics)";
if ( !$db->sql_query($sql, BEGIN_TRANSACTION) )
{
message_die(GENERAL_ERROR, 'Could not delete watched topics during prune', '', __LINE__, __FILE__, $sql);
}
$sql = "DELETE FROM " . TOPICS_TABLE . "
WHERE topic_id IN ($sql_topics)";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not delete topics during prune', '', __LINE__, __FILE__, $sql);
}
$pruned_topics = $db->sql_affectedrows();
$sql = "DELETE FROM " . POSTS_TABLE . "
WHERE post_id IN ($sql_post)";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not delete post_text during prune', '', __LINE__, __FILE__, $sql);
}
$pruned_posts = $db->sql_affectedrows();
$sql = "DELETE FROM " . POSTS_TEXT_TABLE . "
WHERE post_id IN ($sql_post)";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not delete post during prune', '', __LINE__, __FILE__, $sql);
}
remove_search_post($sql_post);
return array ('topics' => $pruned_topics, 'posts' => $pruned_posts);
}
}
}
return array('topics' => 0, 'posts' => 0);
}