Vergleich portal.php - 1.8.0 - 1.8.16

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 31Zeile 31
	}
}


	}
}


$templatelist = "portal,portal_welcome_membertext,portal_stats,portal_search,portal_whosonline_memberbit,portal_whosonline,portal_latestthreads_thread,portal_latestthreads,portal_announcement_numcomments_no,portal_announcement,portal_welcome";
$templatelist .= ",portal_welcome_guesttext,postbit_attachments_thumbnails_thumbnail,postbit_attachments_images_image,postbit_attachments_attachment,postbit_attachments_thumbnails,postbit_attachments_images,postbit_attachments,portal_pms";
$templatelist .= ",multipage,multipage_end,multipage_jump_page,multipage_nextpage,multipage_page,multipage_page_current,multipage_page_link_current,multipage_prevpage,multipage_start,portal_announcement_send_item,portal_announcement_icon,portal_announcement_avatar,portal_announcement_numcomments";


$templatelist = "portal,portal_welcome_membertext,portal_stats,portal_search,portal_whosonline_memberbit,portal_whosonline,portal_latestthreads_thread,portal_latestthreads,portal_announcement_numcomments_no";
$templatelist .= ",postbit_attachments_thumbnails_thumbnail,postbit_attachments_images_image,postbit_attachments_attachment,postbit_attachments_thumbnails,postbit_attachments_images,postbit_attachments";
$templatelist .= ",multipage,multipage_end,multipage_jump_page,multipage_nextpage,multipage_page,multipage_page_current,multipage_page_link_current,multipage_prevpage,multipage_start,portal_announcement_send_item";
$templatelist .= ",portal_stats_nobody,portal_announcement_avatar,portal_announcement_numcomments,portal_announcement_icon,portal_pms,portal_welcome,portal_announcement,portal_welcome_guesttext";


require_once $change_dir."/global.php";
require_once MYBB_ROOT."inc/functions_post.php";


require_once $change_dir."/global.php";
require_once MYBB_ROOT."inc/functions_post.php";

Zeile 51Zeile 52

// Fetch the current URL
$portal_url = get_current_location();


// Fetch the current URL
$portal_url = get_current_location();

 
$file_name = strtok(my_strtolower(basename($portal_url)), '?');





add_breadcrumb($lang->nav_portal, "portal.php");

add_breadcrumb($lang->nav_portal, $file_name);


$plugins->run_hooks("portal_start");



$plugins->run_hooks("portal_start");




$tunviewwhere = $unviewwhere = '';

// get forums user cannot view
$unviewable = get_unviewable_forums(true);
if($unviewable)
{
$unviewwhere = " AND fid NOT IN ($unviewable)";
$tunviewwhere = " AND t.fid NOT IN ($unviewable)";

// get forums user cannot view
$unviewable = get_unviewable_forums(true);
if($unviewable)
{
$unviewwhere = " AND fid NOT IN ($unviewable)";
$tunviewwhere = " AND t.fid NOT IN ($unviewable)";

}
else
{
$unviewwhere = '';
}

}






// get inactive forums
$inactive = get_inactive_forums();
if($inactive)
{


// get inactive forums
$inactive = get_inactive_forums();
if($inactive)
{

	$inactivewhere = " AND fid NOT IN ($inactive)";
$tinactivewhere = " AND t.fid NOT IN ($inactive)";
}
else
{
$inactivewhere = '';

	$unviewwhere .= " AND fid NOT IN ($inactive)";
$tunviewwhere .= " AND t.fid NOT IN ($inactive)";





}

}

 

$mybb->user['username'] = htmlspecialchars_uni($mybb->user['username']);


$welcome = '';
// If user is known, welcome them


$welcome = '';
// If user is known, welcome them

