Vergleich moderation.php - 1.4.0 - 1.4.11

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 1Zeile 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: moderation.php 3826 2008-05-10 16:49:24Z Tikitiki $

 * $Id: moderation.php 4466 2009-10-01 13:21:26Z Tomm $

 */

define("IN_MYBB", 1);

 */

define("IN_MYBB", 1);

 
define('THIS_SCRIPT', 'moderation.php');


$templatelist = 'changeuserbox';



$templatelist = 'changeuserbox';


Zeile 94Zeile 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 163Zeile 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 184Zeile 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();
}

		}

		}

		
$thread['subject'] = htmlspecialchars_uni($thread['subject']);

 

$plugins->run_hooks("moderation_deletethread");



$plugins->run_hooks("moderation_deletethread");


Zeile 233Zeile 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 254Zeile 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 266Zeile 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 278Zeile 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 291Zeile 295

// Approve a thread
case "approvethread":


// Approve a thread
case "approvethread":


// 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, "canopenclosethreads"))
{
error_no_permission();
}
$query = $db->simple_select("threads", "*", "tid='$tid'");
$thread = $db->fetch_array($query);

		if(!is_moderator($fid, "canopenclosethreads"))
{
error_no_permission();
}
$query = $db->simple_select("threads", "*", "tid='$tid'");
$thread = $db->fetch_array($query);





		$plugins->run_hooks("moderation_approvethread");

$lang->thread_approved = $lang->sprintf($lang->thread_approved, $thread['subject']);

		$plugins->run_hooks("moderation_approvethread");

$lang->thread_approved = $lang->sprintf($lang->thread_approved, $thread['subject']);

Zeile 319Zeile 323
		verify_post_check($mybb->input['my_post_key']);

if(!is_moderator($fid, "canopenclosethreads"))

		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 338Zeile 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.*

		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'

			FROM ".TABLE_PREFIX."posts p
LEFT JOIN ".TABLE_PREFIX."users u ON (p.uid=u.uid)
WHERE tid='$tid'

			ORDER BY dateline ASC
");
$altbg = "trow1";
while($post = $db->fetch_array($query))
{
$postdate = my_date($mybb->settings['dateformat'], $post['dateline']);
$posttime = my_date($mybb->settings['timeformat'], $post['dateline']);

$parser_options = array(
"allow_html" => $forum['allowhtml'],
"allow_mycode" => $forum['allowmycode'],
"allow_smilies" => $forum['allowsmilies'],
"allow_imgcode" => $forum['allowimgcode'],
"filter_badwords" => 1
);
if($post['smilieoff'] == 1)
{
$parser_options['allow_smilies'] = 0;
}

$message = $parser->parse_message($post['message'], $parser_options);

			ORDER BY dateline ASC
");
$altbg = "trow1";
while($post = $db->fetch_array($query))
{
$postdate = my_date($mybb->settings['dateformat'], $post['dateline']);
$posttime = my_date($mybb->settings['timeformat'], $post['dateline']);

$parser_options = array(
"allow_html" => $forum['allowhtml'],
"allow_mycode" => $forum['allowmycode'],
"allow_smilies" => $forum['allowsmilies'],
"allow_imgcode" => $forum['allowimgcode'],
"filter_badwords" => 1
);
if($post['smilieoff'] == 1)
{
$parser_options['allow_smilies'] = 0;
}

$message = $parser->parse_message($post['message'], $parser_options);

			eval("\$posts .= \"".$templates->get("moderation_deleteposts_post")."\";");
$altbg = alt_trow();
}

			eval("\$posts .= \"".$templates->get("moderation_deleteposts_post")."\";");
$altbg = alt_trow();
}

Zeile 418Zeile 422
		{
$url = get_thread_link($thread['tid']);
mark_reports($tid, "thread");

		{
$url = get_thread_link($thread['tid']);
mark_reports($tid, "thread");

		}

		}

		$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 442Zeile 446
		");
$altbg = "trow1";
while($post = $db->fetch_array($query))

		");
