Zeile 6 | Zeile 6 |
---|
* 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: moderation.php 4176 2008-09-03 13:50:09Z Tikitiki $
| * $Id: moderation.php 4308 2009-01-14 03:58:30Z Tikitiki $
|
*/
define("IN_MYBB", 1);
| */
define("IN_MYBB", 1);
|
Zeile 95 | Zeile 95 |
---|
else { eval("\$loginbox = \"".$templates->get("loginbox")."\";");
|
else { eval("\$loginbox = \"".$templates->get("loginbox")."\";");
|
| }
if($mybb->request_method != "post" && $mybb->input['action'] != "getip") { error_no_permission();
|
}
// Begin!
| }
// Begin!
|
Zeile 164 | Zeile 169 |
---|
// Remove redirects to a specific thread case "removeredirects":
|
// Remove redirects to a specific thread case "removeredirects":
|
// Verify incoming POST request verify_post_check($mybb->input['my_post_key']);
| // Verify incoming POST request verify_post_check($mybb->input['my_post_key']);
|
if(!is_moderator($fid, "canmanagethreads"))
|
if(!is_moderator($fid, "canmanagethreads"))
|
{
| {
|
error_no_permission(); }
$plugins->run_hooks("moderation_removeredirects");
|
error_no_permission(); }
$plugins->run_hooks("moderation_removeredirects");
|
|
|
$moderation->remove_redirects($tid);
log_moderator_action($modlogdata, $lang->redirects_removed);
| $moderation->remove_redirects($tid);
log_moderator_action($modlogdata, $lang->redirects_removed);
|
Zeile 185 | Zeile 190 |
---|
case "deletethread":
add_breadcrumb($lang->nav_deletethread);
|
case "deletethread":
add_breadcrumb($lang->nav_deletethread);
|
if(!is_moderator($fid, "candeleteposts")) { if($permissions['candeletethreads'] != 1 || $mybb->user['uid'] != $thread['uid']) { error_no_permission(); }
| if(!is_moderator($fid, "candeleteposts")) { if($permissions['candeletethreads'] != 1 || $mybb->user['uid'] != $thread['uid']) { error_no_permission(); }
|
}
$plugins->run_hooks("moderation_deletethread");
| }
$plugins->run_hooks("moderation_deletethread");
|
Zeile 232 | Zeile 237 |
---|
// Delete the poll from a thread confirmation page case "deletepoll": add_breadcrumb($lang->nav_deletepoll);
|
// Delete the poll from a thread confirmation page case "deletepoll": add_breadcrumb($lang->nav_deletepoll);
|
if(!is_moderator($fid, "candeleteposts")) { if($permissions['candeletethreads'] != 1 || $mybb->user['uid'] != $thread['uid']) { error_no_permission(); } }
| if(!is_moderator($fid, "candeleteposts")) { if($permissions['candeletethreads'] != 1 || $mybb->user['uid'] != $thread['uid']) { error_no_permission(); } }
|
$plugins->run_hooks("moderation_deletepoll");
$query = $db->simple_select("polls", "*", "tid='$tid'");
| $plugins->run_hooks("moderation_deletepoll");
$query = $db->simple_select("polls", "*", "tid='$tid'");
|
Zeile 253 | Zeile 258 |
---|
eval("\$deletepoll = \"".$templates->get("moderation_deletepoll")."\";"); output_page($deletepoll); break;
|
eval("\$deletepoll = \"".$templates->get("moderation_deletepoll")."\";"); output_page($deletepoll); break;
|
|
|
// Delete the actual poll here! case "do_deletepoll":
|
// Delete the actual poll here! case "do_deletepoll":
|
|
|
// Verify incoming POST request verify_post_check($mybb->input['my_post_key']);
| // Verify incoming POST request verify_post_check($mybb->input['my_post_key']);
|
Zeile 265 | Zeile 270 |
---|
error($lang->redirect_pollnotdeleted); } if(!is_moderator($fid, "candeleteposts"))
|
error($lang->redirect_pollnotdeleted); } if(!is_moderator($fid, "candeleteposts"))
|
{
| {
|
if($permissions['candeletethreads'] != 1 || $mybb->user['uid'] != $thread['uid']) { error_no_permission();
| if($permissions['candeletethreads'] != 1 || $mybb->user['uid'] != $thread['uid']) { error_no_permission();
|
Zeile 277 | Zeile 282 |
---|
{ error($lang->error_invalidpoll); }
|
{ error($lang->error_invalidpoll); }
|
|
|
$plugins->run_hooks("moderation_do_deletepoll");
$lang->poll_deleted = $lang->sprintf($lang->poll_deleted, $thread['subject']);
| $plugins->run_hooks("moderation_do_deletepoll");
$lang->poll_deleted = $lang->sprintf($lang->poll_deleted, $thread['subject']);
|
Zeile 290 | Zeile 295 |
---|
// Approve a thread case "approvethread":
|
// Approve a thread case "approvethread":
|
// Verify incoming POST request verify_post_check($mybb->input['my_post_key']);
if(!is_moderator($fid, "canopenclosethreads"))
| // Verify incoming POST request verify_post_check($mybb->input['my_post_key']);
if(!is_moderator($fid, "canopenclosethreads"))
|
{ error_no_permission(); }
| { error_no_permission(); }
|
Zeile 307 | Zeile 312 |
---|
log_moderator_action($modlogdata, $lang->thread_approved);
$moderation->approve_threads($tid, $fid);
|
log_moderator_action($modlogdata, $lang->thread_approved);
$moderation->approve_threads($tid, $fid);
|
|
|
moderation_redirect(get_thread_link($thread['tid']), $lang->redirect_threadapproved); break;
|
moderation_redirect(get_thread_link($thread['tid']), $lang->redirect_threadapproved); break;
|
|
|
// Unapprove a thread case "unapprovethread":
|
// Unapprove a thread case "unapprovethread":
|
|
|
// Verify incoming POST request verify_post_check($mybb->input['my_post_key']);
if(!is_moderator($fid, "canopenclosethreads"))
|
// Verify incoming POST request verify_post_check($mybb->input['my_post_key']);
if(!is_moderator($fid, "canopenclosethreads"))
|
{ error_no_permission(); }
| { error_no_permission(); }
|
$query = $db->simple_select("threads", "*", "tid='$tid'"); $thread = $db->fetch_array($query);
$plugins->run_hooks("moderation_unapprovethread");
|
$query = $db->simple_select("threads", "*", "tid='$tid'"); $thread = $db->fetch_array($query);
$plugins->run_hooks("moderation_unapprovethread");
|
|
|
$lang->thread_unapproved = $lang->sprintf($lang->thread_unapproved, $thread['subject']); log_moderator_action($modlogdata, $lang->thread_unapproved);
| $lang->thread_unapproved = $lang->sprintf($lang->thread_unapproved, $thread['subject']); log_moderator_action($modlogdata, $lang->thread_unapproved);
|
Zeile 337 | Zeile 342 |
---|
// Delete selective posts in a thread case "deleteposts": add_breadcrumb($lang->nav_deleteposts);
|
// Delete selective posts in a thread case "deleteposts": add_breadcrumb($lang->nav_deleteposts);
|
if(!is_moderator($fid, "candeleteposts")) { error_no_permission(); } $posts = ""; $query = $db->query(" SELECT p.*, u.* FROM ".TABLE_PREFIX."posts p
| if(!is_moderator($fid, "candeleteposts")) { error_no_permission(); } $posts = ""; $query = $db->query(" SELECT p.*, u.* FROM ".TABLE_PREFIX."posts p
|
LEFT JOIN ".TABLE_PREFIX."users u ON (p.uid=u.uid) WHERE tid='$tid' ORDER BY dateline ASC
| LEFT JOIN ".TABLE_PREFIX."users u ON (p.uid=u.uid) WHERE tid='$tid' ORDER BY dateline ASC
|
Zeile 393 | Zeile 398 |
---|
$deletethread = "1"; $deletepost = $mybb->input['deletepost'];
|
$deletethread = "1"; $deletepost = $mybb->input['deletepost'];
|
$query = $db->simple_select("posts", "*", "tid='$tid'");
| $query = $db->simple_select("posts", "*", "tid='$tid'");
|
while($post = $db->fetch_array($query)) { if($deletepost[$post['pid']] == 1)
| while($post = $db->fetch_array($query)) { if($deletepost[$post['pid']] == 1)
|
Zeile 487 | Zeile 492 |
---|
}
foreach($mergepost as $pid => $yes)
|
}
foreach($mergepost as $pid => $yes)
|
{ $plist[] = intval($pid); } $moderation->merge_posts($plist, $tid, $mybb->input['sep']);
| { $plist[] = intval($pid); } $moderation->merge_posts($plist, $tid, $mybb->input['sep']);
|
mark_reports($plist, "posts"); log_moderator_action($modlogdata, $lang->merged_selective_posts); moderation_redirect(get_thread_link($thread['tid']), $lang->redirect_mergeposts);
| mark_reports($plist, "posts"); log_moderator_action($modlogdata, $lang->merged_selective_posts); moderation_redirect(get_thread_link($thread['tid']), $lang->redirect_mergeposts);
|
Zeile 507 | Zeile 512 |
---|
$plugins->run_hooks("moderation_move");
|
$plugins->run_hooks("moderation_move");
|
$forumselect = build_forum_jump("", '', 1, '', 0, '', "moveto");
| $forumselect = build_forum_jump("", '', 1, '', 0, true, '', "moveto");
|
eval("\$movethread = \"".$templates->get("moderation_move")."\";"); output_page($movethread); break;
| eval("\$movethread = \"".$templates->get("moderation_move")."\";"); output_page($movethread); break;
|
Zeile 561 | Zeile 566 |
---|
{ case "copy": log_moderator_action($modlogdata, $lang->thread_copied);
|
{ case "copy": log_moderator_action($modlogdata, $lang->thread_copied);
|
break;
| break;
|
default: case "move": case "redirect":
| default: case "move": case "redirect":
|
Zeile 626 | Zeile 631 |
---|
// Update the thread notes! case "do_threadnotes":
|
// Update the thread notes! case "do_threadnotes":
|
// Verify incoming POST request verify_post_check($mybb->input['my_post_key']);
if(!is_moderator($fid, "canmanagethreads")) { error_no_permission(); }
$plugins->run_hooks("moderation_do_threadnotes");
| // Verify incoming POST request verify_post_check($mybb->input['my_post_key']);
if(!is_moderator($fid, "canmanagethreads")) { error_no_permission(); }
$plugins->run_hooks("moderation_do_threadnotes");
|
log_moderator_action($modlogdata, $lang->thread_notes_edited); $sqlarray = array(
| log_moderator_action($modlogdata, $lang->thread_notes_edited); $sqlarray = array(
|
Zeile 685 | Zeile 690 |
---|
break;
// Lets get those threads together baby! (Merge threads)
|
break;
// Lets get those threads together baby! (Merge threads)
|
case "do_merge":
// Verify incoming POST request verify_post_check($mybb->input['my_post_key']);
if(!is_moderator($fid, "canmanagethreads"))
| case "do_merge":
// Verify incoming POST request verify_post_check($mybb->input['my_post_key']);
if(!is_moderator($fid, "canmanagethreads"))
|
{ error_no_permission(); }
| { error_no_permission(); }
|
Zeile 822 | Zeile 827 |
---|
eval("\$posts .= \"".$templates->get("moderation_split_post")."\";"); $altbg = alt_trow(); }
|
eval("\$posts .= \"".$templates->get("moderation_split_post")."\";"); $altbg = alt_trow(); }
|
$forumselect = build_forum_jump("", $fid, 1, '', 0, '', "moveto");
| $forumselect = build_forum_jump("", $fid, 1, '', 0, true, '', "moveto");
|
$plugins->run_hooks("moderation_split");
| $plugins->run_hooks("moderation_split");
|
Zeile 1058 | Zeile 1063 |
---|
break;
// Approve threads - Inline moderation
|
break;
// Approve threads - Inline moderation
|
case "multiapprovethreads":
// Verify incoming POST request verify_post_check($mybb->input['my_post_key']);
if(!empty($mybb->input['searchid'])) { // From search page $threads = getids($mybb->input['searchid'], 'search'); if(!is_moderator_by_tids($threads, 'canmanagethreads')) { error_no_permission(); } } else { $threads = getids($fid, 'forum'); if(!is_moderator($fid, 'canmanagethreads')) { error_no_permission(); } } if(count($threads) < 1) { error($lang->error_inline_nothreadsselected); }
$moderation->approve_threads($threads, $fid);
| case "multiapprovethreads":
// Verify incoming POST request verify_post_check($mybb->input['my_post_key']);
if(!empty($mybb->input['searchid'])) { // From search page $threads = getids($mybb->input['searchid'], 'search'); if(!is_moderator_by_tids($threads, 'canmanagethreads')) { error_no_permission(); } } else { $threads = getids($fid, 'forum'); if(!is_moderator($fid, 'canmanagethreads')) { error_no_permission(); } } if(count($threads) < 1) { error($lang->error_inline_nothreadsselected); }
$moderation->approve_threads($threads, $fid);
|
log_moderator_action($modlogdata, $lang->multi_approved_threads); if($mybb->input['inlinetype'] == 'search')
| log_moderator_action($modlogdata, $lang->multi_approved_threads); if($mybb->input['inlinetype'] == 'search')
|
Zeile 1262 | Zeile 1267 |
---|
{ clearinline($fid, 'forum'); }
|
{ clearinline($fid, 'forum'); }
|
$forumselect = build_forum_jump("", '', 1, '', 0, '', "moveto");
| $forumselect = build_forum_jump("", '', 1, '', 0, true, '', "moveto");
|
$return_url = htmlspecialchars_uni($mybb->input['url']); eval("\$movethread = \"".$templates->get("moderation_inline_movethreads")."\";"); output_page($movethread);
| $return_url = htmlspecialchars_uni($mybb->input['url']); eval("\$movethread = \"".$templates->get("moderation_inline_movethreads")."\";"); output_page($movethread);
|
Zeile 1352 | Zeile 1357 |
---|
{ error_no_permission(); }
|
{ error_no_permission(); }
|
| $postlist = array_map('intval', $postlist); $pids = implode(',', $postlist); $tids = array(); if($pids) { $query = $db->simple_select("threads", "tid", "firstpost IN({$pids})"); while($tid = $db->fetch_field($query, "tid")) { $tids[] = $tid; } }
|
$deletecount = 0; foreach($postlist as $pid)
|
$deletecount = 0; foreach($postlist as $pid)
|
{
| {
|
$pid = intval($pid); $moderation->delete_post($pid); $plist[] = $pid; $deletecount++;
|
$pid = intval($pid); $moderation->delete_post($pid); $plist[] = $pid; $deletecount++;
|
} $query = $db->simple_select("posts", "*", "tid='$tid'"); $numposts = $db->num_rows($query); if(!$numposts) { $moderation->delete_thread($tid); mark_reports($tid, "thread"); $url = get_forum_link($fid); }
| } // If we have multiple threads, we must be coming from the search if(!empty($tids)) { foreach($tids as $tid) { $moderation->delete_thread($tid); mark_reports($tid, "thread"); $url = get_forum_link($fid); } } // Otherwise we're just deleting from showthread.php
|
else {
|
else {
|
mark_reports($plist, "posts"); $url = get_thread_link($thread['tid']);
| $query = $db->simple_select("posts", "*", "tid='$tid'"); $numposts = $db->num_rows($query); if(!$numposts) { $moderation->delete_thread($tid); mark_reports($tid, "thread"); $url = get_forum_link($fid); } else { mark_reports($plist, "posts"); $url = get_thread_link($thread['tid']); }
|
}
|
}
|
|
|
$lang->deleted_selective_posts = $lang->sprintf($lang->deleted_selective_posts, $deletecount); log_moderator_action($modlogdata, $lang->deleted_selective_posts); moderation_redirect($url, $lang->redirect_postsdeleted);
| $lang->deleted_selective_posts = $lang->sprintf($lang->deleted_selective_posts, $deletecount); log_moderator_action($modlogdata, $lang->deleted_selective_posts); moderation_redirect($url, $lang->redirect_postsdeleted);
|
Zeile 1381 | Zeile 1415 |
---|
// Merge posts - Inline moderation case "multimergeposts": add_breadcrumb($lang->nav_multi_mergeposts);
|
// Merge posts - Inline moderation case "multimergeposts": add_breadcrumb($lang->nav_multi_mergeposts);
|
if($mybb->input['inlinetype'] == 'search') { $posts = getids($mybb->input['searchid'], 'search'); } else { $posts = getids($tid, 'thread'); } if(count($posts) < 1) { error($lang->error_inline_nopostsselected); } if(!is_moderator_by_pids($posts, "canmanagethreads")) { error_no_permission();
| if($mybb->input['inlinetype'] == 'search') { $posts = getids($mybb->input['searchid'], 'search'); } else { $posts = getids($tid, 'thread'); } if(count($posts) < 1) { error($lang->error_inline_nopostsselected); } if(!is_moderator_by_pids($posts, "canmanagethreads")) { error_no_permission();
|
} $inlineids = implode("|", $posts); if($mybb->input['inlinetype'] == 'search')
| } $inlineids = implode("|", $posts); if($mybb->input['inlinetype'] == 'search')
|
Zeile 1423 | Zeile 1457 |
---|
$postlist = explode("|", $mybb->input['posts']); if(!is_moderator_by_pids($postlist, "canmanagethreads"))
|
$postlist = explode("|", $mybb->input['posts']); if(!is_moderator_by_pids($postlist, "canmanagethreads"))
|
{ error_no_permission(); }
| { error_no_permission(); }
|
foreach($postlist as $pid) { $pid = intval($pid);
| foreach($postlist as $pid) { $pid = intval($pid);
|
Zeile 1469 | Zeile 1503 |
---|
// Select number of posts in each thread that the splitted post is in $query = $db->query(" SELECT DISTINCT p.tid, COUNT(q.pid) as count
|
// Select number of posts in each thread that the splitted post is in $query = $db->query(" SELECT DISTINCT p.tid, COUNT(q.pid) as count
|
FROM (".TABLE_PREFIX."posts p, ".TABLE_PREFIX."posts q) WHERE p.tid=q.tid AND p.pid IN ($pidin)
| FROM ".TABLE_PREFIX."posts p LEFT JOIN ".TABLE_PREFIX."posts q ON (p.tid=q.tid) WHERE p.pid IN ($pidin)
|
GROUP BY p.pid
|
GROUP BY p.pid
|
");
| ");
|
$threads = $pcheck = array(); while($tcheck = $db->fetch_array($query)) {
| $threads = $pcheck = array(); while($tcheck = $db->fetch_array($query)) {
|
Zeile 1515 | Zeile 1550 |
---|
{ clearinline($tid, 'thread'); }
|
{ clearinline($tid, 'thread'); }
|
$forumselect = build_forum_jump("", $fid, 1, '', 0, '', "moveto");
| $forumselect = build_forum_jump("", $fid, 1, '', 0, true, '', "moveto");
|
eval("\$splitposts = \"".$templates->get("moderation_inline_splitposts")."\";"); output_page($splitposts); break;
| eval("\$splitposts = \"".$templates->get("moderation_inline_splitposts")."\";"); output_page($splitposts); break;
|
Zeile 1683 | Zeile 1718 |
---|
if($mybb->input['inlinetype'] == 'search') { clearinline($mybb->input['searchid'], 'search');
|
if($mybb->input['inlinetype'] == 'search') { clearinline($mybb->input['searchid'], 'search');
|
$lang->redirect_customtool_search = $lang->sprintf($lang->redirect_customtool_search, $tool['name']); redirect($mybb->input['url'], $lang->redirect_customtool_search);
| $lang->redirect_customtool_search = $lang->sprintf($lang->redirect_customtool_search, $tool['name']); $return_url = htmlspecialchars_uni($mybb->input['url']); redirect($return_url, $lang->redirect_customtool_search);
|
} else {
| } else {
|
Zeile 1754 | Zeile 1790 |
---|
{ clearinline($mybb->input['searchid'], 'search'); $lang->redirect_customtool_search = $lang->sprintf($lang->redirect_customtool_search, $tool['name']);
|
{ clearinline($mybb->input['searchid'], 'search'); $lang->redirect_customtool_search = $lang->sprintf($lang->redirect_customtool_search, $tool['name']);
|
redirect($mybb->input['url'], $lang->redirect_customtool_search);
| $return_url = htmlspecialchars_uni($mybb->input['url']); redirect($return_url, $lang->redirect_customtool_search);
|
} else {
| } else {
|
Zeile 1906 | Zeile 1943 |
---|
global $mybb; if(!empty($mybb->input['url'])) {
|
global $mybb; if(!empty($mybb->input['url'])) {
|
redirect($mybb->input['url'], $message, $title);
| redirect(htmlentities($mybb->input['url']), $message, $title);
|
} redirect($url, $message, $title); }
| } redirect($url, $message, $title); }
|