Vergleich moderation.php - 1.8.15 - 1.8.19

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 45Zeile 45
	$post = get_post($pid);
if(!$post)
{

	$post = get_post($pid);
if(!$post)
{

		error($lang->error_invalidpost);

		error($lang->error_invalidpost, $lang->error);

	}
$tid = $post['tid'];
}

	}
$tid = $post['tid'];
}

Zeile 55Zeile 55
	$thread = get_thread($tid);
if(!$thread)
{

	$thread = get_thread($tid);
if(!$thread)
{

		error($lang->error_invalidthread);

		error($lang->error_invalidthread, $lang->error);

	}
$fid = $thread['fid'];
}

	}
$fid = $thread['fid'];
}

Zeile 80Zeile 80

if(!$pm)
{


if(!$pm)
{

		error($lang->error_invalidpm);

		error($lang->error_invalidpm, $lang->error);

	}
}


	}
}


Zeile 198Zeile 198
			}
if(count($tids) < 1)
{

			}
if(count($tids) < 1)
{

				error($lang->error_inline_nothreadsselected);

				error($lang->error_inline_nothreadsselected, $lang->error);

			}

$mybb->input['tids'] = $tids;

			}

$mybb->input['tids'] = $tids;

Zeile 249Zeile 249
			{
case "pgsql":
case "sqlite":

			{
case "pgsql":
case "sqlite":

					$query = $db->simple_select("modtools", 'tid, name, groups', "(','||forums||',' LIKE '%,$fid,%' OR ','||forums||',' LIKE '%,-1,%' OR forums='') AND type = 't'");

					$query = $db->simple_select("modtools", 'tid, name, `groups`', "(','||forums||',' LIKE '%,$fid,%' OR ','||forums||',' LIKE '%,-1,%' OR forums='') AND type = 't'");

					break;
default:

					break;
default:

					$query = $db->simple_select("modtools", 'tid, name, groups', "(CONCAT(',',forums,',') LIKE '%,$fid,%' OR CONCAT(',',forums,',') LIKE '%,-1,%' OR forums='') AND type = 't'");

					$query = $db->simple_select("modtools", 'tid, name, `groups`', "(CONCAT(',',forums,',') LIKE '%,$fid,%' OR CONCAT(',',forums,',') LIKE '%,-1,%' OR forums='') AND type = 't'");

			}
while($tool = $db->fetch_array($query))
{

			}
while($tool = $db->fetch_array($query))
{

Zeile 580Zeile 580
					eval("\$info .= \"".$templates->get("moderation_delayedmodaction_notes_redirect")."\";");
}
}

					eval("\$info .= \"".$templates->get("moderation_delayedmodaction_notes_redirect")."\";");
}
}

			else if($delayedmod['type'] == 'merge')

			elseif($delayedmod['type'] == 'merge')

			{
$delayedmod['subject'] = htmlspecialchars_uni($delayedmod['inputs']['subject']);
$delayedmod['threadurl'] = htmlspecialchars_uni($delayedmod['inputs']['threadurl']);

			{
$delayedmod['subject'] = htmlspecialchars_uni($delayedmod['inputs']['subject']);
$delayedmod['threadurl'] = htmlspecialchars_uni($delayedmod['inputs']['threadurl']);

Zeile 601Zeile 601
		{
$lang->threads = $lang->thread;
$thread['link'] = get_thread_link($tid);

		{
$lang->threads = $lang->thread;
$thread['link'] = get_thread_link($tid);

 
			$delayedmoderation_subject = $mybb->input['delayedmoderation']['subject'];
$delayedmoderation_threadurl = $mybb->input['delayedmoderation']['threadurl'];

			eval("\$threads = \"".$templates->get("moderation_delayedmoderation_thread")."\";");
eval("\$moderation_delayedmoderation_merge = \"".$templates->get("moderation_delayedmoderation_merge")."\";");
}

			eval("\$threads = \"".$templates->get("moderation_delayedmoderation_thread")."\";");
eval("\$moderation_delayedmoderation_merge = \"".$templates->get("moderation_delayedmoderation_merge")."\";");
}

Zeile 617Zeile 619
			}
if(count($tids) < 1)
{

			}
if(count($tids) < 1)
{

				error($lang->error_inline_nothreadsselected);

				error($lang->error_inline_nothreadsselected, $lang->error);

			}

$threads = $lang->sprintf($lang->threads_selected, count($tids));
$moderation_delayedmoderation_merge = '';
}

			}

$threads = $lang->sprintf($lang->threads_selected, count($tids));
$moderation_delayedmoderation_merge = '';
}

		$mybb->input['redirect_expire'] = $mybb->get_input('redirect_expire');

		$redirect_expire = $mybb->get_input('redirect_expire');

		eval("\$moderation_delayedmoderation_move = \"".$templates->get("moderation_delayedmoderation_move")."\";");

// Generate form elements for date form

		eval("\$moderation_delayedmoderation_move = \"".$templates->get("moderation_delayedmoderation_move")."\";");

// Generate form elements for date form

Zeile 697Zeile 699
		if(!is_moderator($fid, "canopenclosethreads"))
{
error_no_permission();

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

 
		}

if($thread['visible'] == -1)
{
error($lang->error_thread_deleted, $lang->error);

		}

if($thread['closed'] == 1)

		}

if($thread['closed'] == 1)

Zeile 710Zeile 717
			$openclose = $lang->closed;
$redirect = $lang->redirect_closethread;
$moderation->close_threads($tid);

			$openclose = $lang->closed;
$redirect = $lang->redirect_closethread;
$moderation->close_threads($tid);

		}

$lang->mod_process = $lang->sprintf($lang->mod_process, $openclose);

		}

$lang->mod_process = $lang->sprintf($lang->mod_process, $openclose);


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



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


Zeile 723Zeile 730
	case "stick":
// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));

	case "stick":
// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));





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

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

		{

		{

			error_no_permission();

			error_no_permission();

 
		}

if($thread['visible'] == -1)
{
error($lang->error_thread_deleted, $lang->error);

		}

$plugins->run_hooks("moderation_stick");

		}

$plugins->run_hooks("moderation_stick");

Zeile 762Zeile 774
			error_no_permission();
}


			error_no_permission();
}


		$plugins->run_hooks("moderation_removeredirects");






		if($thread['visible'] == -1)
{
error($lang->error_thread_deleted, $lang->error);
}

$plugins->run_hooks("moderation_removeredirects");


$moderation->remove_redirects($tid);


$moderation->remove_redirects($tid);





		log_moderator_action($modlogdata, $lang->redirects_removed);
moderation_redirect(get_thread_link($thread['tid']), $lang->redirect_redirectsremoved);
break;

// Delete thread confirmation page

		log_moderator_action($modlogdata, $lang->redirects_removed);
moderation_redirect(get_thread_link($thread['tid']), $lang->redirect_redirectsremoved);
break;

// Delete thread confirmation page

	case "deletethread":


	case "deletethread":


		add_breadcrumb($lang->nav_deletethread);

		add_breadcrumb($lang->nav_deletethread);


if(!is_moderator($fid, "candeletethreads"))
{
if($permissions['candeletethreads'] != 1 || $mybb->user['uid'] != $thread['uid'])
{
error_no_permission();
}


if(!is_moderator($fid, "candeletethreads"))
{
if($permissions['candeletethreads'] != 1 || $mybb->user['uid'] != $thread['uid'])
{
error_no_permission();
}

		}

$plugins->run_hooks("moderation_deletethread");

		}

$plugins->run_hooks("moderation_deletethread");

Zeile 794Zeile 811

// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));


// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));





		if(!is_moderator($fid, "candeletethreads"))
{
if($permissions['candeletethreads'] != 1 || $mybb->user['uid'] != $thread['uid'])

		if(!is_moderator($fid, "candeletethreads"))
{
if($permissions['candeletethreads'] != 1 || $mybb->user['uid'] != $thread['uid'])

Zeile 807Zeile 824

// Log the subject of the deleted thread
$modlogdata['thread_subject'] = $thread['subject'];


// Log the subject of the deleted thread
$modlogdata['thread_subject'] = $thread['subject'];





		$thread['subject'] = $db->escape_string($thread['subject']);
$lang->thread_deleted = $lang->sprintf($lang->thread_deleted, $thread['subject']);
log_moderator_action($modlogdata, $lang->thread_deleted);

		$thread['subject'] = $db->escape_string($thread['subject']);
$lang->thread_deleted = $lang->sprintf($lang->thread_deleted, $thread['subject']);
log_moderator_action($modlogdata, $lang->thread_deleted);

Zeile 816Zeile 833

mark_reports($tid, "thread");
moderation_redirect(get_forum_link($fid), $lang->redirect_threaddeleted);


mark_reports($tid, "thread");
moderation_redirect(get_forum_link($fid), $lang->redirect_threaddeleted);

		break;

		break;


// 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, "canmanagepolls"))
{
if($permissions['candeletethreads'] != 1 || $mybb->user['uid'] != $thread['uid'])
{
error_no_permission();
}

		if(!is_moderator($fid, "canmanagepolls"))
{
if($permissions['candeletethreads'] != 1 || $mybb->user['uid'] != $thread['uid'])
{
error_no_permission();
}

		}

$plugins->run_hooks("moderation_deletepoll");

		}

$plugins->run_hooks("moderation_deletepoll");


$query = $db->simple_select("polls", "pid", "tid='$tid'");
$poll = $db->fetch_array($query);
if(!$poll)
{


$query = $db->simple_select("polls", "pid", "tid='$tid'");
$poll = $db->fetch_array($query);
if(!$poll)
{

			error($lang->error_invalidpoll);

			error($lang->error_invalidpoll, $lang->error);

		}

eval("\$deletepoll = \"".$templates->get("moderation_deletepoll")."\";");

		}

eval("\$deletepoll = \"".$templates->get("moderation_deletepoll")."\";");

Zeile 844Zeile 861
		break;

// Delete the actual poll here!

		break;

// Delete the actual poll here!

	case "do_deletepoll":


	case "do_deletepoll":


		// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));

		// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));

 

if($thread['visible'] == -1)
{
error($lang->error_thread_deleted, $lang->error);
}


if(!isset($mybb->input['delete']))
{


if(!isset($mybb->input['delete']))
{

Zeile 864Zeile 886
		$poll = $db->fetch_array($query);
if(!$poll)
{

		$poll = $db->fetch_array($query);
if(!$poll)
{

			error($lang->error_invalidpoll);

			error($lang->error_invalidpoll, $lang->error);

		}

$plugins->run_hooks("moderation_do_deletepoll");

		}

$plugins->run_hooks("moderation_do_deletepoll");





		$lang->poll_deleted = $lang->sprintf($lang->poll_deleted, $thread['subject']);
log_moderator_action($modlogdata, $lang->poll_deleted);


		$lang->poll_deleted = $lang->sprintf($lang->poll_deleted, $thread['subject']);
log_moderator_action($modlogdata, $lang->poll_deleted);


Zeile 880Zeile 902
	// Approve a thread
case "approvethread":


	// Approve a thread
case "approvethread":


		// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));

if(!is_moderator($fid, "canapproveunapprovethreads"))
{
error_no_permission();
}
$thread = get_thread($tid);







		// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));

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

if($thread['visible'] == -1)
{
error($lang->error_thread_deleted, $lang->error);
}

$thread = get_thread($tid);


$plugins->run_hooks("moderation_approvethread");



$plugins->run_hooks("moderation_approvethread");


Zeile 904Zeile 932

// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));


// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));





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

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

		{

		{

			error_no_permission();
}

			error_no_permission();
}

 

if($thread['visible'] == -1)
{
error($lang->error_thread_deleted, $lang->error);
}


		$thread = get_thread($tid);

$plugins->run_hooks("moderation_unapprovethread");

$lang->thread_unapproved = $lang->sprintf($lang->thread_unapproved, $thread['subject']);
log_moderator_action($modlogdata, $lang->thread_unapproved);

		$thread = get_thread($tid);

$plugins->run_hooks("moderation_unapprovethread");

$lang->thread_unapproved = $lang->sprintf($lang->thread_unapproved, $thread['subject']);
log_moderator_action($modlogdata, $lang->thread_unapproved);


$moderation->unapprove_threads($tid);



$moderation->unapprove_threads($tid);


		moderation_redirect(get_thread_link($thread['tid']), $lang->redirect_threadunapproved);
break;


		moderation_redirect(get_thread_link($thread['tid']), $lang->redirect_threadunapproved);
break;


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

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

 
		}

if($thread['visible'] == -1)
{
error($lang->error_thread_deleted, $lang->error);

		}

$plugins->run_hooks("moderation_move");

		}

$plugins->run_hooks("moderation_move");





		$forumselect = build_forum_jump("", '', 1, '', 0, true, '', "moveto");
eval("\$movethread = \"".$templates->get("moderation_move")."\";");
output_page($movethread);
break;

		$forumselect = build_forum_jump("", '', 1, '', 0, true, '', "moveto");
eval("\$movethread = \"".$templates->get("moderation_move")."\";");
output_page($movethread);
break;





	// Let's get this thing moving!

	// Let's get this thing moving!

	case "do_move":

// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));

$moveto = $mybb->get_input('moveto', MyBB::INPUT_INT);
$method = $mybb->get_input('method');

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


	case "do_move":

// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));

$moveto = $mybb->get_input('moveto', MyBB::INPUT_INT);
$method = $mybb->get_input('method');

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


		// Check if user has moderator permission to move to destination
if(!is_moderator($moveto, "canmanagethreads") && !is_moderator($fid, "canmovetononmodforum"))

		// Check if user has moderator permission to move to destination
if(!is_moderator($moveto, "canmanagethreads") && !is_moderator($fid, "canmovetononmodforum"))

		{

		{

			error_no_permission();
}

			error_no_permission();
}

 

if($thread['visible'] == -1)
{
error($lang->error_thread_deleted, $lang->error);
}


		$newperms = forum_permissions($moveto);
if($newperms['canview'] == 0 && !is_moderator($fid, "canmovetononmodforum"))
{

		$newperms = forum_permissions($moveto);
if($newperms['canview'] == 0 && !is_moderator($fid, "canmovetononmodforum"))
{

			error($lang->error_movetononmodforum);

			error($lang->error_movetononmodforum, $lang->error);

		}

$newforum = get_forum($moveto);
if(!$newforum || $newforum['type'] != "f" || $newforum['type'] == "f" && $newforum['linkto'] != '')
{

		}

$newforum = get_forum($moveto);
if(!$newforum || $newforum['type'] != "f" || $newforum['type'] == "f" && $newforum['linkto'] != '')
{

			error($lang->error_invalidforum);

			error($lang->error_invalidforum, $lang->error);

		}
if($method != "copy" && $thread['fid'] == $moveto)
{

		}
if($method != "copy" && $thread['fid'] == $moveto)
{

			error($lang->error_movetosameforum);

			error($lang->error_movetosameforum, $lang->error);

		}

$plugins->run_hooks('moderation_do_move');

		}

$plugins->run_hooks('moderation_do_move');

Zeile 1051Zeile 1097
		// Make sure we are looking at a real thread here.
if(!$thread)
{

		// Make sure we are looking at a real thread here.
if(!$thread)
{

			error($lang->error_nomember);

			error($lang->error_nomember, $lang->error);

		}

$plugins->run_hooks('moderation_viewthreadnotes');

		}

$plugins->run_hooks('moderation_viewthreadnotes');

Zeile 1224Zeile 1270
					eval("\$info .= \"".$templates->get("moderation_delayedmodaction_notes_redirect")."\";");
}
}

					eval("\$info .= \"".$templates->get("moderation_delayedmodaction_notes_redirect")."\";");
}
}

			else if($delayedmod['type'] == 'merge')

			elseif($delayedmod['type'] == 'merge')

			{
$delayedmod['subject'] = htmlspecialchars_uni($delayedmod['inputs']['subject']);
$delayedmod['threadurl'] = htmlspecialchars_uni($delayedmod['inputs']['threadurl']);

			{
$delayedmod['subject'] = htmlspecialchars_uni($delayedmod['inputs']['subject']);
$delayedmod['threadurl'] = htmlspecialchars_uni($delayedmod['inputs']['threadurl']);

Zeile 1312Zeile 1358
	case "getpmip":
if($pmid <= 0)
{

	case "getpmip":
if($pmid <= 0)
{

			error($lang->error_invalidpm);

			error($lang->error_invalidpm, $lang->error);

		}
add_breadcrumb($lang->nav_pms, "private.php");
$pm['subject'] = htmlspecialchars_uni($parser->parse_badwords($pm['subject']));

		}
add_breadcrumb($lang->nav_pms, "private.php");
$pm['subject'] = htmlspecialchars_uni($parser->parse_badwords($pm['subject']));

Zeile 1364Zeile 1410
			error_no_permission();
}


			error_no_permission();
}


		$plugins->run_hooks("moderation_merge");






		if($thread['visible'] == -1)
{
error($lang->error_thread_deleted, $lang->error);
}

