Zeile 31 | Zeile 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 51 | Zeile 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)
|
// 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)";
|
$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 88 | Zeile 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 198 | Zeile 194 |
---|
$stats = ''; // Get Forum Statistics if($mybb->settings['portal_showstats'] != 0)
|
$stats = ''; // Get Forum Statistics if($mybb->settings['portal_showstats'] != 0)
|
{
| {
|
$stats = $cache->read("stats"); $stats['numthreads'] = my_number_format($stats['numthreads']); $stats['numposts'] = my_number_format($stats['numposts']); $stats['numusers'] = my_number_format($stats['numusers']); if(!$stats['lastusername'])
|
$stats = $cache->read("stats"); $stats['numthreads'] = my_number_format($stats['numthreads']); $stats['numposts'] = my_number_format($stats['numposts']); $stats['numusers'] = my_number_format($stats['numusers']); if(!$stats['lastusername'])
|
{ $newestmember = "<strong>" . $lang->nobody . "</strong>"; }
| { eval("\$newestmember = \"".$templates->get("portal_stats_nobody")."\";"); }
|
else { $newestmember = build_profile_link($stats['lastusername'], $stats['lastuid']);
| else { $newestmember = build_profile_link($stats['lastusername'], $stats['lastuid']);
|
Zeile 237 | Zeile 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']) {
| { if(empty($doneusers[$user['uid']]) || $doneusers[$user['uid']] < $user['time']) {
|
Zeile 277 | Zeile 270 |
---|
if($user['invisible'] == 1) { ++$anoncount;
|
if($user['invisible'] == 1) { ++$anoncount;
|
}
| }
|
if($user['invisible'] == 1)
|
if($user['invisible'] == 1)
|
{
| {
|
$invisiblemark = "*"; } else { $invisiblemark = '';
|
$invisiblemark = "*"; } else { $invisiblemark = '';
|
}
| }
|
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] && $mybb->settings['woldisplayspiders'] == 1) { // 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 348 | Zeile 376 |
---|
if(!empty($mybb->settings['portal_excludediscussion'])) { $excludeforums = "AND t.fid NOT IN ({$mybb->settings['portal_excludediscussion']})";
|
if(!empty($mybb->settings['portal_excludediscussion'])) { $excludeforums = "AND t.fid NOT IN ({$mybb->settings['portal_excludediscussion']})";
|
}
| }
|
$query = $db->query(" 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)
|
$query = $db->query(" 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'] );
| ORDER BY t.lastpost DESC LIMIT 0, ".$mybb->settings['portal_showdiscussionsnum'] );
|
Zeile 363 | Zeile 391 |
---|
$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']);
// 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'];
| $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 420 | Zeile 460 |
---|
unset($fid);
$announcementsfids = implode(',', $fid_array);
|
unset($fid);
$announcementsfids = implode(',', $fid_array);
|
$annfidswhere = " AND t.fid IN (".$announcementsfids.")"; } }
| $annfidswhere = " AND t.fid IN ($announcementsfids)"; } }
|
// And get them! foreach($forum_cache as $fid => $f) {
| // And get them! foreach($forum_cache as $fid => $f) {
|
Zeile 433 | Zeile 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 443 | Zeile 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 462 | Zeile 502 |
---|
$page = 1; }
|
$page = 1; }
|
$multipage = multipage($announcementcount, $numannouncements, $page, 'portal.php');
| $multipage = multipage($announcementcount, $numannouncements, $page, $file_name);
|
$pids = ''; $tids = '';
| $pids = ''; $tids = '';
|
Zeile 519 | Zeile 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 537 | Zeile 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'];
|
if($announcement['uid'] == 0)
| $announcement['username'] = htmlspecialchars_uni($announcement['username']); if(!$announcement['uid'] && !$announcement['threadusername'])
|
{
|
{
|
$profilelink = htmlspecialchars_uni($announcement['threadusername']);
| $announcement['threadusername'] = htmlspecialchars_uni($lang->guest); } else { $announcement['threadusername'] = htmlspecialchars_uni($announcement['threadusername']); }
if($announcement['uid'] == 0) { $profilelink = $announcement['threadusername'];
|
} else {
| } else {
|
Zeile 550 | Zeile 599 |
---|
if(!$announcement['username']) { $announcement['username'] = $announcement['threadusername'];
|
if(!$announcement['username']) { $announcement['username'] = $announcement['threadusername'];
|
}
| }
|
$announcement['subject'] = htmlspecialchars_uni($parser->parse_badwords($announcement['subject'])); if($announcement['icon'] > 0 && $icon_cache[$announcement['icon']]) {
| $announcement['subject'] = htmlspecialchars_uni($parser->parse_badwords($announcement['subject'])); if($announcement['icon'] > 0 && $icon_cache[$announcement['icon']]) {
|
Zeile 563 | Zeile 612 |
---|
else { $icon = " ";
|
else { $icon = " ";
|
}
| }
|
|
|
$useravatar = format_avatar(htmlspecialchars_uni($announcement['avatar']), $announcement['avatardimensions']);
| $useravatar = format_avatar($announcement['avatar'], $announcement['avatardimensions']);
|
eval("\$avatar = \"".$templates->get("portal_announcement_avatar")."\";");
|
eval("\$avatar = \"".$templates->get("portal_announcement_avatar")."\";");
|
|
|
$anndate = my_date('relative', $announcement['dateline']);
if($announcement['replies']) { eval("\$numcomments = \"".$templates->get("portal_announcement_numcomments")."\";");
|
$anndate = my_date('relative', $announcement['dateline']);
if($announcement['replies']) { eval("\$numcomments = \"".$templates->get("portal_announcement_numcomments")."\";");
|
}
| }
|
else { eval("\$numcomments = \"".$templates->get("portal_announcement_numcomments_no")."\";");
| else { eval("\$numcomments = \"".$templates->get("portal_announcement_numcomments_no")."\";");
|
Zeile 589 | Zeile 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'],
|
Zeile 599 | Zeile 648 |
---|
if($announcement['smilieoff'] == 1) { $parser_options['allow_smilies'] = 0;
|
if($announcement['smilieoff'] == 1) { $parser_options['allow_smilies'] = 0;
|
}
| }
|
|
|
if($mybb->user['showimages'] != 1 && $mybb->user['uid'] != 0 || $mybb->settings['guestimages'] != 1 && $mybb->user['uid'] == 0)
| if($mybb->user['uid'] != 0 && $mybb->user['showimages'] != 1 || $mybb->settings['guestimages'] != 1 && $mybb->user['uid'] == 0)
|
{ $parser_options['allow_imgcode'] = 0; }
|
{ $parser_options['allow_imgcode'] = 0; }
|
if($mybb->user['showvideos'] != 1 && $mybb->user['uid'] != 0 || $mybb->settings['guestvideos'] != 1 && $mybb->user['uid'] == 0)
| if($mybb->user['uid'] != 0 && $mybb->user['showvideos'] != 1 || $mybb->settings['guestvideos'] != 1 && $mybb->user['uid'] == 0)
|
{ $parser_options['allow_videocode'] = 0; }
| { $parser_options['allow_videocode'] = 0; }
|
Zeile 635 | Zeile 684 |
---|
$isimage = false; } $attachment['icon'] = get_attachment_icon($ext);
|
$isimage = false; } $attachment['icon'] = get_attachment_icon($ext);
|
| if(!$attachment['dateuploaded']) { $attachment['dateuploaded'] = $announcement['dateline']; } $attachdate = my_date('normal', $attachment['dateuploaded']);
|
// Support for [attachment=id] code if(stripos($message, "[attachment=".$attachment['aid']."]") !== false) {
| // Support for [attachment=id] code if(stripos($message, "[attachment=".$attachment['aid']."]") !== false) {
|