Zeile 88Zeile 84
	if($mybb->user['uid'] != 0)
{
// Get number of new posts, threads, announcements

	if($mybb->user['uid'] != 0)
{
// Get number of new posts, threads, announcements

		$query = $db->simple_select("posts", "COUNT(pid) AS newposts", "visible=1 AND dateline>'".$mybb->user['lastvisit']."'{$unviewwhere}{$inactivewhere}");

		$query = $db->simple_select("posts", "COUNT(pid) AS newposts", "visible=1 AND dateline>'".$mybb->user['lastvisit']."'{$unviewwhere}");

		$newposts = $db->fetch_field($query, "newposts");
if($newposts)
{
// If there aren't any new posts, there is no point in wasting two more queries

		$newposts = $db->fetch_field($query, "newposts");
if($newposts)
{
// If there aren't any new posts, there is no point in wasting two more queries

			$query = $db->simple_select("threads", "COUNT(tid) AS newthreads", "visible=1 AND dateline>'".$mybb->user['lastvisit']."'{$unviewwhere}{$inactivewhere}");

			$query = $db->simple_select("threads", "COUNT(tid) AS newthreads", "visible=1 AND dateline>'".$mybb->user['lastvisit']."'{$unviewwhere}");

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

$newann = 0;

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

$newann = 0;

Zeile 112Zeile 108
						unset($fid);

$announcementsfids = implode(',', $announcementsfids);

						unset($fid);

$announcementsfids = implode(',', $announcementsfids);





						$annfidswhere = " AND fid IN (".$announcementsfids.")";
}
}

$query = $db->simple_select("threads", "COUNT(tid) AS newann", "visible=1 AND dateline>'".$mybb->user['lastvisit']."'{$annfidswhere}{$unviewwhere}");
$newann = $db->fetch_field($query, "newann");

						$annfidswhere = " AND fid IN (".$announcementsfids.")";
}
}

$query = $db->simple_select("threads", "COUNT(tid) AS newann", "visible=1 AND dateline>'".$mybb->user['lastvisit']."'{$annfidswhere}{$unviewwhere}");
$newann = $db->fetch_field($query, "newann");

			}
}

			}
}

		else
{
$newposts = 0;

		else
{
$newposts = 0;

Zeile 205Zeile 201
	$stats['numusers'] = my_number_format($stats['numusers']);
if(!$stats['lastusername'])
{

	$stats['numusers'] = my_number_format($stats['numusers']);
if(!$stats['lastusername'])
{

		$newestmember = "<strong>" . $lang->nobody . "</strong>";

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

	}
else
{

	}
else
{

Zeile 234Zeile 230
	{
$order_by = 's.time DESC';
$order_by2 = 'u.username ASC';

	{
$order_by = 's.time DESC';
$order_by2 = 'u.username ASC';

	}


	}


	$timesearch = TIME_NOW - $mybb->settings['wolcutoff'];

	$timesearch = TIME_NOW - $mybb->settings['wolcutoff'];

	$comma = '';

 
	$guestcount = $membercount = $botcount = $anoncount = 0;

	$guestcount = $membercount = $botcount = $anoncount = 0;

	$onlinemembers = '';

	$onlinemembers = $onlinebots = $comma = '';

	$doneusers = array();
$query = $db->query("
SELECT s.sid, s.ip, s.uid, s.time, s.location, u.username, u.invisible, u.usergroup, u.displaygroup

	$doneusers = array();
$query = $db->query("
SELECT s.sid, s.ip, s.uid, s.time, s.location, u.username, u.invisible, u.usergroup, u.displaygroup

Zeile 248Zeile 243
		WHERE s.time>'$timesearch'
ORDER BY {$order_by}, {$order_by2}
");

		WHERE s.time>'$timesearch'
ORDER BY {$order_by}, {$order_by2}
");

 

// Fetch spiders
$spiders = $cache->read('spiders');


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


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


Zeile 257Zeile 256
		if($user['uid'] == "0")
{
++$guestcount;

		if($user['uid'] == "0")
{
++$guestcount;

		}
elseif(my_strpos($user['sid'], "bot=") !== false && $session->bots[$botkey])
{

		}
elseif(my_strpos($user['sid'], 'bot=') !== false && $spiders[$botkey])
{

			// The user is a search bot.

			// The user is a search bot.

			$onlinemembers .= $comma.format_name($session->bots[$botkey], $session->botgroup);

			$onlinebots .= $comma.format_name($spiders[$botkey]['name'], $spiders[$botkey]['usergroup']);

			$comma = $lang->comma;
++$botcount;
}

			$comma = $lang->comma;
++$botcount;
}

Zeile 274Zeile 273
				$doneusers[$user['uid']] = $user['time'];

// If the user is logged in anonymously, update the count for that.

				$doneusers[$user['uid']] = $user['time'];

// If the user is logged in anonymously, update the count for that.

				if($user['invisible'] == 1)

				if($user['invisible'] == 1)

				{
++$anoncount;
}

				{
++$anoncount;
}

Zeile 290Zeile 289

if(($user['invisible'] == 1 && ($mybb->usergroup['canviewwolinvis'] == 1 || $user['uid'] == $mybb->user['uid'])) || $user['invisible'] != 1)
{


if(($user['invisible'] == 1 && ($mybb->usergroup['canviewwolinvis'] == 1 || $user['uid'] == $mybb->user['uid'])) || $user['invisible'] != 1)
{

					$user['username'] = format_name($user['username'], $user['usergroup'], $user['displaygroup']);

					$user['username'] = format_name(htmlspecialchars_uni($user['username']), $user['usergroup'], $user['displaygroup']);

					$user['profilelink'] = get_profile_link($user['uid']);
eval("\$onlinemembers .= \"".$templates->get("portal_whosonline_memberbit", 1, 0)."\";");
$comma = $lang->comma;
}

					$user['profilelink'] = get_profile_link($user['uid']);
eval("\$onlinemembers .= \"".$templates->get("portal_whosonline_memberbit", 1, 0)."\";");
$comma = $lang->comma;
}

			}
}










			}
}
}

if(trim($onlinebots) == "" || trim($onlinemembers) == "")
{
$comma = "";
}
else
{
$comma = $lang->comma;

	}

	}

 