$altbg = "trow1";
while($post = $db->fetch_array($query))

		{

		{

			$postdate = my_date($mybb->settings['dateformat'], $post['dateline']);
$posttime = my_date($mybb->settings['timeformat'], $post['dateline']);
$parser_options = array(

			$postdate = my_date($mybb->settings['dateformat'], $post['dateline']);
$posttime = my_date($mybb->settings['timeformat'], $post['dateline']);
$parser_options = array(

Zeile 461Zeile 465
			eval("\$posts .= \"".$templates->get("moderation_mergeposts_post")."\";");
$altbg = alt_trow();
}

			eval("\$posts .= \"".$templates->get("moderation_mergeposts_post")."\";");
$altbg = alt_trow();
}





		$plugins->run_hooks("moderation_mergeposts");

eval("\$mergeposts = \"".$templates->get("moderation_mergeposts")."\";");
output_page($mergeposts);
break;

		$plugins->run_hooks("moderation_mergeposts");

eval("\$mergeposts = \"".$templates->get("moderation_mergeposts")."\";");
output_page($mergeposts);
break;





	// Lets merge those selected posts!
case "do_mergeposts":


	// Lets merge those selected posts!
case "do_mergeposts":


Zeile 477Zeile 481
		if(!is_moderator($fid, "canmanagethreads"))
{
error_no_permission();

		if(!is_moderator($fid, "canmanagethreads"))
{
error_no_permission();

		}


		}


		$plugins->run_hooks("moderation_do_mergeposts");

		$plugins->run_hooks("moderation_do_mergeposts");





		$mergepost = $mybb->input['mergepost'];
if(count($mergepost) <= 1)
{
error($lang->error_nomergeposts);

		$mergepost = $mybb->input['mergepost'];
if(count($mergepost) <= 1)
{
error($lang->error_nomergeposts);

		}

		}


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);


mark_reports($plist, "posts");
log_moderator_action($modlogdata, $lang->merged_selective_posts);

Zeile 508Zeile 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 600Zeile 604
			$info = '';
if($modaction['tsubject'])
{

			$info = '';
if($modaction['tsubject'])
{

				$info .= "<strong>$lang->thread</strong> <a href=\"".get_thread_link($modaction['tid'])."\">".$modaction['tsubject']."</a><br />";

				$info .= "<strong>$lang->thread</strong> <a href=\"".get_thread_link($modaction['tid'])."\">".htmlspecialchars_uni($modaction['tsubject'])."</a><br />";

			}
if($modaction['fname'])
{

			}
if($modaction['fname'])
{

				$info .= "<strong>$lang->forum</strong> <a href=\"".get_forum_link($modaction['fid'])."\">".$modaction['fname']."</a><br />";

				$info .= "<strong>$lang->forum</strong> <a href=\"".get_forum_link($modaction['fid'])."\">".htmlspecialchars_uni($modaction['fname'])."</a><br />";

			}
if($modaction['psubject'])
{

			}
if($modaction['psubject'])
{

				$info .= "<strong>$lang->post</strong> <a href=\"".get_post_link($modaction['pid'])."#pid".$modaction['pid']."\">".$modaction['psubject']."</a>";

				$info .= "<strong>$lang->post</strong> <a href=\"".get_post_link($modaction['pid'])."#pid".$modaction['pid']."\">".htmlspecialchars_uni($modaction['psubject'])."</a>";

			}

eval("\$modactions .= \"".$templates->get("moderation_threadnotes_modaction")."\";");
$trow = alt_trow();

			}

eval("\$modactions .= \"".$templates->get("moderation_threadnotes_modaction")."\";");
$trow = alt_trow();

		}

		}

		if(!$modactions)

		if(!$modactions)

		{

		{

			$modactions = "<tr><td class=\"trow1\" colspan=\"4\">$lang->no_mod_options</td></tr>";

			$modactions = "<tr><td class=\"trow1\" colspan=\"4\">$lang->no_mod_options</td></tr>";

		}


		}


		$plugins->run_hooks("moderation_threadnotes");

eval("\$threadnotes = \"".$templates->get("moderation_threadnotes")."\";");
output_page($threadnotes);
break;

		$plugins->run_hooks("moderation_threadnotes");

eval("\$threadnotes = \"".$templates->get("moderation_threadnotes")."\";");
output_page($threadnotes);
break;





	// 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']);

		// 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");

		if(!is_moderator($fid, "canmanagethreads"))
{
error_no_permission();
}

$plugins->run_hooks("moderation_do_threadnotes");





		log_moderator_action($modlogdata, $lang->thread_notes_edited);
