Vergleich modcp.php - 1.8.16 - 1.8.37

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 56Zeile 56
$flist_queue_attach = $wflist_reports = $tflist_reports = $flist_reports = $tflist_modlog = $flist_modlog = $errors = '';
// SQL for fetching items only related to forums this user moderates
$moderated_forums = array();

$flist_queue_attach = $wflist_reports = $tflist_reports = $flist_reports = $tflist_modlog = $flist_modlog = $errors = '';
// SQL for fetching items only related to forums this user moderates
$moderated_forums = array();

 
$numannouncements = $nummodqueuethreads = $nummodqueueposts = $nummodqueueattach = $numreportedposts = $nummodlogs = 0;

if($mybb->usergroup['issupermod'] != 1)
{
$query = $db->simple_select("moderators", "*", "(id='{$mybb->user['uid']}' AND isgroup = '0') OR (id IN ({$mybb->usergroup['all_usergroups']}) AND isgroup = '1')");

if($mybb->usergroup['issupermod'] != 1)
{
$query = $db->simple_select("moderators", "*", "(id='{$mybb->user['uid']}' AND isgroup = '0') OR (id IN ({$mybb->usergroup['all_usergroups']}) AND isgroup = '1')");


$numannouncements = $nummodqueuethreads = $nummodqueueposts = $nummodqueueattach = $numreportedposts = $nummodlogs = 0;

 
	while($forum = $db->fetch_array($query))
{

	while($forum = $db->fetch_array($query))
{

		// For Announcements
if($forum['canmanageannouncements'] == 1)
{
++$numannouncements;
}














		$moderated_forums[] = $forum['fid'];
$children = get_child_list($forum['fid']);
if(is_array($children))
{
$moderated_forums = array_merge($moderated_forums, $children);
}
}
$moderated_forums = array_unique($moderated_forums);

$numannouncements = $nummodqueuethreads = $nummodqueueposts = $nummodqueueattach = $numreportedposts = $nummodlogs = 0;
foreach($moderated_forums as $moderated_forum)
{
// For Announcements
if(is_moderator($moderated_forum, 'canmanageannouncements'))
{
++$numannouncements;
}


		// For the Mod Queues

		// For the Mod Queues

		if($forum['canapproveunapprovethreads'] == 1)

		if(is_moderator($moderated_forum, 'canapproveunapprovethreads'))

		{

		{

			$flist_queue_threads .= ",'{$forum['fid']}'";

$children = get_child_list($forum['fid']);
if(!empty($children))
{
$flist_queue_threads .= ",'".implode("','", $children)."'";
}

			$flist_queue_threads .= ",'{$moderated_forum}'";







			++$nummodqueuethreads;
}


			++$nummodqueuethreads;
}


		if($forum['canapproveunapproveposts'] == 1)
{
$flist_queue_posts .= ",'{$forum['fid']}'";

$children = get_child_list($forum['fid']);
if(!empty($children))
{
$flist_queue_posts .= ",'".implode("','", $children)."'";
}
++$nummodqueueposts;
}

if($forum['canapproveunapproveattachs'] == 1)

		if(is_moderator($moderated_forum, 'canapproveunapproveposts'))
{
$flist_queue_posts .= ",'{$moderated_forum}'";
++$nummodqueueposts;
}

if(is_moderator($moderated_forum, 'canapproveunapproveattachs'))







		{

		{

			$flist_queue_attach .= ",'{$forum['fid']}'";

$children = get_child_list($forum['fid']);
if(!empty($children))
{
$flist_queue_attach .= ",'".implode("','", $children)."'";
}

			$flist_queue_attach .= ",'{$moderated_forum}'";







			++$nummodqueueattach;
}

// For Reported posts

			++$nummodqueueattach;
}

// For Reported posts

		if($forum['canmanagereportedposts'] == 1)

		if(is_moderator($moderated_forum, 'canmanagereportedposts'))

		{

		{

			$flist_reports .= ",'{$forum['fid']}'";

$children = get_child_list($forum['fid']);
if(!empty($children))
{
$flist_reports .= ",'".implode("','", $children)."'";
}

			$flist_reports .= ",'{$moderated_forum}'";







			++$numreportedposts;
}

// For the Mod Log

			++$numreportedposts;
}

// For the Mod Log

		if($forum['canviewmodlog'] == 1)

		if(is_moderator($moderated_forum, 'canviewmodlog'))

		{

		{

			$flist_modlog .= ",'{$forum['fid']}'";

$children = get_child_list($forum['fid']);
if(!empty($children))
{
$flist_modlog .= ",'".implode("','", $children)."'";
}

			$flist_modlog .= ",'{$moderated_forum}'";







			++$nummodlogs;

			++$nummodlogs;

		}

$flist .= ",'{$forum['fid']}'";

		}







		$children = get_child_list($forum['fid']);
if(!empty($children))
{
$flist .= ",'".implode("','", $children)."'";
}
$moderated_forums[] = $forum['fid'];

		$flist .= ",'{$moderated_forum}'";






	}
if($flist_queue_threads)
{

	}
if($flist_queue_threads)
{

Zeile 180Zeile 154
$unviewablefids1 = $unviewablefids2 = array();

if($unviewableforums)

$unviewablefids1 = $unviewablefids2 = array();

if($unviewableforums)

{

{

	$flist .= " AND fid NOT IN ({$unviewableforums})";
$tflist .= " AND t.fid NOT IN ({$unviewableforums})";


	$flist .= " AND fid NOT IN ({$unviewableforums})";
$tflist .= " AND t.fid NOT IN ({$unviewableforums})";


Zeile 257Zeile 231
if($mybb->usergroup['canuseipsearch'] == 1)
{
eval("\$nav_ipsearch = \"".$templates->get("modcp_nav_ipsearch")."\";");

if($mybb->usergroup['canuseipsearch'] == 1)
{
eval("\$nav_ipsearch = \"".$templates->get("modcp_nav_ipsearch")."\";");

}


}


$plugins->run_hooks("modcp_nav");

if(!empty($nav_announcements) || !empty($nav_modqueue) || !empty($nav_reportcenter) || !empty($nav_modlogs))
{

$plugins->run_hooks("modcp_nav");

if(!empty($nav_announcements) || !empty($nav_modqueue) || !empty($nav_reportcenter) || !empty($nav_modlogs))
{

	$expaltext = (in_array("modcpforums", $collapse)) ? "[+]" : "[-]";

	$expaltext = (in_array("modcpforums", $collapse)) ? $lang->expcol_expand : $lang->expcol_collapse;

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

if(!empty($nav_editprofile) || !empty($nav_banning) || !empty($nav_warninglogs) || !empty($nav_ipsearch))
{

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

if(!empty($nav_editprofile) || !empty($nav_banning) || !empty($nav_warninglogs) || !empty($nav_ipsearch))
{

	$expaltext = (in_array("modcpusers", $collapse)) ? "[+]" : "[-]";

	$expaltext = (in_array("modcpusers", $collapse)) ? $lang->expcol_expand : $lang->expcol_collapse;

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


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


Zeile 337Zeile 311

my_unsetcookie('inlinereports');
my_unsetcookie('inlinereports_removed');


my_unsetcookie('inlinereports');
my_unsetcookie('inlinereports_removed');


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


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


redirect("modcp.php?action=reports&page={$page}", $message);
}


redirect("modcp.php?action=reports&page={$page}", $message);
}

Zeile 416Zeile 390
	$plugins->run_hooks("modcp_reports_start");

// Reports

	$plugins->run_hooks("modcp_reports_start");

// Reports

	$reports = '';



	$reports = $selectall = '';
$inlinecount = 0;


	$query = $db->query("
SELECT r.*, u.username, rr.title
FROM ".TABLE_PREFIX."reportedcontent r

	$query = $db->query("
SELECT r.*, u.username, rr.title
FROM ".TABLE_PREFIX."reportedcontent r

Zeile 532Zeile 508

$plugins->run_hooks('modcp_reports_intermediate');



$plugins->run_hooks('modcp_reports_intermediate');


		$inlinecount = 0;

 
		// Now that we have all of the information needed, display the reports
foreach($reportcache as $report)
{

		// Now that we have all of the information needed, display the reports
foreach($reportcache as $report)
{

Zeile 1284Zeile 1259

if(($mybb->usergroup['issupermod'] != 1 && $announcement_fid == -1) || ($announcement_fid != -1 && !is_moderator($announcement_fid, "canmanageannouncements")) || ($unviewableforums && in_array($announcement_fid, $unviewableforums)))
{


if(($mybb->usergroup['issupermod'] != 1 && $announcement_fid == -1) || ($announcement_fid != -1 && !is_moderator($announcement_fid, "canmanageannouncements")) || ($unviewableforums && in_array($announcement_fid, $unviewableforums)))
{

		error_no_permission();
}

// Deal with inline errors
if(!empty($errors) || isset($preview))
{

		error_no_permission();
}

// Deal with inline errors
if(!empty($errors) || isset($preview))
{

		if(!empty($errors))
{
$errors = inline_error($errors);

		if(!empty($errors))
{
$errors = inline_error($errors);

Zeile 1935Zeile 1910
			foreach($global_announcements as $aid => $announcement)
{
$trow = alt_trow();

			foreach($global_announcements as $aid => $announcement)
{
$trow = alt_trow();

				if($announcement['startdate'] > TIME_NOW || ($announcement['enddate'] < TIME_NOW && $announcement['enddate'] != 0))

				if((isset($announcement['startdate']) && $announcement['startdate'] > TIME_NOW) || (isset($announcement['enddate']) && $announcement['enddate'] < TIME_NOW && $announcement['enddate'] != 0))

				{
eval("\$icon = \"".$templates->get("modcp_announcements_announcement_expired")."\";");
}

				{
eval("\$icon = \"".$templates->get("modcp_announcements_announcement_expired")."\";");
}

Zeile 2089Zeile 2064
	{
$attachments = array_map("intval", array_keys($mybb->input['attachments']));
$query = $db->query("

	{
$attachments = array_map("intval", array_keys($mybb->input['attachments']));
$query = $db->query("

			SELECT a.pid, a.aid

			SELECT a.pid, a.aid, t.tid

			FROM  ".TABLE_PREFIX."attachments a
LEFT JOIN ".TABLE_PREFIX."posts p ON (a.pid=p.pid)
LEFT JOIN ".TABLE_PREFIX."threads t ON (t.tid=p.tid)

			FROM  ".TABLE_PREFIX."attachments a
LEFT JOIN ".TABLE_PREFIX."posts p ON (a.pid=p.pid)
LEFT JOIN ".TABLE_PREFIX."threads t ON (t.tid=p.tid)

Zeile 2105Zeile 2080
			if($action == "approve")
{
$db->update_query("attachments", array("visible" => 1), "aid='{$attachment['aid']}'");

			if($action == "approve")
{
$db->update_query("attachments", array("visible" => 1), "aid='{$attachment['aid']}'");

 
				if(isset($attachment['tid']))
{
update_thread_counters((int)$attachment['tid'], array("attachmentcount" => "+1"));
}

			}
else if($action == "delete")
{
remove_attachment($attachment['pid'], '', $attachment['aid']);

			}
else if($action == "delete")
{
remove_attachment($attachment['pid'], '', $attachment['aid']);

 
				if(isset($attachment['tid']))
{
update_thread_counters((int)$attachment['tid'], array("attachmentcount" => "-1"));
}

			}
}


			}
}


Zeile 2200Zeile 2183
			if($thread['username'] == "")
{
if($thread['threadusername'] != "")

			if($thread['username'] == "")
{
if($thread['threadusername'] != "")

				{

				{

					$thread['threadusername'] = htmlspecialchars_uni($thread['threadusername']);
$profile_link = $thread['threadusername'];
}

					$thread['threadusername'] = htmlspecialchars_uni($thread['threadusername']);
$profile_link = $thread['threadusername'];
}

Zeile 2218Zeile 2201
			$thread['postmessage'] = nl2br(htmlspecialchars_uni($thread['postmessage']));
eval("\$forum = \"".$templates->get("modcp_modqueue_link_forum")."\";");
eval("\$threads .= \"".$templates->get("modcp_modqueue_threads_thread")."\";");

			$thread['postmessage'] = nl2br(htmlspecialchars_uni($thread['postmessage']));
eval("\$forum = \"".$templates->get("modcp_modqueue_link_forum")."\";");
eval("\$threads .= \"".$templates->get("modcp_modqueue_threads_thread")."\";");

		}


		}


		if(!$threads && $mybb->input['type'] == "threads")
{
eval("\$threads = \"".$templates->get("modcp_modqueue_threads_empty")."\";");

		if(!$threads && $mybb->input['type'] == "threads")
{
eval("\$threads = \"".$templates->get("modcp_modqueue_threads_empty")."\";");

		}


		}


		if($threads)
{
add_breadcrumb($lang->mcp_nav_modqueue_threads, "modcp.php?action=modqueue&amp;type=threads");

$plugins->run_hooks("modcp_modqueue_threads_end");

		if($threads)
{
add_breadcrumb($lang->mcp_nav_modqueue_threads, "modcp.php?action=modqueue&amp;type=threads");

$plugins->run_hooks("modcp_modqueue_threads_end");





			if($nummodqueueposts > 0 || $mybb->usergroup['issupermod'] == 1)
{
$navsep = " | ";
eval("\$post_link = \"".$templates->get("modcp_modqueue_post_link")."\";");

			if($nummodqueueposts > 0 || $mybb->usergroup['issupermod'] == 1)
{
$navsep = " | ";
eval("\$post_link = \"".$templates->get("modcp_modqueue_post_link")."\";");

			}


			}


			if($mybb->settings['enableattachments'] == 1 && ($nummodqueueattach > 0 || $mybb->usergroup['issupermod'] == 1))
{
$navsep = " | ";

			if($mybb->settings['enableattachments'] == 1 && ($nummodqueueattach > 0 || $mybb->usergroup['issupermod'] == 1))
{
$navsep = " | ";

Zeile 2248Zeile 2231
			output_page($threadqueue);
}
$type = 'threads';

			output_page($threadqueue);
}
$type = 'threads';

	}

	}


if($mybb->input['type'] == "posts" || (!$mybb->input['type'] && !$threadqueue && ($nummodqueueposts > 0 || $mybb->usergroup['issupermod'] == 1)))
{


if($mybb->input['type'] == "posts" || (!$mybb->input['type'] && !$threadqueue && ($nummodqueueposts > 0 || $mybb->usergroup['issupermod'] == 1)))
{

Zeile 2258Zeile 2241
		}

$forum_cache = $cache->read("forums");

		}

$forum_cache = $cache->read("forums");





		$query = $db->query("
SELECT COUNT(pid) AS unapprovedposts
FROM ".TABLE_PREFIX."posts p

		$query = $db->query("
SELECT COUNT(pid) AS unapprovedposts
FROM ".TABLE_PREFIX."posts p

Zeile 2271Zeile 2254
		if($mybb->get_input('page') != "last")
{
$page = $mybb->get_input('page', MyBB::INPUT_INT);

		if($mybb->get_input('page') != "last")
{
$page = $mybb->get_input('page', MyBB::INPUT_INT);

		}


		}


		$perpage = $mybb->settings['postsperpage'];
$pages = $unapproved_posts / $perpage;

		$perpage = $mybb->settings['postsperpage'];
$pages = $unapproved_posts / $perpage;

		$pages = ceil($pages);

if($mybb->get_input('page') == "last")
{
$page = $pages;
}

if($page > $pages || $page <= 0)
{
$page = 1;
}

if($page)
{
$start = ($page-1) * $perpage;
}
else
{
$start = 0;
$page = 1;
}

		$pages = ceil($pages);

if($mybb->get_input('page') == "last")
{
$page = $pages;
}

if($page > $pages || $page <= 0)
{
$page = 1;
}

if($page)
{
$start = ($page-1) * $perpage;
}
else
{
$start = 0;
$page = 1;
}


$multipage = multipage($unapproved_posts, $perpage, $page, "modcp.php?action=modqueue&amp;type=posts");



$multipage = multipage($unapproved_posts, $perpage, $page, "modcp.php?action=modqueue&amp;type=posts");


Zeile 2305Zeile 2288
			LEFT JOIN ".TABLE_PREFIX."threads t ON (t.tid=p.tid)
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=p.uid)
WHERE p.visible='0' {$tflist_queue_posts} AND t.firstpost != p.pid

			LEFT JOIN ".TABLE_PREFIX."threads t ON (t.tid=p.tid)
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=p.uid)
WHERE p.visible='0' {$tflist_queue_posts} AND t.firstpost != p.pid

			ORDER BY p.dateline DESC

			ORDER BY p.dateline DESC, p.pid DESC

			LIMIT {$start}, {$perpage}
");
$posts = '';

			LIMIT {$start}, {$perpage}
");
$posts = '';

Zeile 2440Zeile 2423
		while($attachment = $db->fetch_array($query))
{
$altbg = alt_trow();

		while($attachment = $db->fetch_array($query))
{
$altbg = alt_trow();





			if(!$attachment['dateuploaded'])
{
$attachment['dateuploaded'] = $attachment['dateline'];

			if(!$attachment['dateuploaded'])
{
$attachment['dateuploaded'] = $attachment['dateline'];

			}

$attachdate = my_date('relative', $attachment['dateuploaded']);

			}

$attachdate = my_date('relative', $attachment['dateuploaded']);


$attachment['postsubject'] = htmlspecialchars_uni($parser->parse_badwords($attachment['postsubject']));
$attachment['filename'] = htmlspecialchars_uni($attachment['filename']);
$attachment['threadsubject'] = htmlspecialchars_uni($parser->parse_badwords($attachment['threadsubject']));
$attachment['filesize'] = get_friendly_size($attachment['filesize']);


$attachment['postsubject'] = htmlspecialchars_uni($parser->parse_badwords($attachment['postsubject']));
$attachment['filename'] = htmlspecialchars_uni($attachment['filename']);
$attachment['threadsubject'] = htmlspecialchars_uni($parser->parse_badwords($attachment['threadsubject']));
$attachment['filesize'] = get_friendly_size($attachment['filesize']);





			$link = get_post_link($attachment['pid'], $attachment['tid']) . "#pid{$attachment['pid']}";
$thread_link = get_thread_link($attachment['tid']);
$attachment['username'] = htmlspecialchars_uni($attachment['username']);

			$link = get_post_link($attachment['pid'], $attachment['tid']) . "#pid{$attachment['pid']}";
$thread_link = get_thread_link($attachment['tid']);
$attachment['username'] = htmlspecialchars_uni($attachment['username']);

Zeile 2475Zeile 2458
			if($nummodqueuethreads > 0 || $mybb->usergroup['issupermod'] == 1)
{
eval("\$thread_link = \"".$templates->get("modcp_modqueue_thread_link")."\";");

			if($nummodqueuethreads > 0 || $mybb->usergroup['issupermod'] == 1)
{
eval("\$thread_link = \"".$templates->get("modcp_modqueue_thread_link")."\";");

				$navsep = " | ";
}

				$navsep = " | ";
}


if($nummodqueueposts > 0 || $mybb->usergroup['issupermod'] == 1)
{


if($nummodqueueposts > 0 || $mybb->usergroup['issupermod'] == 1)
{

Zeile 2487Zeile 2470
			eval("\$mass_controls = \"".$templates->get("modcp_modqueue_masscontrols")."\";");
eval("\$attachmentqueue = \"".$templates->get("modcp_modqueue_attachments")."\";");
output_page($attachmentqueue);

			eval("\$mass_controls = \"".$templates->get("modcp_modqueue_masscontrols")."\";");
eval("\$attachmentqueue = \"".$templates->get("modcp_modqueue_attachments")."\";");
output_page($attachmentqueue);

		}

		}

	}

// Still nothing? All queues are empty! :-D

	}

// Still nothing? All queues are empty! :-D

Zeile 2495Zeile 2478
	{
add_breadcrumb($lang->mcp_nav_modqueue, "modcp.php?action=modqueue");


	{
add_breadcrumb($lang->mcp_nav_modqueue, "modcp.php?action=modqueue");


		$plugins->run_hooks("modcp_modqueue_end");


		$plugins->run_hooks("modcp_modqueue_end");


		eval("\$queue = \"".$templates->get("modcp_modqueue_empty")."\";");
output_page($queue);
}

		eval("\$queue = \"".$templates->get("modcp_modqueue_empty")."\";");
output_page($queue);
}

Zeile 2505Zeile 2488
if($mybb->input['action'] == "do_editprofile")
{
// Verify incoming POST request

if($mybb->input['action'] == "do_editprofile")
{
// Verify incoming POST request

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

	verify_post_check($mybb->get_input('my_post_key'));


if($mybb->usergroup['caneditprofiles'] == 0)
{


if($mybb->usergroup['caneditprofiles'] == 0)
{

Zeile 2587Zeile 2570
		"profile_fields_editable" => true,
"website" => $mybb->get_input('website'),
"icq" => $mybb->get_input('icq'),

		"profile_fields_editable" => true,
"website" => $mybb->get_input('website'),
"icq" => $mybb->get_input('icq'),

		"yahoo" => $mybb->get_input('yahoo'),

 
		"skype" => $mybb->get_input('skype'),
"google" => $mybb->get_input('google'),
"signature" => $mybb->get_input('signature'),

		"skype" => $mybb->get_input('skype'),
"google" => $mybb->get_input('google'),
"signature" => $mybb->get_input('signature'),

Zeile 2608Zeile 2590
	else if(!empty($mybb->input['reverttitle']))
{
$updated_user['usertitle'] = '';

	else if(!empty($mybb->input['reverttitle']))
{
$updated_user['usertitle'] = '';

	}


	}


	if(!empty($mybb->input['remove_avatar']))
{
$updated_user['avatarurl'] = '';

	if(!empty($mybb->input['remove_avatar']))
{
$updated_user['avatarurl'] = '';

Zeile 2617Zeile 2599

// Set the data of the user in the datahandler.
$userhandler->set_data($updated_user);


// Set the data of the user in the datahandler.
$userhandler->set_data($updated_user);

	$errors = '';


	$errors = array();


	// Validate the user and get any errors that might have occurred.
if(!$userhandler->validate_user())
{

	// Validate the user and get any errors that might have occurred.
if(!$userhandler->validate_user())
{

Zeile 2669Zeile 2651
			${$option['time']} = $mybb->get_input($option['time'], MyBB::INPUT_INT);
$mybb->input[$option['period']] = $mybb->get_input($option['period']);
if(empty($mybb->input[$option['action']]))

			${$option['time']} = $mybb->get_input($option['time'], MyBB::INPUT_INT);
$mybb->input[$option['period']] = $mybb->get_input($option['period']);
if(empty($mybb->input[$option['action']]))

			{

			{

				if($user[$option['update_field']] == 1)
{
// We're revoking the suspension
$extra_user_updates[$option['update_field']] = 0;
$extra_user_updates[$option['update_length']] = 0;

				if($user[$option['update_field']] == 1)
{
// We're revoking the suspension
$extra_user_updates[$option['update_field']] = 0;
$extra_user_updates[$option['update_length']] = 0;

				}


				}


				// Skip this option if we haven't selected it
continue;
}

				// Skip this option if we haven't selected it
continue;
}

Zeile 2689Zeile 2671
					$string = $option['action']."_error";
$errors[] = $lang->$string;
}

					$string = $option['action']."_error";
$errors[] = $lang->$string;
}


if(!is_array($errors))

				else


				{
$suspend_length = fetch_time_length((int)$mybb->input[$option['time']], $mybb->input[$option['period']]);


				{
$suspend_length = fetch_time_length((int)$mybb->input[$option['time']], $mybb->input[$option['period']]);


Zeile 2705Zeile 2686
						elseif($suspend_length && $suspend_length != "-1")
{
// Temporary ban on action

						elseif($suspend_length && $suspend_length != "-1")
{
// Temporary ban on action

							$extra_user_updates[$option['update_length']] = TIME_NOW + $suspend_length;
}

							$extra_user_updates[$option['update_length']] = TIME_NOW + $suspend_length;
}

					}
elseif(!$user[$option['update_field']])
{

					}
elseif(!$user[$option['update_field']])
{

Zeile 2727Zeile 2708

// Those with javascript turned off will be able to select both - cheeky!
// Check to make sure we're not moderating AND suspending posting


// Those with javascript turned off will be able to select both - cheeky!
// Check to make sure we're not moderating AND suspending posting

		if(isset($extra_user_updates) && $extra_user_updates['moderateposts'] && $extra_user_updates['suspendposting'])

		if(isset($extra_user_updates) && !empty($extra_user_updates['moderateposts']) && !empty($extra_user_updates['suspendposting']))

		{
$errors[] = $lang->suspendmoderate_error;

		{
$errors[] = $lang->suspendmoderate_error;

		}

if(is_array($errors))

		}

if(is_array($errors) && !empty($errors))

		{
$mybb->input['action'] = "editprofile";
}

		{
$mybb->input['action'] = "editprofile";
}

Zeile 2747Zeile 2728
				$db->update_query("users", $extra_user_updates, "uid='{$user['uid']}'");
}
log_moderator_action(array("uid" => $user['uid'], "username" => $user['username']), $lang->edited_user);

				$db->update_query("users", $extra_user_updates, "uid='{$user['uid']}'");
}
log_moderator_action(array("uid" => $user['uid'], "username" => $user['username']), $lang->edited_user);





			$plugins->run_hooks("modcp_do_editprofile_end");

redirect("modcp.php?action=finduser", $lang->redirect_user_updated);

			$plugins->run_hooks("modcp_do_editprofile_end");

redirect("modcp.php?action=finduser", $lang->redirect_user_updated);

Zeile 2758Zeile 2739
if($mybb->input['action'] == "editprofile")
{
if($mybb->usergroup['caneditprofiles'] == 0)

if($mybb->input['action'] == "editprofile")
{
if($mybb->usergroup['caneditprofiles'] == 0)

	{
error_no_permission();
}

add_breadcrumb($lang->mcp_nav_editprofile, "modcp.php?action=editprofile");

	{
error_no_permission();
}

add_breadcrumb($lang->mcp_nav_editprofile, "modcp.php?action=editprofile");


$user = get_user($mybb->get_input('uid', MyBB::INPUT_INT));
if(!$user)


$user = get_user($mybb->get_input('uid', MyBB::INPUT_INT));
if(!$user)

Zeile 2774Zeile 2755
	if(!modcp_can_manage_user($user['uid']))
{
error_no_permission();

	if(!modcp_can_manage_user($user['uid']))
{
error_no_permission();

	}

$userperms = user_permissions($user['uid']);


	}

$userperms = user_permissions($user['uid']);


	// Set display group
$displaygroupfields = array("title", "description", "namestyle", "usertitle", "stars", "starimage", "image");

	// Set display group
$displaygroupfields = array("title", "description", "namestyle", "usertitle", "stars", "starimage", "image");

 

if(!$user['displaygroup'])
{
$user['displaygroup'] = $user['usergroup'];
}


	$display_group = usergroup_displaygroup($user['displaygroup']);
if(is_array($display_group))
{
$userperms = array_merge($userperms, $display_group);

	$display_group = usergroup_displaygroup($user['displaygroup']);
if(is_array($display_group))
{
$userperms = array_merge($userperms, $display_group);

	}


	}


	if(!my_validate_url($user['website']))
{
$user['website'] = '';
}

if($user['icq'] != "0")

	if(!my_validate_url($user['website']))
{
$user['website'] = '';
}

if($user['icq'] != "0")

	{

	{

		$user['icq'] = (int)$user['icq'];
}


		$user['icq'] = (int)$user['icq'];
}


Zeile 2816Zeile 2803
	}

// Sanitize all input

	}

// Sanitize all input

	foreach(array('usertitle', 'website', 'icq', 'yahoo', 'skype', 'google', 'signature', 'birthday_day', 'birthday_month', 'birthday_year') as $field)

	foreach(array('usertitle', 'website', 'icq', 'skype', 'google', 'signature', 'birthday_day', 'birthday_month', 'birthday_year') as $field)

	{
$mybb->input[$field] = htmlspecialchars_uni($mybb->get_input($field));
}

	{
$mybb->input[$field] = htmlspecialchars_uni($mybb->get_input($field));
}

Zeile 2835Zeile 2822
		{
if($title['posts'] <= $user['postnum'])
{

		{
if($title['posts'] <= $user['postnum'])
{

				$defaulttitle = $title['title'];

				$defaulttitle = htmlspecialchars_uni($title['title']);

				break;
}
}

				break;
}
}

Zeile 2869Zeile 2856
		$bdaymonthsel[$month] = '';
}
$bdaymonthsel[$mybb->input['birthday_month']] = 'selected="selected"';

		$bdaymonthsel[$month] = '';
}
$bdaymonthsel[$mybb->input['birthday_month']] = 'selected="selected"';

 

$awaysection = '';


if($mybb->settings['allowaway'] != 0)
{
$awaycheck = array('', '');
if($errors)


if($mybb->settings['allowaway'] != 0)
{
$awaycheck = array('', '');
if($errors)

		{
if($user['away'] == 1)
{
$awaycheck[1] = "checked=\"checked\"";
}
else
{

		{
if($user['away'] == 1)
{
$awaycheck[1] = "checked=\"checked\"";
}
else
{

				$awaycheck[0] = "checked=\"checked\"";
}
$returndate = array();

				$awaycheck[0] = "checked=\"checked\"";
}
$returndate = array();

Zeile 2897Zeile 2886
				$awaydate = my_date($mybb->settings['dateformat'], $user['awaydate']);
$awaycheck[1] = "checked=\"checked\"";
$awaynotice = $lang->sprintf($lang->away_notice_away, $awaydate);

				$awaydate = my_date($mybb->settings['dateformat'], $user['awaydate']);
$awaycheck[1] = "checked=\"checked\"";
$awaynotice = $lang->sprintf($lang->away_notice_away, $awaydate);

			}

			}

			else
{
$awaynotice = $lang->away_notice;
$awaycheck[0] = "checked=\"checked\"";

			else
{
$awaynotice = $lang->away_notice;
$awaycheck[0] = "checked=\"checked\"";

			}

			}

			$returndate = explode("-", $user['returndate']);
}
$returndatesel = $selected = '';

			$returndate = explode("-", $user['returndate']);
}
$returndatesel = $selected = '';

Zeile 2913Zeile 2902
				$selected = "selected=\"selected\"";
}
else

				$selected = "selected=\"selected\"";
}
else

			{

			{

				$selected = '';
}


				$selected = '';
}


Zeile 2928Zeile 2917
		if(isset($returndate[1]))
{
$returndatemonthsel[$returndate[1]] = " selected=\"selected\"";

		if(isset($returndate[1]))
{
$returndatemonthsel[$returndate[1]] = " selected=\"selected\"";

		}


		}


		if(!isset($returndate[2]))
{
$returndate[2] = '';
}

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

		if(!isset($returndate[2]))
{
$returndate[2] = '';
}

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

	}


	}


	$plugins->run_hooks("modcp_editprofile_start");

// Fetch profile fields

	$plugins->run_hooks("modcp_editprofile_start");

// Fetch profile fields

 
	$user_fields = array();

	$query = $db->simple_select("userfields", "*", "ufid='{$user['uid']}'");

	$query = $db->simple_select("userfields", "*", "ufid='{$user['uid']}'");

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




	if($db->num_rows($query) > 0)
{
$user_fields = $db->fetch_array($query);
}


$requiredfields = '';
$customfields = '';


$requiredfields = '';
$customfields = '';

Zeile 2973Zeile 2966
					$userfield = $mybb->input['profile_fields'][$field];
}
}

					$userfield = $mybb->input['profile_fields'][$field];
}
}

			else

			elseif(isset($user_fields[$field]))

			{
$userfield = $user_fields[$field];
}

			{
$userfield = $user_fields[$field];
}

Zeile 3283Zeile 3276
	$user_icq = $mybb->input['icq'];
$user_skype = $mybb->input['skype'];
$user_google = $mybb->input['google'];

	$user_icq = $mybb->input['icq'];
$user_skype = $mybb->input['skype'];
$user_google = $mybb->input['google'];

	$user_yahoo = $mybb->input['yahoo'];

 

$plugins->run_hooks("modcp_editprofile_end");



$plugins->run_hooks("modcp_editprofile_end");


Zeile 3431Zeile 3423

$plugins->run_hooks("modcp_finduser_end");



$plugins->run_hooks("modcp_finduser_end");


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

	$username = htmlspecialchars_uni($mybb->get_input('username'));

	eval("\$finduser = \"".$templates->get("modcp_finduser")."\";");
output_page($finduser);
}

	eval("\$finduser = \"".$templates->get("modcp_finduser")."\";");
output_page($finduser);
}

Zeile 3572Zeile 3564
		$per_page = (int)$mybb->input['filter']['per_page'];
}
$start = ($page-1) * $per_page;

		$per_page = (int)$mybb->input['filter']['per_page'];
}
$start = ($page-1) * $per_page;

 
	$pages = ceil($total_warnings / $per_page);
if($page > $pages)
{
$start = 0;
$page = 1;
}

	// Build the base URL for pagination links
$url = 'modcp.php?action=warninglogs';
if(is_array($mybb->input['filter']) && count($mybb->input['filter']))

	// Build the base URL for pagination links
$url = 'modcp.php?action=warninglogs';
if(is_array($mybb->input['filter']) && count($mybb->input['filter']))

Zeile 3601Zeile 3599
		LIMIT {$start}, {$per_page}
";
$query = $db->query($sql);

		LIMIT {$start}, {$per_page}
";
$query = $db->query($sql);







	$warning_list = '';
while($row = $db->fetch_array($query))
{

	$warning_list = '';
while($row = $db->fetch_array($query))
{

Zeile 3666Zeile 3664

add_breadcrumb($lang->mcp_nav_ipsearch, "modcp.php?action=ipsearch");



add_breadcrumb($lang->mcp_nav_ipsearch, "modcp.php?action=ipsearch");


 
	$ipsearch_results = $ipaddressvalue = '';

	$mybb->input['ipaddress'] = $mybb->get_input('ipaddress');
if($mybb->input['ipaddress'])
{

	$mybb->input['ipaddress'] = $mybb->get_input('ipaddress');
if($mybb->input['ipaddress'])
{

Zeile 3683Zeile 3682
		// Searching post IP addresses
if(isset($mybb->input['search_posts']))
{

		// Searching post IP addresses
if(isset($mybb->input['search_posts']))
{

 
			$post_ip_sql = '';

			if($ip_range)
{
if(!is_array($ip_range))

			if($ip_range)
{
if(!is_array($ip_range))

Zeile 3692Zeile 3692
				else
{
$post_ip_sql = "p.ipaddress BETWEEN ".$db->escape_binary($ip_range[0])." AND ".$db->escape_binary($ip_range[1]);

				else
{
$post_ip_sql = "p.ipaddress BETWEEN ".$db->escape_binary($ip_range[0])." AND ".$db->escape_binary($ip_range[1]);

				}
}

$plugins->run_hooks("modcp_ipsearch_posts_start");

				}
}

$plugins->run_hooks("modcp_ipsearch_posts_start");


if($post_ip_sql)
{


if($post_ip_sql)
{

Zeile 3777Zeile 3777
		// Searching user IP addresses
if(isset($mybb->input['search_users']))
{

		// Searching user IP addresses
if(isset($mybb->input['search_users']))
{

 
			$user_ip_sql = '';

			if($ip_range)
{
if(!is_array($ip_range))

			if($ip_range)
{
if(!is_array($ip_range))

Zeile 3918Zeile 3919
				FROM ".TABLE_PREFIX."posts p
LEFT JOIN ".TABLE_PREFIX."threads t ON (t.tid = p.tid)
WHERE {$post_ip_sql}{$where_sql}{$visible_sql}

				FROM ".TABLE_PREFIX."posts p
LEFT JOIN ".TABLE_PREFIX."threads t ON (t.tid = p.tid)
WHERE {$post_ip_sql}{$where_sql}{$visible_sql}

				ORDER BY p.dateline desc

				ORDER BY p.dateline DESC, p.pid DESC

				LIMIT {$post_start}, {$post_limit}
");
while($ipaddress = $db->fetch_array($query))

				LIMIT {$post_start}, {$post_limit}
");
while($ipaddress = $db->fetch_array($query))

Zeile 3947Zeile 3948
				foreach($ipaddresses as $ipaddress)
{
$ip = my_inet_ntop($db->unescape_binary($ipaddress['ipaddress']));

				foreach($ipaddresses as $ipaddress)
{
$ip = my_inet_ntop($db->unescape_binary($ipaddress['ipaddress']));

					if(!$ipaddress['username'])

					if(empty($ipaddress['username']))

					{
$ipaddress['username'] = $ipaddress['postusername']; // Guest username support
}
$ipaddress['username'] = htmlspecialchars_uni($ipaddress['username']);
$trow = alt_trow();

					{
$ipaddress['username'] = $ipaddress['postusername']; // Guest username support
}
$ipaddress['username'] = htmlspecialchars_uni($ipaddress['username']);
$trow = alt_trow();

					if(!$ipaddress['subject'])

					if(empty($ipaddress['subject']))

					{
$ipaddress['subject'] = "RE: {$ipaddress['threadsubject']}";
}

					{
$ipaddress['subject'] = "RE: {$ipaddress['threadsubject']}";
}

Zeile 4233Zeile 4234

$updated_group = array(
'usergroup' => $ban['oldgroup'],


$updated_group = array(
'usergroup' => $ban['oldgroup'],

		'additionalgroups' => $ban['oldadditionalgroups'],

		'additionalgroups' => $db->escape_string($ban['oldadditionalgroups']),

		'displaygroup' => $ban['olddisplaygroup']
);
$db->update_query("users", $updated_group, "uid='{$ban['uid']}'");
$db->delete_query("banned", "uid='{$ban['uid']}'");


		'displaygroup' => $ban['olddisplaygroup']
);
$db->update_query("users", $updated_group, "uid='{$ban['uid']}'");
$db->delete_query("banned", "uid='{$ban['uid']}'");


	$cache->update_banned();

 
	$cache->update_moderators();
log_moderator_action(array("uid" => $ban['uid'], "username" => $username), $lang->lifted_ban);


	$cache->update_moderators();
log_moderator_action(array("uid" => $ban['uid'], "username" => $username), $lang->lifted_ban);


Zeile 4259Zeile 4259
	}

// Editing an existing ban

	}

// Editing an existing ban

 
	$existing_ban = false;

	if($mybb->get_input('uid', MyBB::INPUT_INT))
{
// Get the users info from their uid

	if($mybb->get_input('uid', MyBB::INPUT_INT))
{
// Get the users info from their uid

Zeile 4270Zeile 4271
		");
$user = $db->fetch_array($query);


		");
$user = $db->fetch_array($query);


		$existing_ban = false;
if($user['uid'])

		if($user)


		{
$existing_ban = true;
}

		{
$existing_ban = true;
}

Zeile 4295Zeile 4295

$user = get_user_by_username($mybb->input['username'], $options);



$user = get_user_by_username($mybb->input['username'], $options);


		if(!$user['uid'])

		if(!$user)

		{
$errors[] = $lang->invalid_username;
}

		{
$errors[] = $lang->invalid_username;
}

Zeile 4320Zeile 4320

// Check banned group
$usergroups_cache = $cache->read('usergroups');


// Check banned group
$usergroups_cache = $cache->read('usergroups');

	$usergroup = $usergroups_cache[$mybb->get_input('usergroup', MyBB::INPUT_INT)];




	if(isset($usergroups_cache[$mybb->get_input('usergroup', MyBB::INPUT_INT)]))
{
$usergroup = $usergroups_cache[$mybb->get_input('usergroup', MyBB::INPUT_INT)];
}





	if(empty($usergroup['gid']) || empty($usergroup['isbannedgroup']))

	if(!isset($usergroup) || empty($usergroup['isbannedgroup']))

	{
$errors[] = $lang->error_nobangroup;
}

// If this is a new ban, we check the user isn't already part of a banned group
if(!$existing_ban && $user['uid'])

	{
$errors[] = $lang->error_nobangroup;
}

// If this is a new ban, we check the user isn't already part of a banned group
if(!$existing_ban && $user['uid'])

	{
$query = $db->simple_select("banned", "uid", "uid='{$user['uid']}'");
if($db->fetch_field($query, "uid"))
{

	{
$query = $db->simple_select("banned", "uid", "uid='{$user['uid']}'", array('limit' => 1));
if($db->num_rows($query) > 0)
{

			$errors[] = $lang->error_useralreadybanned;
}
}

			$errors[] = $lang->error_useralreadybanned;
}
}

Zeile 4359Zeile 4362
		$banreason = my_substr($mybb->get_input('banreason'), 0, 255);

if($existing_ban)

		$banreason = my_substr($mybb->get_input('banreason'), 0, 255);

if($existing_ban)

		{

		{

			$update_array = array(
'gid' => $mybb->get_input('usergroup', MyBB::INPUT_INT),
'dateline' => TIME_NOW,

			$update_array = array(
'gid' => $mybb->get_input('usergroup', MyBB::INPUT_INT),
'dateline' => TIME_NOW,

Zeile 4376Zeile 4379
				'uid' => $user['uid'],
'gid' => $mybb->get_input('usergroup', MyBB::INPUT_INT),
'oldgroup' => (int)$user['usergroup'],

				'uid' => $user['uid'],
'gid' => $mybb->get_input('usergroup', MyBB::INPUT_INT),
'oldgroup' => (int)$user['usergroup'],

				'oldadditionalgroups' => (string)$user['additionalgroups'],

				'oldadditionalgroups' => $db->escape_string($user['additionalgroups']),

				'olddisplaygroup' => (int)$user['displaygroup'],
'admin' => (int)$mybb->user['uid'],
'dateline' => TIME_NOW,

				'olddisplaygroup' => (int)$user['displaygroup'],
'admin' => (int)$mybb->user['uid'],
'dateline' => TIME_NOW,

Zeile 4395Zeile 4398
			'additionalgroups' => '',
);
$db->update_query('users', $update_array, "uid = {$user['uid']}");

			'additionalgroups' => '',
);
$db->update_query('users', $update_array, "uid = {$user['uid']}");


$cache->update_banned();

 

// Log edit or add ban
if($existing_ban)


// Log edit or add ban
if($existing_ban)

Zeile 4460Zeile 4461
			WHERE b.uid='{$mybb->input['uid']}'
");
$banned = $db->fetch_array($query);

			WHERE b.uid='{$mybb->input['uid']}'
");
$banned = $db->fetch_array($query);

		if($banned['username'])

		if(!empty($banned['username']))

		{
$username = $banned['username'] = htmlspecialchars_uni($banned['username']);
$banreason = htmlspecialchars_uni($banned['reason']);

		{
$username = $banned['username'] = htmlspecialchars_uni($banned['username']);
$banreason = htmlspecialchars_uni($banned['reason']);

Zeile 4472Zeile 4473
	}

// Permission to edit this ban?

	}

// Permission to edit this ban?

	if($banned['uid'] && $mybb->user['uid'] != $banned['admin'] && $mybb->usergroup['issupermod'] != 1 && $mybb->usergroup['cancp'] != 1)

	if(!empty($banned) && $banned['uid'] && $mybb->user['uid'] != $banned['admin'] && $mybb->usergroup['issupermod'] != 1 && $mybb->usergroup['cancp'] != 1)

	{
error_no_permission();
}

	{
error_no_permission();
}

Zeile 4615Zeile 4616
			else
{
$bgcolor = "trow2";

			else
{
$bgcolor = "trow2";

			}

$query = $db->query("

			}

$query = $db->query("

				SELECT COUNT(aid) AS unapprovedattachments
FROM ".TABLE_PREFIX."attachments a
LEFT JOIN ".TABLE_PREFIX."posts p ON (p.pid=a.pid)

				SELECT COUNT(aid) AS unapprovedattachments
FROM ".TABLE_PREFIX."attachments a
LEFT JOIN ".TABLE_PREFIX."posts p ON (p.pid=a.pid)

Zeile 4627Zeile 4628
			$unapproved_attachments = $db->fetch_field($query, "unapprovedattachments");

if($unapproved_attachments > 0)

			$unapproved_attachments = $db->fetch_field($query, "unapprovedattachments");

if($unapproved_attachments > 0)

			{

			{

				$query = $db->query("
SELECT t.tid, p.pid, p.uid, t.username, a.filename, a.dateuploaded
FROM ".TABLE_PREFIX."attachments a

				$query = $db->query("
SELECT t.tid, p.pid, p.uid, t.username, a.filename, a.dateuploaded
FROM ".TABLE_PREFIX."attachments a

Zeile 4635Zeile 4636
					LEFT JOIN ".TABLE_PREFIX."threads t ON (t.tid=p.tid)
WHERE a.visible='0' {$tflist}
ORDER BY a.dateuploaded DESC

					LEFT JOIN ".TABLE_PREFIX."threads t ON (t.tid=p.tid)
WHERE a.visible='0' {$tflist}
ORDER BY a.dateuploaded DESC

					LIMIT 1
");

					LIMIT 1
");

				$attachment = $db->fetch_array($query);
$attachment['date'] = my_date('relative', $attachment['dateuploaded']);
$attachment['username'] = htmlspecialchars_uni($attachment['username']);

				$attachment = $db->fetch_array($query);
$attachment['date'] = my_date('relative', $attachment['dateuploaded']);
$attachment['username'] = htmlspecialchars_uni($attachment['username']);

Zeile 4654Zeile 4655

eval("\$awaitingattachments = \"".$templates->get("modcp_awaitingattachments")."\";");
}


eval("\$awaitingattachments = \"".$templates->get("modcp_awaitingattachments")."\";");
}





		if($nummodqueueposts > 0 || $mybb->usergroup['issupermod'] == 1)
{
$query = $db->query("

		if($nummodqueueposts > 0 || $mybb->usergroup['issupermod'] == 1)
{
$query = $db->query("

Zeile 4672Zeile 4673
					FROM  ".TABLE_PREFIX."posts p
LEFT JOIN ".TABLE_PREFIX."threads t ON (t.tid=p.tid)
WHERE p.visible='0' {$tflist} AND t.firstpost != p.pid

					FROM  ".TABLE_PREFIX."posts p
LEFT JOIN ".TABLE_PREFIX."threads t ON (t.tid=p.tid)
WHERE p.visible='0' {$tflist} AND t.firstpost != p.pid

					ORDER BY p.dateline DESC

					ORDER BY p.dateline DESC, p.pid DESC

					LIMIT 1
");
$post = $db->fetch_array($query);

					LIMIT 1
");
$post = $db->fetch_array($query);

Zeile 4690Zeile 4691
				$unapproved_posts = my_number_format($unapproved_posts);

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

				$unapproved_posts = my_number_format($unapproved_posts);

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

			}
else

			}
else

			{
eval("\$latest_post = \"".$templates->get("modcp_awaitingmoderation_none")."\";");
}

			{
eval("\$latest_post = \"".$templates->get("modcp_awaitingmoderation_none")."\";");
}

Zeile 4792Zeile 4793
			if(!$logitem['tsubject'] || !$logitem['fname'] || !$logitem['psubject'])
{
$data = my_unserialize($logitem['data']);

			if(!$logitem['tsubject'] || !$logitem['fname'] || !$logitem['psubject'])
{
$data = my_unserialize($logitem['data']);

				if($data['uid'])

				if(isset($data['uid']))

				{
$information = $lang->sprintf($lang->edited_user_info, htmlspecialchars_uni($data['username']), get_profile_link($data['uid']));
}

				{
$information = $lang->sprintf($lang->edited_user_info, htmlspecialchars_uni($data['username']), get_profile_link($data['uid']));
}

				if($data['aid'])

				if(isset($data['aid']))

				{
$data['subject'] = htmlspecialchars_uni($parser->parse_badwords($data['subject']));
$data['announcement'] = get_announcement_link($data['aid']);

				{
$data['subject'] = htmlspecialchars_uni($parser->parse_badwords($data['subject']));
$data['announcement'] = get_announcement_link($data['aid']);

Zeile 4911Zeile 4912
		eval("\$bannedusers = \"".$templates->get("modcp_nobanned")."\";");
}


		eval("\$bannedusers = \"".$templates->get("modcp_nobanned")."\";");
}


	$modnotes = $cache->read("modnotes");
$modnotes = htmlspecialchars_uni($modnotes['modmessage']);





	$modnotes = '';
$modnotes_cache = $cache->read("modnotes");
if($modnotes_cache !== false)
{
$modnotes = htmlspecialchars_uni($modnotes_cache['modmessage']);
}


$plugins->run_hooks("modcp_end");



$plugins->run_hooks("modcp_end");