$onlinemembers = $onlinebots.$comma.$onlinemembers;


$onlinecount = $membercount + $guestcount + $botcount;



$onlinecount = $membercount + $guestcount + $botcount;


Zeile 351Zeile 361
	}

$query = $db->query("

	}

$query = $db->query("

		SELECT t.tid, t.fid, t.uid, t.lastpost, t.lastposteruid, t.lastposter, t.subject, u.username

		SELECT t.tid, t.fid, t.uid, t.lastpost, t.lastposteruid, t.lastposter, t.subject, t.replies, t.views, u.username

		FROM ".TABLE_PREFIX."threads t
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=t.uid)

		FROM ".TABLE_PREFIX."threads t
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=t.uid)

		WHERE 1=1 {$excludeforums}{$tunviewwhere}{$tinactivewhere} AND t.visible='1' AND t.closed NOT LIKE 'moved|%'

		WHERE 1=1 {$excludeforums}{$tunviewwhere} AND t.visible='1' AND t.closed NOT LIKE 'moved|%'

		ORDER BY t.lastpost DESC
LIMIT 0, ".$mybb->settings['portal_showdiscussionsnum']
);

		ORDER BY t.lastpost DESC
LIMIT 0, ".$mybb->settings['portal_showdiscussionsnum']
);

Zeile 363Zeile 373
		$forumpermissions[$thread['fid']] = forum_permissions($thread['fid']);

// Make sure we can view this thread

		$forumpermissions[$thread['fid']] = forum_permissions($thread['fid']);

// Make sure we can view this thread

		if($forumpermissions[$thread['fid']]['canview'] == 0 || $forumpermissions[$thread['fid']]['canviewthreads'] == 0 || (isset($forumpermissions[$thread['fid']]['canonlyviewownthreads']) && $forumpermissions[$thread['fid']]['canonlyviewownthreads'] == 1 && $thread['uid'] != $mybb->user['uid']))

		if(isset($forumpermissions[$thread['fid']]['canonlyviewownthreads']) && $forumpermissions[$thread['fid']]['canonlyviewownthreads'] == 1 && $thread['uid'] != $mybb->user['uid'])

		{
continue;
}

$lastpostdate = my_date('relative', $thread['lastpost']);

		{
continue;
}

$lastpostdate = my_date('relative', $thread['lastpost']);

 
		if(!$thread['lastposteruid'] && !$thread['lastposter'])
{
$lastposter = htmlspecialchars_uni($lang->guest);
}
else
{
$lastposter = htmlspecialchars_uni($thread['lastposter']);
}

		$thread['replies'] = my_number_format($thread['replies']);
$thread['views'] = my_number_format($thread['views']);

// Don't link to guest's profiles (they have no profile).
if($thread['lastposteruid'] == 0)
{

		$thread['replies'] = my_number_format($thread['replies']);
$thread['views'] = my_number_format($thread['views']);

// Don't link to guest's profiles (they have no profile).
if($thread['lastposteruid'] == 0)
{

			$lastposterlink = $thread['lastposter'];
}
else
{
$lastposterlink = build_profile_link($thread['lastposter'], $thread['lastposteruid']);

			$lastposterlink = $lastposter;
}
else
{
$lastposterlink = build_profile_link($lastposter, $thread['lastposteruid']);

		}

		}

 

$thread['subject'] = $thread['fullsubject'] = $parser->parse_badwords($thread['subject']);

		if(my_strlen($thread['subject']) > 25)
{
$thread['subject'] = my_substr($thread['subject'], 0, 25) . "...";
}

		if(my_strlen($thread['subject']) > 25)
{
$thread['subject'] = my_substr($thread['subject'], 0, 25) . "...";
}

		$thread['subject'] = htmlspecialchars_uni($parser->parse_badwords($thread['subject']));



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


		$thread['threadlink'] = get_thread_link($thread['tid']);
