Vergleich portal.php - 1.8.2 - 1.8.26

  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
{

		}
else
{

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 237Zeile 233
	}

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

	}

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

	$comma = '';

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

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

	$onlinemembers = '';
$doneusers = array();




	$doneusers = $onlinemembers = $onlinebots = array();

$query = $db->simple_select("sessions", "COUNT(DISTINCT ip) AS guestcount", "uid = 0 AND time > $timesearch");
$guestcount = $db->fetch_field($query, "guestcount");


	$query = $db->query("

	$query = $db->query("

		SELECT s.sid, s.ip, s.uid, s.time, s.location, u.username, u.invisible, u.usergroup, u.displaygroup
FROM ".TABLE_PREFIX."sessions s
LEFT JOIN ".TABLE_PREFIX."users u ON (s.uid=u.uid)
WHERE s.time>'$timesearch'



		SELECT
s.sid, s.ip, s.uid, s.time, s.location, u.username, u.invisible, u.usergroup, u.displaygroup
FROM
".TABLE_PREFIX."sessions s
LEFT JOIN ".TABLE_PREFIX."users u ON (s.uid=u.uid)
WHERE (s.uid != 0 OR SUBSTR(s.sid,4,1) = '=') AND s.time > $timesearch

		ORDER BY {$order_by}, {$order_by2}
");

		ORDER BY {$order_by}, {$order_by2}
");

 

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


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

// Create a key to test if this user is a search bot.
$botkey = my_strtolower(str_replace("bot=", '', $user['sid']));

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

// Create a key to test if this user is a search bot.
$botkey = my_strtolower(str_replace("bot=", '', $user['sid']));


if($user['uid'] == "0")
{
++$guestcount;
}
elseif(my_strpos($user['sid'], "bot=") !== false && $session->bots[$botkey])
{
// The user is a search bot.
$onlinemembers .= $comma.format_name($session->bots[$botkey], $session->botgroup);
$comma = $lang->comma;
++$botcount;
}
else


if($user['uid'] > 0)












		{
if(empty($doneusers[$user['uid']]) || $doneusers[$user['uid']] < $user['time'])
{
++$membercount;

		{
if(empty($doneusers[$user['uid']]) || $doneusers[$user['uid']] < $user['time'])
{
++$membercount;





				$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.

Zeile 282Zeile 275
				if($user['invisible'] == 1)
{
$invisiblemark = "*";

				if($user['invisible'] == 1)
{
$invisiblemark = "*";

				}

				}

				else
{
$invisiblemark = '';

				else
{
$invisiblemark = '';

Zeile 290Zeile 283

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

					$user['profilelink'] = get_profile_link($user['uid']);

					eval("\$onlinemembers .= \"".$templates->get("portal_whosonline_memberbit", 1, 0)."\";");
$comma = $lang->comma;

					eval("\$onlinemembers[] = \"".$templates->get("portal_whosonline_memberbit", 1, 0)."\";");


				}
}
}

				}
}
}

 
		elseif(my_strpos($user['sid'], 'bot=') !== false && $spiders[$botkey])
{
// The user is a search bot.
if($mybb->settings['wolorder'] == 'username')
{
$key = $spiders[$botkey]['name'];
}
else
{
$key = $user['time'];
}

$onlinebots[$key] = format_name($spiders[$botkey]['name'], $spiders[$botkey]['usergroup']);
++$botcount;
}
}

if($mybb->settings['wolorder'] == 'activity')
{
// activity ordering is DESC, username is ASC
krsort($onlinebots);
}
else
{
ksort($onlinebots);
}

$onlinemembers = array_merge($onlinebots, $onlinemembers);
if(!empty($onlinemembers))
{
$comma = $lang->comma." ";
$onlinemembers = implode($comma, $onlinemembers);
}
else
{
$onlinemembers = "";

	}

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

	}

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

Zeile 354Zeile 382
		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)

		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)

		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']
);
while($thread = $db->fetch_array($query))

		ORDER BY t.lastpost DESC
LIMIT 0, ".$mybb->settings['portal_showdiscussionsnum']
);
while($thread = $db->fetch_array($query))

	{

	{

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

		{
continue;

		}

		}


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


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

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

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

		{
$lastposterlink = $thread['lastposter'];

		{
$lastposterlink = $lastposter;

		}
else

		}
else

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

		{
$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['forumlink'] = get_forum_link($thread['fid']);

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

Zeile 421Zeile 461

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



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


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

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

		}
}


		}
}


Zeile 433Zeile 473
			$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");


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


Zeile 443Zeile 483
		$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);


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


Zeile 462Zeile 502
		$page = 1;
}


		$page = 1;
}


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

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


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


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

Zeile 519Zeile 559
			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;
}

Zeile 537Zeile 577
			$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 605
			{
$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 614
				$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 638
			$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'],