Zeile 1 | Zeile 1 |
---|
<?php /** * MyBB 1.4
|
<?php /** * MyBB 1.4
|
* Copyright � 2008 MyBB Group, All Rights Reserved
| * Copyright © 2008 MyBB Group, All Rights Reserved
|
* * Website: http://www.mybboard.net * License: http://www.mybboard.net/about/license *
|
* * Website: http://www.mybboard.net * License: http://www.mybboard.net/about/license *
|
* $Id: class_moderation.php 4119 2008-08-16 01:00:23Z Tikitiki $
| * $Id: class_moderation.php 4596 2009-12-10 23:58:08Z RyanGordon $
|
*/
class Moderation
| */
class Moderation
|
Zeile 27 | Zeile 27 |
---|
}
// Make sure we only have valid values
|
}
// Make sure we only have valid values
|
array_walk($tids, 'intval');
| $tids = array_map('intval', $tids);
|
$plugins->run_hooks("class_moderation_close_threads", $tids);
| $plugins->run_hooks("class_moderation_close_threads", $tids);
|
Zeile 36 | Zeile 36 |
---|
$openthread = array( "closed" => 1, );
|
$openthread = array( "closed" => 1, );
|
$db->update_query("threads", $openthread, "tid IN ($tid_list)");
| $db->update_query("threads", $openthread, "tid IN ($tid_list) AND closed NOT LIKE 'moved|%'");
|
return true; }
| return true; }
|
Zeile 58 | Zeile 58 |
---|
}
// Make sure we only have valid values
|
}
// Make sure we only have valid values
|
array_walk($tids, 'intval');
| $tids = array_map('intval', $tids);
|
$plugins->run_hooks("class_moderation_open_threads", $tids);
| $plugins->run_hooks("class_moderation_open_threads", $tids);
|
Zeile 88 | Zeile 88 |
---|
}
// Make sure we only have valid values
|
}
// Make sure we only have valid values
|
array_walk($tids, 'intval');
| $tids = array_map('intval', $tids);
|
$plugins->run_hooks("class_moderation_stick_threads", $tids);
| $plugins->run_hooks("class_moderation_stick_threads", $tids);
|
Zeile 118 | Zeile 118 |
---|
}
// Make sure we only have valid values
|
}
// Make sure we only have valid values
|
array_walk($tids, 'intval');
| $tids = array_map('intval', $tids);
|
$plugins->run_hooks("class_moderation_unstick_threads", $tids);
| $plugins->run_hooks("class_moderation_unstick_threads", $tids);
|
Zeile 228 | Zeile 228 |
---|
$pids = implode(',', $pids); $db->delete_query("posts", "pid IN ($pids)"); $db->delete_query("attachments", "pid IN ($pids)");
|
$pids = implode(',', $pids); $db->delete_query("posts", "pid IN ($pids)"); $db->delete_query("attachments", "pid IN ($pids)");
|
| $db->delete_query("reportedposts", "pid IN ($pids)");
|
} // Get thread info $query = get_thread($tid);
| } // Get thread info $query = get_thread($tid);
|
Zeile 311 | Zeile 312 |
---|
}
// Make sure we only have valid values
|
}
// Make sure we only have valid values
|
array_walk($tids, 'intval');
| $tids = array_map('intval', $tids);
|
foreach($tids as $tid) {
| foreach($tids as $tid) {
|
Zeile 321 | Zeile 322 |
---|
continue; } $tid_list[] = $thread['tid'];
|
continue; } $tid_list[] = $thread['tid'];
|
| update_thread_counters($tid, array("unapprovedposts" => "-1"));
|
$forum = get_forum($thread['fid']);
| $forum = get_forum($thread['fid']);
|
Zeile 335 | Zeile 338 |
---|
while($counter = $db->fetch_array($query)) { $db->write_query("UPDATE ".TABLE_PREFIX."users SET postnum=postnum+{$counter['posts']} WHERE uid='".$counter['uid']."'");
|
while($counter = $db->fetch_array($query)) { $db->write_query("UPDATE ".TABLE_PREFIX."users SET postnum=postnum+{$counter['posts']} WHERE uid='".$counter['uid']."'");
|
} }
| } }
|
$posts_to_approve[] = $thread['firstpost']; }
if(is_array($tid_list)) {
|
$posts_to_approve[] = $thread['firstpost']; }
if(is_array($tid_list)) {
|
| $tid_moved_list = ""; $comma = ""; foreach($tid_list as $tid) { $tid_moved_list .= "{$comma}'moved|{$tid}'"; $comma = ","; }
|
$tid_list = implode(',', $tid_list); $approve = array( "visible" => 1 );
|
$tid_list = implode(',', $tid_list); $approve = array( "visible" => 1 );
|
$db->update_query("threads", $approve, "tid IN ($tid_list)");
| $db->update_query("threads", $approve, "tid IN ($tid_list) OR closed IN ({$tid_moved_list})");
|
$db->update_query("posts", $approve, "pid IN (".implode(',', $posts_to_approve).")");
$plugins->run_hooks("class_moderation_approve_threads", $tids);
| $db->update_query("posts", $approve, "pid IN (".implode(',', $posts_to_approve).")");
$plugins->run_hooks("class_moderation_approve_threads", $tids);
|
Zeile 363 | Zeile 373 |
---|
"unapprovedposts" => "-{$counters['num_posts']}" ); update_forum_counters($fid, $update_array);
|
"unapprovedposts" => "-{$counters['num_posts']}" ); update_forum_counters($fid, $update_array);
|
} } } return true;
| } } } return true;
|
}
/**
| }
/**
|
Zeile 385 | Zeile 395 |
---|
}
// Make sure we only have valid values
|
}
// Make sure we only have valid values
|
array_walk($tids, 'intval');
| $tids = array_map('intval', $tids);
|
$tid_list = implode(',', $tids);
|
$tid_list = implode(',', $tids);
|
| $tid_moved_list = ""; $comma = ""; foreach($tids as $tid) { $tid_moved_list .= "{$comma}'moved|{$tid}'"; $comma = ","; }
|
foreach($tids as $tid) {
| foreach($tids as $tid) {
|
Zeile 415 | Zeile 432 |
---|
$approve = array( "visible" => 0 );
|
$approve = array( "visible" => 0 );
|
$db->update_query("threads", $approve, "tid IN ($tid_list)");
| $db->update_query("threads", $approve, "tid IN ($tid_list) OR closed IN ({$tid_moved_list})");
|
$db->update_query("posts", $approve, "pid IN (".implode(',', $posts_to_unapprove).")");
$plugins->run_hooks("class_moderation_unapprove_threads", $tids);
| $db->update_query("posts", $approve, "pid IN (".implode(',', $posts_to_unapprove).")");
$plugins->run_hooks("class_moderation_unapprove_threads", $tids);
|
Zeile 442 | Zeile 459 |
---|
* Delete a specific post * * @param int Post ID
|
* Delete a specific post * * @param int Post ID
|
* @return boolean true
| * @return boolean true
|
*/ function delete_post($pid) {
| */ function delete_post($pid) {
|
Zeile 469 | Zeile 486 |
---|
// Delete the post $db->delete_query("posts", "pid='$pid'");
|
// Delete the post $db->delete_query("posts", "pid='$pid'");
|
| // Remove any reports attached to this post $db->delete_query("reportedposts", "pid='$pid'");
|
$num_unapproved_posts = $num_approved_posts = 0; // Update unapproved post count if($post['visible'] == 0) {
|
$num_unapproved_posts = $num_approved_posts = 0; // Update unapproved post count if($post['visible'] == 0) {
|
--$num_unaproved_posts;
| ++$num_unapproved_posts;
|
} else {
| } else {
|
Zeile 514 | Zeile 534 |
---|
global $db, $plugins;
// Make sure we only have valid values
|
global $db, $plugins;
// Make sure we only have valid values
|
array_walk($pids, 'intval');
| $pids = array_map('intval', $pids);
|
$tid = intval($tid);
$pidin = implode(',', $pids);
| $tid = intval($tid);
$pidin = implode(',', $pids);
|
Zeile 589 | Zeile 609 |
---|
$query = $db->simple_select("posts", "pid", "tid = '{$post['tid']}'", array('order_by' => 'dateline', 'order_dir' => 'desc', 'limit' => '1')); $lastpostpid = $db->fetch_field($query, 'pid');
|
$query = $db->simple_select("posts", "pid", "tid = '{$post['tid']}'", array('order_by' => 'dateline', 'order_dir' => 'desc', 'limit' => '1')); $lastpostpid = $db->fetch_field($query, 'pid');
|
$query2 = $db->simple_select("attachments", "COUNT(aid) as count", "pid IN({$pidin}) AND pid != '{$masterpid}' AND visible='1'");
| $query2 = $db->simple_select("attachments", "COUNT(aid) as count", "pid IN({$pidin}) AND visible='1'");
|
$attachment_count = $db->fetch_field($query2, "count"); $db->update_query("threads", array("attachmentcount" => $attachment_count), "tid = '{$mastertid}'");
| $attachment_count = $db->fetch_field($query2, "count"); $db->update_query("threads", array("attachmentcount" => $attachment_count), "tid = '{$mastertid}'");
|
Zeile 621 | Zeile 641 |
---|
update_thread_data($tid); } }
|
update_thread_data($tid); } }
|
| update_thread_data($mastertid); update_forum_lastpost($fid);
|
if(is_array($forum_counters)) {
| if(is_array($forum_counters)) {
|
Zeile 661 | Zeile 685 |
---|
$newforum = get_forum($new_fid); $fid = $thread['fid']; $forum = get_forum($fid);
|
$newforum = get_forum($new_fid); $fid = $thread['fid']; $forum = get_forum($fid);
|
|
|
$num_threads = $num_unapproved_threads = $num_posts = $num_unapproved_threads = 0; switch($method) { case "redirect": // move (and leave redirect) thread $arguments = array("tid" => $tid, "new_fid" => $new_fid); $plugins->run_hooks("class_moderation_move_thread_redirect", $arguments);
|
$num_threads = $num_unapproved_threads = $num_posts = $num_unapproved_threads = 0; switch($method) { case "redirect": // move (and leave redirect) thread $arguments = array("tid" => $tid, "new_fid" => $new_fid); $plugins->run_hooks("class_moderation_move_thread_redirect", $arguments);
|
if($thread['visible'] == 1) { $num_threads++; } else { $num_unapproved_threads++; // Implied forum unapproved count for unapproved threads $num_unapproved_posts = $thread['replies']+1; }
$num_posts = $thread['replies']+1; $num_unapproved_posts += $thread['unapprovedposts'];
| if($thread['visible'] == 1) { $num_threads++; $num_posts = $thread['replies']+1; } else { $num_unapproved_threads++; // Implied forum unapproved count for unapproved threads $num_unapproved_posts = $thread['replies']+1; } $num_unapproved_posts += $thread['unapprovedposts'];
|
$db->delete_query("threads", "closed='moved|$tid' AND fid='$new_fid'"); $changefid = array( "fid" => $new_fid,
|
$db->delete_query("threads", "closed='moved|$tid' AND fid='$new_fid'"); $changefid = array( "fid" => $new_fid,
|
);
| );
|
$db->update_query("threads", $changefid, "tid='$tid'"); $db->update_query("posts", $changefid, "tid='$tid'"); $threadarray = array(
| $db->update_query("threads", $changefid, "tid='$tid'"); $db->update_query("posts", $changefid, "tid='$tid'"); $threadarray = array(
|
Zeile 710 | Zeile 734 |
---|
if($redirect_expire) { $this->expire_thread($redirect_tid, $redirect_expire);
|
if($redirect_expire) { $this->expire_thread($redirect_tid, $redirect_expire);
|
| } // If we're moving back to a forum where we left a redirect, delete the rediect $query = $db->simple_select("threads", "tid", "closed LIKE 'moved|".intval($tid)."' AND fid='".intval($new_fid)."'"); while($movedthread = $db->fetch_array($query)) { $db->delete_query("threads", "tid='".intval($movedthread['tid'])."'", 1);
|
} break; case "copy":// copy thread
| } break; case "copy":// copy thread
|
Zeile 850 | Zeile 881 |
---|
if($thread['visible'] == 1) { $num_threads++;
|
if($thread['visible'] == 1) { $num_threads++;
|
| $num_posts = $thread['replies']+1;
|
} else { $num_unapproved_threads++; // Implied forum unapproved count for unapproved threads $num_unapproved_posts = $thread['replies']+1;
|
} else { $num_unapproved_threads++; // Implied forum unapproved count for unapproved threads $num_unapproved_posts = $thread['replies']+1;
|
}
$num_posts = $thread['replies']+1;
| }
|
$num_unapproved_posts = $thread['unapprovedposts'];
$sqlarray = array(
| $num_unapproved_posts = $thread['unapprovedposts'];
$sqlarray = array(
|
Zeile 866 | Zeile 897 |
---|
); $db->update_query("threads", $sqlarray, "tid='$tid'"); $db->update_query("posts", $sqlarray, "tid='$tid'");
|
); $db->update_query("threads", $sqlarray, "tid='$tid'"); $db->update_query("posts", $sqlarray, "tid='$tid'");
|
| // If we're moving back to a forum where we left a redirect, delete the rediect $query = $db->simple_select("threads", "tid", "closed LIKE 'moved|".intval($tid)."' AND fid='".intval($new_fid)."'"); while($movedthread = $db->fetch_array($query)) { $db->delete_query("threads", "tid='".intval($movedthread['tid'])."'", 1); }
|
break; }
| break; }
|
Zeile 875 | Zeile 913 |
---|
FROM ".TABLE_PREFIX."posts p LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=p.uid) WHERE tid='$tid'
|
FROM ".TABLE_PREFIX."posts p LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=p.uid) WHERE tid='$tid'
|
GROUP BY u.uid
| GROUP BY u.uid, p.visible
|
ORDER BY posts DESC "); while($posters = $db->fetch_array($query))
| ORDER BY posts DESC "); while($posters = $db->fetch_array($query))
|
Zeile 998 | Zeile 1036 |
---|
$db->update_query("threadsubscriptions", $sqlarray, "tid='{$mergetid}'"); update_first_post($tid);
|
$db->update_query("threadsubscriptions", $sqlarray, "tid='{$mergetid}'"); update_first_post($tid);
|
$arguments = array("mergetid" => $tid, "tid" => $tid, "subject" => $subject);
| $arguments = array("mergetid" => $mergetid, "tid" => $tid, "subject" => $subject);
|
$plugins->run_hooks("class_moderation_merge_threads", $arguments);
$this->delete_thread($mergetid);
| $plugins->run_hooks("class_moderation_merge_threads", $arguments);
$this->delete_thread($mergetid);
|
Zeile 1060 | Zeile 1098 |
---|
}
// Make sure we only have valid values
|
}
// Make sure we only have valid values
|
array_walk($pids, 'intval');
| $pids = array_map('intval', $pids);
|
$pids_list = implode(',', $pids);
| $pids_list = implode(',', $pids);
|
Zeile 1110 | Zeile 1148 |
---|
LEFT JOIN ".TABLE_PREFIX."threads t ON (p.tid=t.tid) LEFT JOIN ".TABLE_PREFIX."attachments a ON (a.pid=p.pid) WHERE p.pid IN ($pids_list)
|
LEFT JOIN ".TABLE_PREFIX."threads t ON (p.tid=t.tid) LEFT JOIN ".TABLE_PREFIX."attachments a ON (a.pid=p.pid) WHERE p.pid IN ($pids_list)
|
GROUP BY p.pid
| GROUP BY p.pid, p.tid, p.fid, p.visible, p.uid, t.visible, t.replies, t.unapprovedposts,t.attachmentcount
|
");
// Move the selected posts over
| ");
// Move the selected posts over
|
Zeile 1278 | Zeile 1316 |
---|
update_first_post($tid); } }
|
update_first_post($tid); } }
|
| update_thread_data($newtid);
|
update_first_post($newtid);
// Update forum counters
| update_first_post($newtid);
// Update forum counters
|
Zeile 1304 | Zeile 1344 |
---|
global $db, $plugins;
// Make sure we only have valid values
|
global $db, $plugins;
// Make sure we only have valid values
|
array_walk($tids, 'intval');
| $tids = array_map('intval', $tids);
|
$tid_list = implode(',', $tids);
| $tid_list = implode(',', $tids);
|
Zeile 1313 | Zeile 1353 |
---|
$newforum = get_forum($moveto);
$total_posts = $total_unapproved_posts = $total_threads = $total_unapproved_threads = 0;
|
$newforum = get_forum($moveto);
$total_posts = $total_unapproved_posts = $total_threads = $total_unapproved_threads = 0;
|
$query = $db->simple_select("threads", "fid, visible, replies, unapprovedposts", "tid IN ($tid_list)");
| $query = $db->simple_select("threads", "fid, visible, replies, unapprovedposts, tid", "tid IN ($tid_list)");
|
while($thread = $db->fetch_array($query)) { $forum = get_forum($thread['fid']);
| while($thread = $db->fetch_array($query)) { $forum = get_forum($thread['fid']);
|
Zeile 1420 | Zeile 1460 |
---|
$num_posts = 0;
// Make sure we only have valid values
|
$num_posts = 0;
// Make sure we only have valid values
|
array_walk($pids, 'intval');
| $pids = array_map('intval', $pids);
|
$pid_list = implode(',', $pids); $pids = $threads_to_update = array();
| $pid_list = implode(',', $pids); $pids = $threads_to_update = array();
|
Zeile 1526 | Zeile 1566 |
---|
global $db, $cache;
// Make sure we only have valid values
|
global $db, $cache;
// Make sure we only have valid values
|
array_walk($pids, 'intval');
| $pids = array_map('intval', $pids);
|
$pid_list = implode(',', $pids); $pids = $threads_to_update = array();
| $pid_list = implode(',', $pids); $pids = $threads_to_update = array();
|
Zeile 1641 | Zeile 1681 |
---|
// Make sure we only have valid values
|
// Make sure we only have valid values
|
array_walk($tids, 'intval');
| $tids = array_map('intval', $tids);
|
$tid_list = implode(',', $tids);
| $tid_list = implode(',', $tids);
|
Zeile 1702 | Zeile 1742 |
---|
global $db;
// Make sure we only have valid values
|
global $db;
// Make sure we only have valid values
|
array_walk($pids, 'intval');
| $pids = array_map('intval', $pids);
|
$pid_list = implode(',', $pids); $query = $db->simple_select("posts", 'pid, visible', "pid IN ($pid_list)");
| $pid_list = implode(',', $pids); $query = $db->simple_select("posts", 'pid, visible', "pid IN ($pid_list)");
|
Zeile 1740 | Zeile 1780 |
---|
global $db;
// Make sure we only have valid values
|
global $db;
// Make sure we only have valid values
|
array_walk($tids, 'intval');
| $tids = array_map('intval', $tids);
|
$fid = intval($fid);
$tid_list = implode(',', $tids);
| $fid = intval($fid);
$tid_list = implode(',', $tids);
|
Zeile 1778 | Zeile 1818 |
---|
global $db;
// Make sure we only have valid values
|
global $db;
// Make sure we only have valid values
|
array_walk($tids, 'intval');
| $tids = array_map('intval', $tids);
|
$tid_list = implode(',', $tids); $query = $db->simple_select("threads", 'tid, closed', "tid IN ($tid_list)");
| $tid_list = implode(',', $tids); $query = $db->simple_select("threads", 'tid, closed', "tid IN ($tid_list)");
|
Zeile 1823 | Zeile 1863 |
---|
}
// Make sure we only have valid values
|
}
// Make sure we only have valid values
|
array_walk($tids, 'intval');
| $tids = array_map('intval', $tids);
|
$fid = intval($fid);
$tids_csv = implode(',', $tids);
| $fid = intval($fid);
$tids_csv = implode(',', $tids);
|