$thread['lastpostlink'] = get_thread_link($thread['tid'], 0, "lastpost");

		$thread['threadlink'] = get_thread_link($thread['tid']);
$thread['lastpostlink'] = get_thread_link($thread['tid'], 0, "lastpost");

		$thread['forumlink'] = get_thread_link($thread['fid']);

		$thread['forumlink'] = get_forum_link($thread['fid']);

		$thread['forumname'] = $forum_cache[$thread['fid']]['name'];
eval("\$threadlist .= \"".$templates->get("portal_latestthreads_thread")."\";");
$altbg = alt_trow();

		$thread['forumname'] = $forum_cache[$thread['fid']]['name'];
eval("\$threadlist .= \"".$templates->get("portal_latestthreads_thread")."\";");
$altbg = alt_trow();

Zeile 421Zeile 443

$announcementsfids = implode(',', $fid_array);



$announcementsfids = implode(',', $fid_array);


			$annfidswhere = " AND t.fid IN (".$announcementsfids.")";

			$annfidswhere = " AND t.fid IN ($announcementsfids)";

		}
}


		}
}


Zeile 433Zeile 455
			$forum[$fid] = $f;
}
}

			$forum[$fid] = $f;
}
}

	



	$query = $db->simple_select("threads t", "COUNT(t.tid) AS threads", "t.visible='1'{$annfidswhere}{$tunviewwhere} AND t.closed NOT LIKE 'moved|%'", array('limit' => 1));
$announcementcount = $db->fetch_field($query, "threads");

$numannouncements = (int)$mybb->settings['portal_numannouncements'];
if(!$numannouncements)

	$query = $db->simple_select("threads t", "COUNT(t.tid) AS threads", "t.visible='1'{$annfidswhere}{$tunviewwhere} AND t.closed NOT LIKE 'moved|%'", array('limit' => 1));
$announcementcount = $db->fetch_field($query, "threads");

$numannouncements = (int)$mybb->settings['portal_numannouncements'];
if(!$numannouncements)

	{

	{

		$numannouncements = 10; // Default back to 10
}


		$numannouncements = 10; // Default back to 10
}


	$page = $mybb->get_input('page', 1);

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

	$pages = $announcementcount / $numannouncements;
$pages = ceil($pages);

if($page > $pages || $page <= 0)

	$pages = $announcementcount / $numannouncements;
$pages = ceil($pages);

if($page > $pages || $page <= 0)

	{
$page = 1;
}


	{
$page = 1;
}


	if($page)
{
$start = ($page-1) * $numannouncements;

	if($page)
{
$start = ($page-1) * $numannouncements;

Zeile 462Zeile 484
		$page = 1;
}


		$page = 1;
}


	$multipage = multipage($announcementcount, $numannouncements, $page, 'portal.php');


	$multipage = multipage($announcementcount, $numannouncements, $page, $file_name);


	$pids = '';
$tids = '';
$comma = '';

	$pids = '';
$tids = '';
$comma = '';

Zeile 478Zeile 500
		LIMIT {$start}, {$numannouncements}"
);
while($getid = $db->fetch_array($query))

		LIMIT {$start}, {$numannouncements}"
);
while($getid = $db->fetch_array($query))

	{

	{

		$attachmentcount[$getid['tid']] = $getid['attachmentcount'];
foreach($attachmentcount as $tid => $attach_count)
{
if($attach_count > 0)
{
$pids .= ",'{$getid['pid']}'";

		$attachmentcount[$getid['tid']] = $getid['attachmentcount'];
foreach($attachmentcount as $tid => $attach_count)
{
if($attach_count > 0)
{
$pids .= ",'{$getid['pid']}'";

			}

			}


$posts[$getid['tid']] = $getid;
}


$posts[$getid['tid']] = $getid;
}

Zeile 506Zeile 528
		}

if(is_array($forum))

		}