$sqlarray = array(
"notes" => $db->escape_string($mybb->input['threadnotes']),

		log_moderator_action($modlogdata, $lang->thread_notes_edited);
$sqlarray = array(
"notes" => $db->escape_string($mybb->input['threadnotes']),

Zeile 686Zeile 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"))
{
error_no_permission();

	case "do_merge":

// 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_merge");

		}

$plugins->run_hooks("moderation_do_merge");

		

		

		// explode at # sign in a url (indicates a name reference) and reassign to the url
$realurl = explode("#", $mybb->input['threadurl']);
$mybb->input['threadurl'] = $realurl[0];

		// explode at # sign in a url (indicates a name reference) and reassign to the url
$realurl = explode("#", $mybb->input['threadurl']);
$mybb->input['threadurl'] = $realurl[0];

Zeile 717Zeile 721
			if($postmatch[1])
{
$parameters['pid'] = $postmatch[1];

			if($postmatch[1])
{
$parameters['pid'] = $postmatch[1];

			}
}

			}
}

		else
{
// Get thread to merge's tid the normal way

		else
{
// Get thread to merge's tid the normal way

Zeile 817Zeile 821
			if($post['smilieoff'] == 1)
{
$parser_options['allow_smilies'] = 0;

			if($post['smilieoff'] == 1)
{
$parser_options['allow_smilies'] = 0;

			}

			}


$message = $parser->parse_message($post['message'], $parser_options);
eval("\$posts .= \"".$templates->get("moderation_split_post")."\";");
$altbg = alt_trow();


$message = $parser->parse_message($post['message'], $parser_options);
eval("\$posts .= \"".$templates->get("moderation_split_post")."\";");
$altbg = alt_trow();

		}
$forumselect = build_forum_jump("", $fid, 1, '', 0, '', "moveto");

$plugins->run_hooks("moderation_split");


		}
$forumselect = build_forum_jump("", $fid, 1, '', 0, true, '', "moveto");

$plugins->run_hooks("moderation_split");


		eval("\$split = \"".$templates->get("moderation_split")."\";");
output_page($split);
break;

		eval("\$split = \"".$templates->get("moderation_split")."\";");
output_page($split);
break;

Zeile 840Zeile 844
		if(!is_moderator($fid, "canmanagethreads"))
{
error_no_permission();

		if(!is_moderator($fid, "canmanagethreads"))
{
error_no_permission();

		}

$plugins->run_hooks("moderation_do_split");

		}

$plugins->run_hooks("moderation_do_split");