$plugins->run_hooks("moderation_merge");


eval("\$merge = \"".$templates->get("moderation_merge")."\";");
output_page($merge);
break;


eval("\$merge = \"".$templates->get("moderation_merge")."\";");
output_page($merge);
break;





	// Let's get those threads together baby! (Merge threads)
case "do_merge":

// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));

	// Let's get those threads together baby! (Merge threads)
case "do_merge":

// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));





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

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

		{

		{

			error_no_permission();

			error_no_permission();

 
		}

if($thread['visible'] == -1)
{
error($lang->error_thread_deleted, $lang->error);

		}

$plugins->run_hooks("moderation_do_merge");

		}

$plugins->run_hooks("moderation_do_merge");

Zeile 1441Zeile 1497
		$mergethread = get_thread($mergetid);
if(!$mergethread)
{

		$mergethread = get_thread($mergetid);
if(!$mergethread)
{

			error($lang->error_badmergeurl);

			error($lang->error_badmergeurl, $lang->error);

		}
if($mergetid == $tid)
{ // sanity check

		}
if($mergetid == $tid)
{ // sanity check

			error($lang->error_mergewithself);

			error($lang->error_mergewithself, $lang->error);

		}
if(!is_moderator($mergethread['fid'], "canmanagethreads"))
{

		}
if(!is_moderator($mergethread['fid'], "canmanagethreads"))
{

Zeile 1470Zeile 1526
	// Divorce the posts in this thread (Split!)
case "split":
add_breadcrumb($lang->nav_split);

	// Divorce the posts in this thread (Split!)
case "split":
add_breadcrumb($lang->nav_split);

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

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

		{
error_no_permission();
}

		{
error_no_permission();
}

 

if($thread['visible'] == -1)
{
error($lang->error_thread_deleted, $lang->error);
}


		$query = $db->query("
SELECT p.*, u.*
FROM ".TABLE_PREFIX."posts p

		$query = $db->query("
SELECT p.*, u.*
FROM ".TABLE_PREFIX."posts p

Zeile 1481Zeile 1543
			WHERE tid='$tid'
ORDER BY dateline ASC
");

			WHERE tid='$tid'
ORDER BY dateline ASC
");

 


		$numposts = $db->num_rows($query);
if($numposts <= 1)
{

		$numposts = $db->num_rows($query);
if($numposts <= 1)
{

			error($lang->error_cantsplitonepost);

			error($lang->error_cantsplitonepost, $lang->error);

		}

$altbg = "trow1";

		}

$altbg = "trow1";

Zeile 1523Zeile 1586

// Let's break them up buddy! (Do the split)
case "do_split":


// Let's break them up buddy! (Do the split)
case "do_split":





		// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));

		// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));





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

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

		{

		{

			error_no_permission();

			error_no_permission();

 
		}

if($thread['visible'] == -1)
{
error($lang->error_thread_deleted, $lang->error);

		}

$plugins->run_hooks("moderation_do_split");

		}

$plugins->run_hooks("moderation_do_split");

Zeile 1537Zeile 1605
		$mybb->input['splitpost'] = $mybb->get_input('splitpost', MyBB::INPUT_ARRAY);
if(empty($mybb->input['splitpost']))
{

		$mybb->input['splitpost'] = $mybb->get_input('splitpost', MyBB::INPUT_ARRAY);
if(empty($mybb->input['splitpost']))
{

			error($lang->error_nosplitposts);

			error($lang->error_nosplitposts, $lang->error);

		}
$query = $db->simple_select("posts", "COUNT(*) AS totalposts", "tid='{$tid}'");
$count = $db->fetch_array($query);

if($count['totalposts'] == 1)
{

		}
$query = $db->simple_select("posts", "COUNT(*) AS totalposts", "tid='{$tid}'");
$count = $db->fetch_array($query);

if($count['totalposts'] == 1)
{

			error($lang->error_cantsplitonepost);

			error($lang->error_cantsplitonepost, $lang->error);

		}

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

		}

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

			error($lang->error_cantsplitall);

			error($lang->error_cantsplitall, $lang->error);

		}

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

		}

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

Zeile 1564Zeile 1632
		$newforum = get_forum($moveto);
if(!$newforum || $newforum['type'] != "f" || $newforum['type'] == "f" && $newforum['linkto'] != '')
{

		$newforum = get_forum($moveto);
if(!$newforum || $newforum['type'] != "f" || $newforum['type'] == "f" && $newforum['linkto'] != '')
{

			error($lang->error_invalidforum);

			error($lang->error_invalidforum, $lang->error);

		}

$pids = array();

		}

$pids = array();

Zeile 1576Zeile 1644
			if(isset($mybb->input['splitpost'][$post['pid']]) && $mybb->input['splitpost'][$post['pid']] == 1)
{
$pids[] = $post['pid'];

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

			}
mark_reports($post['pid'], "post");
}

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

			}
mark_reports($post['pid'], "post");
}







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



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

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


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

// Delete Thread Subscriptions
case "removesubscriptions":


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

// Delete Thread Subscriptions
case "removesubscriptions":





        // Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));

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

        // Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));

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

 
		}

if($thread['visible'] == -1)
{
error($lang->error_thread_deleted, $lang->error);

		}

$plugins->run_hooks("moderation_removesubscriptions");

		}

$plugins->run_hooks("moderation_removesubscriptions");

Zeile 1630Zeile 1703
		}
if(count($threads) < 1)
{

		}
if(count($threads) < 1)
{

			error($lang->error_inline_nothreadsselected);

			error($lang->error_inline_nothreadsselected, $lang->error);

		}

$inlineids = implode("|", $threads);

		}

$inlineids = implode("|", $threads);

Zeile 1649Zeile 1722

// 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->get_input('my_post_key'));



// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));


		$threadlist = explode("|", $mybb->get_input('threads'));
if(!is_moderator_by_tids($threadlist, "candeletethreads"))
{
error_no_permission();
}
foreach($threadlist as $tid)

		$threadlist = explode("|", $mybb->get_input('threads'));