if(is_array($forum))

		{

		{

			foreach($forum as $fid => $forumrow)
{
$forumpermissions[$fid] = forum_permissions($fid);

			foreach($forum as $fid => $forumrow)
{
$forumpermissions[$fid] = forum_permissions($fid);

Zeile 519Zeile 541
			SELECT t.*, t.username AS threadusername, u.username, u.avatar, u.avatardimensions
FROM ".TABLE_PREFIX."threads t
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid = t.uid)

			SELECT t.*, t.username AS threadusername, u.username, u.avatar, u.avatardimensions
FROM ".TABLE_PREFIX."threads t
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid = t.uid)

			WHERE t.tid IN (0{$tids}){$annfidswhere} AND t.visible='1' AND t.closed NOT LIKE 'moved|%'

			WHERE t.tid IN (0{$tids}){$annfidswhere}{$tunviewwhere} AND t.visible='1' AND t.closed NOT LIKE 'moved|%'

			ORDER BY t.dateline DESC
LIMIT 0, {$numannouncements}"
);
while($announcement = $db->fetch_array($query))
{
// Make sure we can view this announcement

			ORDER BY t.dateline DESC
LIMIT 0, {$numannouncements}"
);
while($announcement = $db->fetch_array($query))
{
// Make sure we can view this announcement

			if($forumpermissions[$announcement['fid']]['canview'] == 0 || $forumpermissions[$announcement['fid']]['canviewthreads'] == 0 || (isset($forumpermissions[$announcement['fid']]['canonlyviewownthreads']) && $forumpermissions[$announcement['fid']]['canonlyviewownthreads'] == 1 && $announcement['uid'] != $mybb->user['uid']))

			if(isset($forumpermissions[$announcement['fid']]['canonlyviewownthreads']) && $forumpermissions[$announcement['fid']]['canonlyviewownthreads'] == 1 && $announcement['uid'] != $mybb->user['uid'])

			{
continue;

			{
continue;

			}

			}


$announcement['message'] = $posts[$announcement['tid']]['message'];
$announcement['pid'] = $posts[$announcement['tid']]['pid'];


$announcement['message'] = $posts[$announcement['tid']]['message'];
$announcement['pid'] = $posts[$announcement['tid']]['pid'];

Zeile 537Zeile 559
			$announcement['threadlink'] = get_thread_link($announcement['tid']);
$announcement['forumlink'] = get_forum_link($announcement['fid']);
$announcement['forumname'] = $forum_cache[$announcement['fid']]['name'];

			$announcement['threadlink'] = get_thread_link($announcement['tid']);
$announcement['forumlink'] = get_forum_link($announcement['fid']);
$announcement['forumname'] = $forum_cache[$announcement['fid']]['name'];

 
			$announcement['username'] = htmlspecialchars_uni($announcement['username']);
if(!$announcement['uid'] && !$announcement['threadusername'])
{
$announcement['threadusername'] = htmlspecialchars_uni($lang->guest);
}
else
{
$announcement['threadusername'] = htmlspecialchars_uni($announcement['threadusername']);
}


if($announcement['uid'] == 0)
{


if($announcement['uid'] == 0)
{

				$profilelink = htmlspecialchars_uni($announcement['threadusername']);

				$profilelink = $announcement['threadusername'];

			}
else
{

			}
else
{

Zeile 556Zeile 587
			{
$icon = $icon_cache[$announcement['icon']];
$icon['path'] = str_replace("{theme}", $theme['imgdir'], $icon['path']);

			{
$icon = $icon_cache[$announcement['icon']];
$icon['path'] = str_replace("{theme}", $theme['imgdir'], $icon['path']);

 
				$icon['path'] = htmlspecialchars_uni($icon['path']);
$icon['name'] = htmlspecialchars_uni($icon['name']);

				eval("\$icon = \"".$templates->get("portal_announcement_icon")."\";");
}
else

				eval("\$icon = \"".$templates->get("portal_announcement_icon")."\";");
}
else

Zeile 563Zeile 596
				$icon = "&nbsp;";
}


				$icon = "&nbsp;";
}


			$useravatar = format_avatar(htmlspecialchars_uni($announcement['avatar']), $announcement['avatardimensions']);

			$useravatar = format_avatar($announcement['avatar'], $announcement['avatardimensions']);

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

$anndate = my_date('relative', $announcement['dateline']);

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

$anndate = my_date('relative', $announcement['dateline']);

Zeile 587Zeile 620
			$plugins->run_hooks("portal_announcement");

$parser_options = array(

			$plugins->run_hooks("portal_announcement");

$parser_options = array(

				"allow_html" => $forum[$announcement['fid']]['allowhtml'],

				"allow_html" => $mybb->settings['announcementshtml'] && $forum[$announcement['fid']]['allowhtml'],

				"allow_mycode" => $forum[$announcement['fid']]['allowmycode'],
"allow_smilies" => $forum[$announcement['fid']]['allowsmilies'],
"allow_imgcode" => $forum[$announcement['fid']]['allowimgcode'],

				"allow_mycode" => $forum[$announcement['fid']]['allowmycode'],
"allow_smilies" => $forum[$announcement['fid']]['allowsmilies'],
"allow_imgcode" => $forum[$announcement['fid']]['allowimgcode'],