if(!is_array($mybb->input['splitpost']))
{


if(!is_array($mybb->input['splitpost']))
{

Zeile 852Zeile 856
		$count = $db->fetch_array($query);

if($count['totalposts'] == count($mybb->input['splitpost']))

		$count = $db->fetch_array($query);

if($count['totalposts'] == count($mybb->input['splitpost']))

		{

		{

			error($lang->error_cantsplitall);
}
if($mybb->input['moveto'])
{
$moveto = intval($mybb->input['moveto']);

			error($lang->error_cantsplitall);
}
if($mybb->input['moveto'])
{
$moveto = intval($mybb->input['moveto']);

		}

		}

		else
{
$moveto = $fid;

		else
{
$moveto = $fid;

Zeile 867Zeile 871
		if($db->num_rows($query) == 0)
{
error($lang->error_invalidforum);

		if($db->num_rows($query) == 0)
{
error($lang->error_invalidforum);

		}

		}


// move the selected posts over
$query = $db->simple_select("posts", "pid", "tid='$tid'");
while($post = $db->fetch_array($query))


// move the selected posts over
$query = $db->simple_select("posts", "pid", "tid='$tid'");
while($post = $db->fetch_array($query))

		{

		{

			if($mybb->input['splitpost'][$post['pid']] == 1)
{
$pids[] = $post['pid'];

			if($mybb->input['splitpost'][$post['pid']] == 1)
{
$pids[] = $post['pid'];

Zeile 881Zeile 885
		}

$newtid = $moderation->split_posts($pids, $tid, $moveto, $mybb->input['newsubject']);

		}

$newtid = $moderation->split_posts($pids, $tid, $moveto, $mybb->input['newsubject']);





		log_moderator_action($modlogdata, $lang->thread_split);

moderation_redirect(get_thread_link($newtid), $lang->redirect_threadsplit);

		log_moderator_action($modlogdata, $lang->thread_split);

moderation_redirect(get_thread_link($newtid), $lang->redirect_threadsplit);

Zeile 890Zeile 894
	// Delete Thread Subscriptions
case "removesubscriptions":
if(!is_moderator($fid, "canmanagethreads"))

	// Delete Thread Subscriptions
case "removesubscriptions":
if(!is_moderator($fid, "canmanagethreads"))

		{
error_no_permission();
}


		{
error_no_permission();
}


		$plugins->run_hooks("moderation_removesubscriptions");

		$plugins->run_hooks("moderation_removesubscriptions");





		$moderation->remove_thread_subscriptions($tid, true);

log_moderator_action($modlogdata, $lang->removed_subscriptions);

		$moderation->remove_thread_subscriptions($tid, true);

log_moderator_action($modlogdata, $lang->removed_subscriptions);

Zeile 912Zeile 916
			// From search page
$threads = getids($mybb->input['searchid'], 'search');
if(!is_moderator_by_tids($threads, 'candeleteposts'))

			// From search page
$threads = getids($mybb->input['searchid'], 'search');
if(!is_moderator_by_tids($threads, 'candeleteposts'))

			{
error_no_permission();
}
}
else

			{
error_no_permission();
}
}
else

		{
$threads = getids($fid, 'forum');
if(!is_moderator($fid, 'candeleteposts'))
{
error_no_permission();
}

		{
$threads = getids($fid, 'forum');
if(!is_moderator($fid, 'candeleteposts'))
{
error_no_permission();
}

		}

		}

		if(count($threads) < 1)
{
error($lang->error_inline_nothreadsselected);

		if(count($threads) < 1)
{
error($lang->error_inline_nothreadsselected);

Zeile 941Zeile 945
		$return_url = htmlspecialchars_uni($mybb->input['url']);
eval("\$multidelete = \"".$templates->get("moderation_inline_deletethreads")."\";");
output_page($multidelete);

		$return_url = htmlspecialchars_uni($mybb->input['url']);
eval("\$multidelete = \"".$templates->get("moderation_inline_deletethreads")."\";");
output_page($multidelete);

		break;

		break;


// Actually delete the threads - Inline moderation
case "do_multideletethreads":


// Actually delete the threads - Inline moderation
case "do_multideletethreads":





		// 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 953Zeile 957
		if(!is_moderator_by_tids($threadlist, "candeleteposts"))
{
error_no_permission();

		if(!is_moderator_by_tids($threadlist, "candeleteposts"))
{
error_no_permission();

		}

		}

		foreach($threadlist as $tid)

		foreach($threadlist as $tid)

		{

		{

			$tid = intval($tid);
$moderation->delete_thread($tid);
$tlist[] = $tid;
}
log_moderator_action($modlogdata, $lang->multi_deleted_threads);

			$tid = intval($tid);
$moderation->delete_thread($tid);
$tlist[] = $tid;
}
log_moderator_action($modlogdata, $lang->multi_deleted_threads);

		if($mybb->input['inlinetype'] == 'search')
{
clearinline($mybb->input['searchid'], 'search');
}
else
{

		if($mybb->input['inlinetype'] == 'search')
{
clearinline($mybb->input['searchid'], 'search');
}
else
{

			clearinline($fid, 'forum');
}
mark_reports($tlist, "threads");
moderation_redirect(get_forum_link($fid), $lang->redirect_inline_threadsdeleted);
break;

			clearinline($fid, 'forum');
}
mark_reports($tlist, "threads");
moderation_redirect(get_forum_link($fid), $lang->redirect_inline_threadsdeleted);
break;





	// Open threads - Inline moderation
case "multiopenthreads":


	// Open threads - Inline moderation
case "multiopenthreads":


Zeile 984Zeile 988
			// From search page
$threads = getids($mybb->input['searchid'], 'search');
if(!is_moderator_by_tids($threads, 'canopenclosethreads'))

			// From search page
$threads = getids($mybb->input['searchid'], 'search');
if(!is_moderator_by_tids($threads, 'canopenclosethreads'))

			{
error_no_permission();
}
}
else
{
$threads = getids($fid, 'forum');

			{
error_no_permission();
}
}
else
{
$threads = getids($fid, 'forum');

			if(!is_moderator($fid, 'canopenclosethreads'))
{
error_no_permission();

			if(!is_moderator($fid, 'canopenclosethreads'))
{
error_no_permission();

Zeile 1000Zeile 1004
		if(count($threads) < 1)
{
error($lang->error_inline_nothreadsselected);

		if(count($threads) < 1)
{
error($lang->error_inline_nothreadsselected);

		}

		}


$moderation->open_threads($threads);

log_moderator_action($modlogdata, $lang->multi_opened_threads);
if($mybb->input['inlinetype'] == 'search')


$moderation->open_threads($threads);

log_moderator_action($modlogdata, $lang->multi_opened_threads);
if($mybb->input['inlinetype'] == 'search')

		{

		{

			clearinline($mybb->input['searchid'], 'search');
}
else

			clearinline($mybb->input['searchid'], 'search');
}
else

Zeile 1014Zeile 1018
			clearinline($fid, 'forum');
}
moderation_redirect(get_forum_link($fid), $lang->redirect_inline_threadsopened);

			clearinline($fid, 'forum');
}
moderation_redirect(get_forum_link($fid), $lang->redirect_inline_threadsopened);

		break;


		break;


	// Close threads - Inline moderation

	// Close threads - Inline moderation

	case "multiclosethreads":

// 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);
}

	case "multiclosethreads":

// Verify incoming POST request
verify_post_check($mybb->input['my_post_key']);



























		$moderation->close_threads($threads);























		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->close_threads($threads);


log_moderator_action($modlogdata, $lang->multi_closed_threads);
if($mybb->input['inlinetype'] == 'search')
{
clearinline($mybb->input['searchid'], 'search');


log_moderator_action($modlogdata, $lang->multi_closed_threads);
if($mybb->input['inlinetype'] == 'search')
{
clearinline($mybb->input['searchid'], 'search');

		}

		}

		else
{
clearinline($fid, 'forum');

		else
{
clearinline($fid, 'forum');

Zeile 1063Zeile 1067

// 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(!empty($mybb->input['searchid']))
{


if(!empty($mybb->input['searchid']))
{

			// From search page
$threads = getids($mybb->input['searchid'], 'search');
if(!is_moderator_by_tids($threads, 'canmanagethreads'))

			// From search page
$threads = getids($mybb->input['searchid'], 'search');
if(!is_moderator_by_tids($threads, 'canmanagethreads'))

			{
error_no_permission();
}

			{
error_no_permission();
}

		}
else

		}
else

		{

		{

			$threads = getids($fid, 'forum');
if(!is_moderator($fid, 'canmanagethreads'))
{
error_no_permission();
}

			$threads = getids($fid, 'forum');
if(!is_moderator($fid, 'canmanagethreads'))
{
error_no_permission();
}

		}

		}

		if(count($threads) < 1)
{
error($lang->error_inline_nothreadsselected);

		if(count($threads) < 1)
{
error($lang->error_inline_nothreadsselected);

Zeile 1089Zeile 1093
		$moderation->approve_threads($threads, $fid);

log_moderator_action($modlogdata, $lang->multi_approved_threads);

		$moderation->approve_threads($threads, $fid);

log_moderator_action($modlogdata, $lang->multi_approved_threads);

		if($mybb->input['inlinetype'] == 'search')

		if($mybb->input['inlinetype'] == 'search')

		{
clearinline($mybb->input['searchid'], 'search');
}

		{
clearinline($mybb->input['searchid'], 'search');
}

Zeile 1263Zeile 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 1353Zeile 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($threadid = $db->fetch_field($query, "tid"))
{
$tids[] = $threadid;
}
}


		$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 1382Zeile 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 1424Zeile 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)

		}

foreach($postlist as $pid)

Zeile 1433Zeile 1466
			$pid = intval($pid);
$plist[] = $pid;
}

			$pid = intval($pid);
$plist[] = $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_inline_postsmerged);
break;

		$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_inline_postsmerged);
break;





	// Split posts - Inline moderation
case "multisplitposts":
add_breadcrumb($lang->nav_multi_splitposts);

	// Split posts - Inline moderation
case "multisplitposts":
add_breadcrumb($lang->nav_multi_splitposts);

Zeile 1463Zeile 1496
		{
error_no_permission();
}

		{
error_no_permission();
}

		array_walk($posts, 'intval');

		$posts = array_map('intval', $posts);

		$pidin = implode(',', $posts);

// Make sure that we are not splitting a thread with one post
// 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

		$pidin = implode(',', $posts);

// Make sure that we are not splitting a thread with one post
// 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)
GROUP BY p.pid
");


			FROM ".TABLE_PREFIX."posts p
LEFT JOIN ".TABLE_PREFIX."posts q ON (p.tid=q.tid)
WHERE p.pid IN ($pidin)
GROUP BY p.tid, p.pid
");

		$threads = $pcheck = array();
while($tcheck = $db->fetch_array($query))
{

		$threads = $pcheck = array();
while($tcheck = $db->fetch_array($query))
{

Zeile 1491Zeile 1525
			FROM ".TABLE_PREFIX."posts p
LEFT JOIN ".TABLE_PREFIX."posts q ON (p.tid=q.tid)
WHERE p.pid IN ($pidin) AND q.pid NOT IN ($pidin)

			FROM ".TABLE_PREFIX."posts p
LEFT JOIN ".TABLE_PREFIX."posts q ON (p.tid=q.tid)
WHERE p.pid IN ($pidin) AND q.pid NOT IN ($pidin)

			GROUP BY p.pid

			GROUP BY p.tid, p.pid

		");
$pcheck2 = array();
while($tcheck = $db->fetch_array($query))

		");
$pcheck2 = array();
while($tcheck = $db->fetch_array($query))

Zeile 1516Zeile 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 1673Zeile 1707
				{
error($lang->error_inline_nopostsselected);
}

				{
error($lang->error_inline_nopostsselected);
}

 
				if(!is_moderator_by_tids($tids))
{
error_no_permission();
}


				$custommod->execute(intval($mybb->input['action']), $tids);
$lang->custom_tool = $lang->sprintf($lang->custom_tool, $tool['name']);
log_moderator_action($modlogdata, $lang->custom_tool);
if($mybb->input['inlinetype'] == 'search')

				$custommod->execute(intval($mybb->input['action']), $tids);
$lang->custom_tool = $lang->sprintf($lang->custom_tool, $tool['name']);
log_moderator_action($modlogdata, $lang->custom_tool);
if($mybb->input['inlinetype'] == 'search')

				{

				{

					clearinline($mybb->input['searchid'], '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
{
clearinline($fid, "forum");
$lang->redirect_customtool_forum = $lang->sprintf($lang->redirect_customtool_forum, $tool['name']);
redirect(get_forum_link($fid), $lang->redirect_customtool_forum);

				}
else
{
clearinline($fid, "forum");
$lang->redirect_customtool_forum = $lang->sprintf($lang->redirect_customtool_forum, $tool['name']);
redirect(get_forum_link($fid), $lang->redirect_customtool_forum);

				}

				}

				break;
}
elseif($tool['type'] == 't' && $mybb->input['modtype'] == 'thread')
{

				break;
}
elseif($tool['type'] == 't' && $mybb->input['modtype'] == 'thread')
{

 
				if(!is_moderator_by_tids($tid))
{
error_no_permission();
}

				$ret = $custommod->execute(intval($mybb->input['action']), $tid);
$lang->custom_tool = $lang->sprintf($lang->custom_tool, $tool['name']);
log_moderator_action($modlogdata, $lang->custom_tool);

				$ret = $custommod->execute(intval($mybb->input['action']), $tid);
$lang->custom_tool = $lang->sprintf($lang->custom_tool, $tool['name']);
log_moderator_action($modlogdata, $lang->custom_tool);

Zeile 1732Zeile 1776
				$options = array(
'order_by' => 'dateline',
'order_dir' => 'asc'

				$options = array(
'order_by' => 'dateline',
'order_dir' => 'asc'

					);
$query = $db->simple_select("posts", "DISTINCT tid", "pid IN ($pids)", $options);

				);
$query = $db->simple_select("posts", "DISTINCT tid", "pid IN (".implode(',',$pids).")", $options);

				while($row = $db->fetch_array($query))
{
$tids[] = $row['tid'];

				while($row = $db->fetch_array($query))
{
$tids[] = $row['tid'];

Zeile 1746Zeile 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 1828Zeile 1873
		$posts = array($posts);
}
// Validate input

		$posts = array($posts);
}
// Validate input

	array_walk($posts, 'intval');

	$posts = array_map('intval', $posts);

	$posts[] = 0;
// Get forums
$posts_string = implode(',', $posts);

	$posts[] = 0;
// Get forums
$posts_string = implode(',', $posts);

Zeile 1872Zeile 1917
		$threads = array($threads);
}
// Validate input

		$threads = array($threads);
}
// Validate input

	array_walk($threads, 'intval');

	$threads = array_map('intval', $threads);

	$threads[] = 0;
// Get forums
$threads_string = implode(',', $threads);

	$threads[] = 0;
// Get forums
$threads_string = implode(',', $threads);

Zeile 1898Zeile 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);
}