if(!is_moderator_by_tids($threadlist, "candeletethreads"))
{
error_no_permission();
}
foreach($threadlist as $tid)

		{

		{

			$tid = (int)$tid;
$moderation->delete_thread($tid);
$tlist[] = $tid;

			$tid = (int)$tid;
$moderation->delete_thread($tid);
$tlist[] = $tid;

		}

		}

		log_moderator_action($modlogdata, $lang->multi_deleted_threads);
if($mybb->get_input('inlinetype') == 'search')
{
clearinline($mybb->get_input('searchid', MyBB::INPUT_INT), 'search');
}
else

		log_moderator_action($modlogdata, $lang->multi_deleted_threads);
if($mybb->get_input('inlinetype') == 'search')
{
clearinline($mybb->get_input('searchid', MyBB::INPUT_INT), 'search');
}
else

		{

		{

			clearinline($fid, 'forum');
}
mark_reports($tlist, "threads");

			clearinline($fid, 'forum');
}
mark_reports($tlist, "threads");

Zeile 1678Zeile 1751
		break;

// Open threads - Inline moderation

		break;

// Open threads - Inline moderation

	case "multiopenthreads":

// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));

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

	case "multiopenthreads":

// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));

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

			$threads = getids($fid, 'forum');
if(!is_moderator($fid, 'canopenclosethreads'))
{

			$threads = getids($fid, 'forum');
if(!is_moderator($fid, 'canopenclosethreads'))
{

Zeile 1702Zeile 1775
		}

if(count($threads) < 1)

		}

if(count($threads) < 1)

		{
error($lang->error_inline_nothreadsselected);

		{
error($lang->error_inline_nothreadsselected, $lang->error);

		}

$moderation->open_threads($threads);

		}

$moderation->open_threads($threads);

Zeile 1712Zeile 1785
		if($mybb->get_input('inlinetype') == 'search')
{
clearinline($mybb->get_input('searchid', MyBB::INPUT_INT), 'search');

		if($mybb->get_input('inlinetype') == 'search')
{
clearinline($mybb->get_input('searchid', MyBB::INPUT_INT), 'search');

		}

		}

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

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

Zeile 1721Zeile 1794
		break;

// Close threads - Inline moderation

		break;

// Close threads - Inline moderation

	case "multiclosethreads":

// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));


	case "multiclosethreads":

// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));


		if(!empty($mybb->input['searchid']))
{
// From search page

		if(!empty($mybb->input['searchid']))
{
// From search page

Zeile 1745Zeile 1818
		}
if(count($threads) < 1)
{

		}
if(count($threads) < 1)
{

			error($lang->error_inline_nothreadsselected);

			error($lang->error_inline_nothreadsselected, $lang->error);

		}

$moderation->close_threads($threads);

		}

$moderation->close_threads($threads);

Zeile 1787Zeile 1860
		}
if(count($threads) < 1)
{

		}
if(count($threads) < 1)
{

			error($lang->error_inline_nothreadsselected);

			error($lang->error_inline_nothreadsselected, $lang->error);

		}

$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->get_input('inlinetype') == 'search')
{
clearinline($mybb->get_input('searchid', MyBB::INPUT_INT), 'search');
}
else
{
clearinline($fid, 'forum');

		if($mybb->get_input('inlinetype') == 'search')
{
clearinline($mybb->get_input('searchid', MyBB::INPUT_INT), 'search');
}
else
{
clearinline($fid, 'forum');

		}
$cache->update_stats();
moderation_redirect(get_forum_link($fid), $lang->redirect_inline_threadsapproved);

		}
$cache->update_stats();
moderation_redirect(get_forum_link($fid), $lang->redirect_inline_threadsapproved);

Zeile 1830Zeile 1903
		}
if(count($threads) < 1)
{

		}
if(count($threads) < 1)
{

			error($lang->error_inline_nothreadsselected);

			error($lang->error_inline_nothreadsselected, $lang->error);

		}

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

		}

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

Zeile 1867Zeile 1940
		{
$threads = getids($fid, 'forum');
if(!is_moderator($fid, 'canrestorethreads'))

		{
$threads = getids($fid, 'forum');
if(!is_moderator($fid, 'canrestorethreads'))

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

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

		}

$moderation->restore_threads($threads);

		}

$moderation->restore_threads($threads);

Zeile 1882Zeile 1955
		if($mybb->get_input('inlinetype') == 'search')
{
clearinline($mybb->get_input('searchid', MyBB::INPUT_INT), 'search');

		if($mybb->get_input('inlinetype') == 'search')
{
clearinline($mybb->get_input('searchid', MyBB::INPUT_INT), 'search');

		}
else

		}
else

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

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

Zeile 1910Zeile 1983
		{
$threads = getids($fid, 'forum');
if(!is_moderator($fid, 'cansoftdeletethreads'))

		{
$threads = getids($fid, 'forum');
if(!is_moderator($fid, 'cansoftdeletethreads'))

			{
error_no_permission();
}

			{
error_no_permission();
}

		}
if(count($threads) < 1)

		}
if(count($threads) < 1)

		{
error($lang->error_inline_nothreadsselected);
}

$moderation->soft_delete_threads($threads);

		{
error($lang->error_inline_nothreadsselected, $lang->error);
}

$moderation->soft_delete_threads($threads);


log_moderator_action($modlogdata, $lang->multi_soft_deleted_threads);
if($mybb->get_input('inlinetype') == 'search')
{
clearinline($mybb->get_input('searchid', MyBB::INPUT_INT), 'search');


log_moderator_action($modlogdata, $lang->multi_soft_deleted_threads);
if($mybb->get_input('inlinetype') == 'search')
{
clearinline($mybb->get_input('searchid', MyBB::INPUT_INT), 'search');

		}

		}

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

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

Zeile 1935Zeile 2008
		break;

// Stick threads - Inline moderation

		break;

// Stick threads - Inline moderation

	case "multistickthreads":

// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));

if(!empty($mybb->input['searchid']))
{
// From search page
$threads = getids($mybb->get_input('searchid'), 'search');
if(!is_moderator_by_tids($threads, 'canstickunstickthreads'))
{
error_no_permission();
}

	case "multistickthreads":

// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));

if(!empty($mybb->input['searchid']))
{
// From search page
$threads = getids($mybb->get_input('searchid'), 'search');
if(!is_moderator_by_tids($threads, 'canstickunstickthreads'))
{
error_no_permission();
}

		}
else
{

		}
else
{

Zeile 1956Zeile 2029
			{
error_no_permission();
}

			{
error_no_permission();
}

		}

		}

		if(count($threads) < 1)

		if(count($threads) < 1)

		{
error($lang->error_inline_nothreadsselected);
}

$moderation->stick_threads($threads);

		{
error($lang->error_inline_nothreadsselected, $lang->error);
}

$moderation->stick_threads($threads);


log_moderator_action($modlogdata, $lang->multi_stuck_threads);
if($mybb->get_input('inlinetype') == 'search')


log_moderator_action($modlogdata, $lang->multi_stuck_threads);
if($mybb->get_input('inlinetype') == 'search')

		{

		{

			clearinline($mybb->get_input('searchid', MyBB::INPUT_INT), 'search');
}
else

			clearinline($mybb->get_input('searchid', MyBB::INPUT_INT), 'search');
}
else

Zeile 1977Zeile 2050
		break;

// Unstick threads - Inline moderaton

		break;

// Unstick threads - Inline moderaton

	case "multiunstickthreads":

// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));

if(!empty($mybb->input['searchid']))
{
// From search page

	case "multiunstickthreads":

// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));

if(!empty($mybb->input['searchid']))
{
// From search page

			$threads = getids($mybb->get_input('searchid'), 'search');
if(!is_moderator_by_tids($threads, 'canstickunstickthreads'))

			$threads = getids($mybb->get_input('searchid'), 'search');
if(!is_moderator_by_tids($threads, 'canstickunstickthreads'))

			{
error_no_permission();
}

			{
error_no_permission();
}

		}
else
{

		}
else
{

Zeile 1998Zeile 2071
			{
error_no_permission();
}

			{
error_no_permission();
}

		}

		}

		if(count($threads) < 1)

		if(count($threads) < 1)

		{
error($lang->error_inline_nothreadsselected);
}


		{
error($lang->error_inline_nothreadsselected, $lang->error);
}


		$moderation->unstick_threads($threads);

log_moderator_action($modlogdata, $lang->multi_unstuck_threads);
if($mybb->get_input('inlinetype') == 'search')

		$moderation->unstick_threads($threads);

log_moderator_action($modlogdata, $lang->multi_unstuck_threads);
if($mybb->get_input('inlinetype') == 'search')

		{

		{

			clearinline($mybb->get_input('searchid', MyBB::INPUT_INT), 'search');
}
else

			clearinline($mybb->get_input('searchid', MyBB::INPUT_INT), 'search');
}
else

Zeile 2020Zeile 2093

// Move threads - Inline moderation
case "multimovethreads":


// Move threads - Inline moderation
case "multimovethreads":

		add_breadcrumb($lang->nav_multi_movethreads);


		add_breadcrumb($lang->nav_multi_movethreads);


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

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

			{
error_no_permission();
}
}

			{
error_no_permission();
}
}

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

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

Zeile 2042Zeile 2115

if(count($threads) < 1)
{


if(count($threads) < 1)
{

			error($lang->error_inline_nothreadsselected);

			error($lang->error_inline_nothreadsselected, $lang->error);

		}
$inlineids = implode("|", $threads);
if($mybb->get_input('inlinetype') == 'search')

		}
$inlineids = implode("|", $threads);
if($mybb->get_input('inlinetype') == 'search')

Zeile 2057Zeile 2130
		$return_url = htmlspecialchars_uni($mybb->get_input('url'));
eval("\$movethread = \"".$templates->get("moderation_inline_movethreads")."\";");
output_page($movethread);

		$return_url = htmlspecialchars_uni($mybb->get_input('url'));
eval("\$movethread = \"".$templates->get("moderation_inline_movethreads")."\";");
output_page($movethread);

		break;


		break;


	// Actually move the threads in Inline moderation
case "do_multimovethreads":


	// Actually move the threads in Inline moderation
case "do_multimovethreads":


Zeile 2079Zeile 2152
		$newperms = forum_permissions($moveto);
if(($newperms['canview'] == 0 || !is_moderator($moveto, 'canmanagethreads')) && !is_moderator_by_tids($tids, 'canmovetononmodforum'))
{

		$newperms = forum_permissions($moveto);
if(($newperms['canview'] == 0 || !is_moderator($moveto, 'canmanagethreads')) && !is_moderator_by_tids($tids, 'canmovetononmodforum'))
{

			error($lang->error_movetononmodforum);

			error($lang->error_movetononmodforum, $lang->error);

		}

$newforum = get_forum($moveto);
if(!$newforum || $newforum['type'] != "f" || $newforum['type'] == "f" && $newforum['linkto'] != '')
{

		}

$newforum = get_forum($moveto);
if(!$newforum || $newforum['type'] != "f" || $newforum['type'] == "f" && $newforum['linkto'] != '')
{

			error($lang->error_invalidforum);

			error($lang->error_invalidforum, $lang->error);

		}

$moderation->move_threads($tids, $moveto);

		}

$moderation->move_threads($tids, $moveto);

Zeile 2110Zeile 2183

if(count($posts) < 1)
{


if(count($posts) < 1)
{

			error($lang->error_inline_nopostsselected);

			error($lang->error_inline_nopostsselected, $lang->error);

		}
if(!is_moderator_by_pids($posts, "candeleteposts"))
{

		}
if(!is_moderator_by_pids($posts, "candeleteposts"))
{

Zeile 2169Zeile 2242
		if(!empty($tids))
{
foreach($tids as $tid)

		if(!empty($tids))
{
foreach($tids as $tid)

			{
$moderation->delete_thread($tid);
mark_reports($tid, "thread");
$url = get_forum_link($fid);
}

			{
$moderation->delete_thread($tid);
mark_reports($tid, "thread");
$url = get_forum_link($fid);
}

		}
// Otherwise we're just deleting from showthread.php
else

		}
// Otherwise we're just deleting from showthread.php
else

		{

		{

			$query = $db->simple_select("posts", "pid", "tid = $tid");
$numposts = $db->num_rows($query);
if(!$numposts)

			$query = $db->simple_select("posts", "pid", "tid = $tid");
$numposts = $db->num_rows($query);
if(!$numposts)

			{

			{

				$moderation->delete_thread($tid);
mark_reports($tid, "thread");
$url = get_forum_link($fid);

				$moderation->delete_thread($tid);
mark_reports($tid, "thread");
$url = get_forum_link($fid);

			}

			}

			else
{
mark_reports($plist, "posts");

			else
{
mark_reports($plist, "posts");

Zeile 2197Zeile 2270
		log_moderator_action($modlogdata, $lang->deleted_selective_posts);
moderation_redirect($url, $lang->redirect_postsdeleted);
break;

		log_moderator_action($modlogdata, $lang->deleted_selective_posts);
moderation_redirect($url, $lang->redirect_postsdeleted);
break;





	// 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->get_input('inlinetype') == 'search')
{
$posts = getids($mybb->get_input('searchid'), 'search');


if($mybb->get_input('inlinetype') == 'search')
{
$posts = getids($mybb->get_input('searchid'), 'search');

		}
else

		}
else

		{

		{

			$posts = getids($tid, 'thread');
}


			$posts = getids($tid, 'thread');
}


Zeile 2228Zeile 2301
				}
// Remove the cookie once its data is retrieved
my_unsetcookie($key);

				}
// Remove the cookie once its data is retrieved
my_unsetcookie($key);

			}
}

if(empty($posts))
{
error($lang->error_inline_nopostsselected);
}

if(!is_moderator_by_pids($posts, "canmanagethreads"))
{
error_no_permission();
}


			}
}

if(empty($posts))
{
error($lang->error_inline_nopostsselected, $lang->error);
}

if(!is_moderator_by_pids($posts, "canmanagethreads"))
{
error_no_permission();
}


		$postlist = "";
$query = $db->query("
SELECT p.*, u.*

		$postlist = "";
$query = $db->query("
SELECT p.*, u.*

Zeile 2270Zeile 2343
			$message = $parser->parse_message($post['message'], $parser_options);
eval("\$postlist .= \"".$templates->get("moderation_mergeposts_post")."\";");
$altbg = alt_trow();

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

		}

$inlineids = implode("|", $posts);
if($mybb->get_input('inlinetype') == 'search')
{
clearinline($mybb->get_input('searchid', MyBB::INPUT_INT), 'search');

		}

$inlineids = implode("|", $posts);
if($mybb->get_input('inlinetype') == 'search')
{
clearinline($mybb->get_input('searchid', MyBB::INPUT_INT), 'search');

		}
else
{
clearinline($tid, 'thread');

		}
else
{
clearinline($tid, 'thread');

		}

$return_url = htmlspecialchars_uni($mybb->get_input('url'));


		}

$return_url = htmlspecialchars_uni($mybb->get_input('url'));


		eval("\$multimerge = \"".$templates->get("moderation_inline_mergeposts")."\";");
output_page($multimerge);
break;

		eval("\$multimerge = \"".$templates->get("moderation_inline_mergeposts")."\";");
output_page($multimerge);
break;





	// Actually merge the posts - Inline moderation
case "do_multimergeposts":


	// Actually merge the posts - Inline moderation
case "do_multimergeposts":


Zeile 2296Zeile 2369

$mergepost = $mybb->get_input('mergepost', MyBB::INPUT_ARRAY);
if(count($mergepost) <= 1)


$mergepost = $mybb->get_input('mergepost', MyBB::INPUT_ARRAY);
if(count($mergepost) <= 1)

		{
error($lang->error_nomergeposts);

		{
error($lang->error_nomergeposts, $lang->error);

		}

foreach($mergepost as $pid => $yes)

		}

foreach($mergepost as $pid => $yes)

		{

		{

			$postlist[] = (int)$pid;
}


			$postlist[] = (int)$pid;
}


		if(!is_moderator_by_pids($postlist, "canmanagethreads"))
{
error_no_permission();
}

$masterpid = $moderation->merge_posts($postlist, $tid, $mybb->input['sep']);


		if(!is_moderator_by_pids($postlist, "canmanagethreads"))
{
error_no_permission();
}

$masterpid = $moderation->merge_posts($postlist, $tid, $mybb->input['sep']);


		mark_reports($postlist, "posts");
log_moderator_action($modlogdata, $lang->merged_selective_posts);
moderation_redirect(get_post_link($masterpid)."#pid$masterpid", $lang->redirect_inline_postsmerged);

		mark_reports($postlist, "posts");
log_moderator_action($modlogdata, $lang->merged_selective_posts);
moderation_redirect(get_post_link($masterpid)."#pid$masterpid", $lang->redirect_inline_postsmerged);

Zeile 2322Zeile 2395
		add_breadcrumb($lang->nav_multi_splitposts);

if($mybb->get_input('inlinetype') == 'search')

		add_breadcrumb($lang->nav_multi_splitposts);

if($mybb->get_input('inlinetype') == 'search')

		{

		{

			$posts = getids($mybb->get_input('searchid'), 'search');
}
else

			$posts = getids($mybb->get_input('searchid'), 'search');
}
else

		{

		{

			$posts = getids($tid, 'thread');
}

if(count($posts) < 1)
{

			$posts = getids($tid, 'thread');
}

if(count($posts) < 1)
{

			error($lang->error_inline_nopostsselected);

			error($lang->error_inline_nopostsselected, $lang->error);

		}

if(!is_moderator_by_pids($posts, "canmanagethreads"))

		}

if(!is_moderator_by_pids($posts, "canmanagethreads"))

Zeile 2340Zeile 2413
			error_no_permission();
}
$posts = array_map('intval', $posts);

			error_no_permission();
}
$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
FROM ".TABLE_PREFIX."posts p
LEFT JOIN ".TABLE_PREFIX."posts q ON (p.tid=q.tid)
WHERE p.pid IN ($pidin)

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

			GROUP BY p.tid, p.pid
");
$threads = $pcheck = array();

Zeile 2356Zeile 2429
		{
if((int)$tcheck['count'] <= 1)
{

		{
if((int)$tcheck['count'] <= 1)
{

				error($lang->error_cantsplitonepost);

				error($lang->error_cantsplitonepost, $lang->error);

			}
$threads[] = $pcheck[] = $tcheck['tid']; // Save tids for below
}

			}
$threads[] = $pcheck[] = $tcheck['tid']; // Save tids for below
}

Zeile 2381Zeile 2454
		if(count($pcheck2) != count($pcheck))
{
// One or more threads do not have posts after splitting

		if(count($pcheck2) != count($pcheck))
{
// One or more threads do not have posts after splitting

			error($lang->error_cantsplitall);

			error($lang->error_cantsplitall, $lang->error);

		}

$inlineids = implode("|", $posts);

		}

$inlineids = implode("|", $posts);

Zeile 2433Zeile 2506

if(empty($posts))
{


if(empty($posts))
{

			error($lang->error_inline_nopostsselected);

			error($lang->error_inline_nopostsselected, $lang->error);

		}

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

		}

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

Zeile 2452Zeile 2525
		{
if((int)$tcheck['count'] <= 1)
{

		{
if((int)$tcheck['count'] <= 1)
{

				error($lang->error_cantsplitonepost);

				error($lang->error_cantsplitonepost, $lang->error);

			}
$pcheck[] = $tcheck['tid']; // Save tids for below
}

// Make sure that we are not splitting all posts in the thread

			}
$pcheck[] = $tcheck['tid']; // Save tids for below
}

// Make sure that we are not splitting all posts in the thread

		// The query does not return a row when the count is 0, so find if some threads are missing (i.e. 0 posts after removal)
$query = $db->query("
SELECT DISTINCT p.tid, COUNT(q.pid) as count
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.tid, p.pid

		// The query does not return a row when the count is 0, so find if some threads are missing (i.e. 0 posts after removal)
$query = $db->query("
SELECT DISTINCT p.tid, COUNT(q.pid) as count
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.tid, p.pid

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

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

		{

		{

			if($tcheck['count'] > 0)
{
$pcheck2[] = $tcheck['tid'];

			if($tcheck['count'] > 0)
{
$pcheck2[] = $tcheck['tid'];

Zeile 2477Zeile 2550
		if(count($pcheck2) != count($pcheck))
{
// One or more threads do not have posts after splitting

		if(count($pcheck2) != count($pcheck))
{
// One or more threads do not have posts after splitting

			error($lang->error_cantsplitall);
}

			error($lang->error_cantsplitall, $lang->error);
}


if(isset($mybb->input['moveto']))


if(isset($mybb->input['moveto']))

		{

		{

			$moveto = $mybb->get_input('moveto', MyBB::INPUT_INT);
}
else
{
$moveto = $fid;

			$moveto = $mybb->get_input('moveto', MyBB::INPUT_INT);
}
else
{
$moveto = $fid;

		}


		}


		$newforum = get_forum($moveto);
if(!$newforum || $newforum['type'] != "f" || $newforum['type'] == "f" && $newforum['linkto'] != '')

		$newforum = get_forum($moveto);
if(!$newforum || $newforum['type'] != "f" || $newforum['type'] == "f" && $newforum['linkto'] != '')

		{
error($lang->error_invalidforum);
}


		{
error($lang->error_invalidforum, $lang->error);
}


		$newsubject = $mybb->get_input('newsubject');

		$newsubject = $mybb->get_input('newsubject');

		$newtid = $moderation->split_posts($posts, $tid, $moveto, $newsubject);

		$newtid = $moderation->split_posts($posts, $tid, $moveto, $newsubject);


$pid_list = implode(', ', $posts);
$lang->split_selective_posts = $lang->sprintf($lang->split_selective_posts, $pid_list, $newtid);


$pid_list = implode(', ', $posts);
$lang->split_selective_posts = $lang->sprintf($lang->split_selective_posts, $pid_list, $newtid);

Zeile 2520Zeile 2593

if(count($posts) < 1)
{


if(count($posts) < 1)
{

			error($lang->error_inline_nopostsselected);

			error($lang->error_inline_nopostsselected, $lang->error);

		}

if(!is_moderator_by_pids($posts, "canmanagethreads"))

		}

if(!is_moderator_by_pids($posts, "canmanagethreads"))

Zeile 2528Zeile 2601
			error_no_permission();
}
$posts = array_map('intval', $posts);

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

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

// Make sure that we are not moving posts in a thread with one post
// Select number of posts in each thread that the moved post is in
$query = $db->query("
SELECT DISTINCT p.tid, COUNT(q.pid) as count
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))
{
if((int)$tcheck['count'] <= 1)
{
error($lang->error_cantsplitonepost);
}
$threads[] = $pcheck[] = $tcheck['tid']; // Save tids for below
}

// Make sure that we are not moving all posts in the thread
// The query does not return a row when the count is 0, so find if some threads are missing (i.e. 0 posts after removal)
$query = $db->query("
SELECT DISTINCT p.tid, COUNT(q.pid) as count
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.tid, p.pid
");
$pcheck2 = array();
while($tcheck = $db->fetch_array($query))
{
if($tcheck['count'] > 0)
{
$pcheck2[] = $tcheck['tid'];
}
}

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

// Make sure that we are not moving posts in a thread with one post
// Select number of posts in each thread that the moved post is in
$query = $db->query("
SELECT DISTINCT p.tid, COUNT(q.pid) as count
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))
{
if((int)$tcheck['count'] <= 1)
{
error($lang->error_cantsplitonepost, $lang->error);
}
$threads[] = $pcheck[] = $tcheck['tid']; // Save tids for below
}

// Make sure that we are not moving all posts in the thread
// The query does not return a row when the count is 0, so find if some threads are missing (i.e. 0 posts after removal)
$query = $db->query("
SELECT DISTINCT p.tid, COUNT(q.pid) as count
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.tid, p.pid
");
$pcheck2 = array();
while($tcheck = $db->fetch_array($query))
{
if($tcheck['count'] > 0)
{
$pcheck2[] = $tcheck['tid'];
}
}

		if(count($pcheck2) != count($pcheck))
{
// One or more threads do not have posts after splitting

		if(count($pcheck2) != count($pcheck))
{
// One or more threads do not have posts after splitting

			error($lang->error_cantmoveall);

			error($lang->error_cantmoveall, $lang->error);

		}

$inlineids = implode("|", $posts);

		}

$inlineids = implode("|", $posts);

Zeile 2654Zeile 2727
		$newthread = get_thread($newtid);
if(!$newthread)
{

		$newthread = get_thread($newtid);
if(!$newthread)
{

			error($lang->error_badmovepostsurl);

			error($lang->error_badmovepostsurl, $lang->error);

		}
if($newtid == $tid)
{ // sanity check

		}
if($newtid == $tid)
{ // sanity check

			error($lang->error_movetoself);

			error($lang->error_movetoself, $lang->error);

		}

$postlist = explode("|", $mybb->get_input('posts'));

		}

$postlist = explode("|", $mybb->get_input('posts'));

Zeile 2670Zeile 2743
		}

if(!is_moderator_by_pids($plist, "canmanagethreads"))

		}

if(!is_moderator_by_pids($plist, "canmanagethreads"))

		{
error_no_permission();
}

		{
error_no_permission();
}


// Ensure all posts exist
$posts = array();
if(!empty($plist))


// Ensure all posts exist
$posts = array();
if(!empty($plist))

		{

		{

			$query = $db->simple_select('posts', 'pid', 'pid IN ('.implode(',', $plist).')');
while($pid = $db->fetch_field($query, 'pid'))
{

			$query = $db->simple_select('posts', 'pid', 'pid IN ('.implode(',', $plist).')');
while($pid = $db->fetch_field($query, 'pid'))
{

Zeile 2686Zeile 2759
		}

if(empty($posts))

		}

if(empty($posts))

		{
error($lang->error_inline_nopostsselected);

		{
error($lang->error_inline_nopostsselected, $lang->error);

		}

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

		}

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

Zeile 2706Zeile 2779
		{
if((int)$tcheck['count'] <= 1)
{

		{
if((int)$tcheck['count'] <= 1)
{

				error($lang->error_cantsplitonepost);

				error($lang->error_cantsplitonepost, $lang->error);

			}
$threads[] = $pcheck[] = $tcheck['tid']; // Save tids for below

			}
$threads[] = $pcheck[] = $tcheck['tid']; // Save tids for below

		}

		}


// Make sure that we are not moving all posts in the thread
// The query does not return a row when the count is 0, so find if some threads are missing (i.e. 0 posts after removal)


// Make sure that we are not moving all posts in the thread
// The query does not return a row when the count is 0, so find if some threads are missing (i.e. 0 posts after removal)

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

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

		{

		{

			if($tcheck['count'] > 0)
{
$pcheck2[] = $tcheck['tid'];

			if($tcheck['count'] > 0)
{
$pcheck2[] = $tcheck['tid'];

Zeile 2731Zeile 2804
		if(count($pcheck2) != count($pcheck))
{
// One or more threads do not have posts after splitting

		if(count($pcheck2) != count($pcheck))
{
// One or more threads do not have posts after splitting

			error($lang->error_cantmoveall);
}

			error($lang->error_cantmoveall, $lang->error);
}


$newtid = $moderation->split_posts($posts, $tid, $newthread['fid'], $db->escape_string($newthread['subject']), $newtid);



$newtid = $moderation->split_posts($posts, $tid, $newthread['fid'], $db->escape_string($newthread['subject']), $newtid);


Zeile 2745Zeile 2818

// Approve posts - Inline moderation
case "multiapproveposts":


// Approve posts - Inline moderation
case "multiapproveposts":


// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));

if($mybb->get_input('inlinetype') == 'search')
{
$posts = getids($mybb->get_input('searchid'), 'search');
}
else
{
$posts = getids($tid, 'thread');
}
if(count($posts) < 1)
{
error($lang->error_inline_nopostsselected);
}

if(!is_moderator_by_pids($posts, "canapproveunapproveposts"))
{
error_no_permission();


// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));

if($mybb->get_input('inlinetype') == 'search')
{
$posts = getids($mybb->get_input('searchid'), 'search');
}
else
{
$posts = getids($tid, 'thread');
}
if(count($posts) < 1)
{
error($lang->error_inline_nopostsselected, $lang->error);
}

if(!is_moderator_by_pids($posts, "canapproveunapproveposts"))
{
error_no_permission();

		}

$pids = array();
foreach($posts as $pid)

		}

$pids = array();
foreach($posts as $pid)

		{

		{

			$pids[] = (int)$pid;

			$pids[] = (int)$pid;

		}

$moderation->approve_posts($pids);

		}

$moderation->approve_posts($pids);


log_moderator_action($modlogdata, $lang->multi_approve_posts);
if($mybb->get_input('inlinetype') == 'search')


log_moderator_action($modlogdata, $lang->multi_approve_posts);
if($mybb->get_input('inlinetype') == 'search')

Zeile 2788Zeile 2861
		break;

// Unapprove posts - Inline moderation

		break;

// Unapprove posts - Inline moderation

	case "multiunapproveposts":

// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));

if($mybb->get_input('inlinetype') == 'search')
{
$posts = getids($mybb->get_input('searchid'), 'search');
}
else
{
$posts = getids($tid, 'thread');
}

	case "multiunapproveposts":

// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));

if($mybb->get_input('inlinetype') == 'search')
{
$posts = getids($mybb->get_input('searchid'), 'search');
}
else
{
$posts = getids($tid, 'thread');
}


if(count($posts) < 1)
{


if(count($posts) < 1)
{

			error($lang->error_inline_nopostsselected);

			error($lang->error_inline_nopostsselected, $lang->error);

		}
$pids = array();


		}
$pids = array();


Zeile 2815Zeile 2888
		foreach($posts as $pid)
{
$pids[] = (int)$pid;

		foreach($posts as $pid)
{
$pids[] = (int)$pid;

		}

		}


$moderation->unapprove_posts($pids);



$moderation->unapprove_posts($pids);


Zeile 2832Zeile 2905
		break;

// Restore posts - Inline moderation

		break;

// Restore posts - Inline moderation

	case "multirestoreposts":

// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));

if($mybb->get_input('inlinetype') == 'search')

	case "multirestoreposts":

// Verify incoming POST request
verify_post_check($mybb->get_input('my_post_key'));

if($mybb->get_input('inlinetype') == 'search')

		{
$posts = getids($mybb->get_input('searchid'), 'search');

		{
$posts = getids($mybb->get_input('searchid'), 'search');

		}
else
{

		}
else
{

			$posts = getids($tid, 'thread');
}
if(count($posts) < 1)

			$posts = getids($tid, 'thread');
}
if(count($posts) < 1)

		{
error($lang->error_inline_nopostsselected);

		{
error($lang->error_inline_nopostsselected, $lang->error);

		}

if(!is_moderator_by_pids($posts, "canrestoreposts"))

		}

if(!is_moderator_by_pids($posts, "canrestoreposts"))

Zeile 2865Zeile 2938

log_moderator_action($modlogdata, $lang->multi_restore_posts);
if($mybb->get_input('inlinetype') == 'search')


log_moderator_action($modlogdata, $lang->multi_restore_posts);
if($mybb->get_input('inlinetype') == 'search')

		{

		{

			clearinline($mybb->get_input('searchid', MyBB::INPUT_INT), 'search');
}
else

			clearinline($mybb->get_input('searchid', MyBB::INPUT_INT), 'search');
}
else

Zeile 2873Zeile 2946
			clearinline($tid, 'thread');
}
moderation_redirect(get_thread_link($thread['tid']), $lang->redirect_inline_postsrestored);

			clearinline($tid, 'thread');
}
moderation_redirect(get_thread_link($thread['tid']), $lang->redirect_inline_postsrestored);

		break;


		break;


	// Soft delete posts - Inline moderation
case "multisoftdeleteposts":
// Verify incoming POST request

	// Soft delete posts - Inline moderation
case "multisoftdeleteposts":
// Verify incoming POST request

Zeile 2891Zeile 2964

if(count($posts) < 1)
{


if(count($posts) < 1)
{

			error($lang->error_inline_nopostsselected);

			error($lang->error_inline_nopostsselected, $lang->error);

		}
$pids = array();


		}
$pids = array();


Zeile 2927Zeile 3000
			error_no_permission();
}


			error_no_permission();
}


		$uid = $mybb->input['uid'];

		$uid = $mybb->get_input('uid', MyBB::INPUT_INT);

		$user = get_user($uid);
if(!$user['uid'] || !purgespammer_show($user['postnum'], $user['usergroup'], $user['uid']))
{

		$user = get_user($uid);
if(!$user['uid'] || !purgespammer_show($user['postnum'], $user['usergroup'], $user['uid']))
{

Zeile 3020Zeile 3093
			if($user_deleted)
{
redirect($mybb->settings['bburl'], $lang->purgespammer_success);

			if($user_deleted)
{
redirect($mybb->settings['bburl'], $lang->purgespammer_success);

			}

			}

			else
{
redirect(get_profile_link($uid), $lang->purgespammer_success);

			else
{
redirect(get_profile_link($uid), $lang->purgespammer_success);

			}
}
else if($mybb->input['action'] == "purgespammer")

			}
}
elseif($mybb->input['action'] == "purgespammer")

		{
$plugins->run_hooks("moderation_purgespammer_show");


		{
$plugins->run_hooks("moderation_purgespammer_show");


Zeile 3035Zeile 3108
			if($mybb->settings['purgespammerbandelete'] == "ban")
{
$lang->purgespammer_purge_desc = $lang->sprintf($lang->purgespammer_purge_desc, $lang->purgespammer_ban);

			if($mybb->settings['purgespammerbandelete'] == "ban")
{
$lang->purgespammer_purge_desc = $lang->sprintf($lang->purgespammer_purge_desc, $lang->purgespammer_ban);

			}

			}

			else
{
$lang->purgespammer_purge_desc = $lang->sprintf($lang->purgespammer_purge_desc, $lang->purgespammer_delete);

			else
{
$lang->purgespammer_purge_desc = $lang->sprintf($lang->purgespammer_purge_desc, $lang->purgespammer_delete);

			}

			}

			eval("\$purgespammer = \"".$templates->get('moderation_purgespammer')."\";");
output_page($purgespammer);
}

			eval("\$purgespammer = \"".$templates->get('moderation_purgespammer')."\";");
output_page($purgespammer);
}

Zeile 3058Zeile 3131
			if(!is_member($tool['groups']))
{
error_no_permission();

			if(!is_member($tool['groups']))
{
error_no_permission();

 
			}

if($thread['visible'] == -1)
{
error($lang->error_thread_deleted, $lang->error);

			}

if(!empty($options['confirmation']) && empty($mybb->input['confirm']))

			}

if(!empty($options['confirmation']) && empty($mybb->input['confirm']))

Zeile 3066Zeile 3144

$lang->confirm_execute_tool_desc = $lang->sprintf($lang->confirm_execute_tool_desc, htmlspecialchars_uni($tool['name']));



$lang->confirm_execute_tool_desc = $lang->sprintf($lang->confirm_execute_tool_desc, htmlspecialchars_uni($tool['name']));


 
				$action = $mybb->input['action'];

				$modtype = $mybb->get_input('modtype');
$inlinetype = $mybb->get_input('inlinetype');
$searchid = $mybb->get_input('searchid');

				$modtype = $mybb->get_input('modtype');
$inlinetype = $mybb->get_input('inlinetype');
$searchid = $mybb->get_input('searchid');

Zeile 3092Zeile 3171
				}
if(count($tids) < 1)
{

				}
if(count($tids) < 1)
{

					error($lang->error_inline_nopostsselected);

					error($lang->error_inline_nopostsselected, $lang->error);

				}
if(!is_moderator_by_tids($tids, "canusecustomtools"))
{

				}
if(!is_moderator_by_tids($tids, "canusecustomtools"))
{

Zeile 3102Zeile 3181
				$thread_options = my_unserialize($tool['threadoptions']);
if($thread_options['movethread'] && $forum_cache[$thread_options['movethread']]['type'] != "f")
{

				$thread_options = my_unserialize($tool['threadoptions']);
if($thread_options['movethread'] && $forum_cache[$thread_options['movethread']]['type'] != "f")
{

					error($lang->error_movetocategory);

					error($lang->error_movetocategory, $lang->error);

				}

$custommod->execute($mybb->get_input('action', MyBB::INPUT_INT), $tids);

				}

$custommod->execute($mybb->get_input('action', MyBB::INPUT_INT), $tids);

Zeile 3133Zeile 3212
				$thread_options = my_unserialize($tool['threadoptions']);
if($thread_options['movethread'] && $forum_cache[$thread_options['movethread']]['type'] != "f")
{

				$thread_options = my_unserialize($tool['threadoptions']);
if($thread_options['movethread'] && $forum_cache[$thread_options['movethread']]['type'] != "f")
{

					error($lang->error_movetocategory);

					error($lang->error_movetocategory, $lang->error);

				}

$ret = $custommod->execute($mybb->get_input('action', MyBB::INPUT_INT), $tid);

				}

$ret = $custommod->execute($mybb->get_input('action', MyBB::INPUT_INT), $tid);

Zeile 3164Zeile 3243

if(count($pids) < 1)
{


if(count($pids) < 1)
{

					error($lang->error_inline_nopostsselected);

					error($lang->error_inline_nopostsselected, $lang->error);

				}
if(!is_moderator_by_pids($pids, "canusecustomtools"))
{

				}
if(!is_moderator_by_pids($pids, "canusecustomtools"))
{

Zeile 3293Zeile 3372
			$ids[] = $tid;
}
}

			$ids[] = $tid;
}
}

	else if($type == 'search')

	elseif($type == 'search')

	{
$query = $db->simple_select("searchlog", "resulttype, posts, threads", "sid='".$db->escape_string($id)."' AND uid='{$mybb->user['uid']}'", 1);
$searchlog = $db->fetch_array($query);

	{
$query = $db->simple_select("searchlog", "resulttype, posts, threads", "sid='".$db->escape_string($id)."' AND uid='{$mybb->user['uid']}'", 1);
$searchlog = $db->fetch_array($query);