Zeile 3 | Zeile 3 |
---|
* MyBB 1.2 * Copyright � 2006 MyBB Group, All Rights Reserved *
|
* MyBB 1.2 * Copyright � 2006 MyBB Group, All Rights Reserved *
|
* Website: http://www.mybboard.com * License: http://www.mybboard.com/eula.html
| * Website: http://www.mybboard.net * License: http://www.mybboard.net/eula.html
|
*
|
*
|
* $Id: portal.php 2164 2006-08-30 06:17:49Z chris $
| * $Id: portal.php 3595 2008-01-09 00:10:57Z Tikitiki $
|
*/
define("IN_MYBB", 1);
|
*/
define("IN_MYBB", 1);
|
| define("IN_PORTAL", 1);
|
// set the path to your forums directory here (without trailing slash) $forumdir = "./";
// end editing
|
// set the path to your forums directory here (without trailing slash) $forumdir = "./";
// end editing
|
if(!chdir($forumdir) && $forumdir)
| $change_dir = "./";
if(!@chdir($forumdir) && !empty($forumdir))
|
{
|
{
|
die("\$forumdir is invalid!");
| if(@is_dir($forumdir)) { $change_dir = $forumdir; } else { die("\$forumdir is invalid!"); }
|
}
|
}
|
$templatelist = "portal_welcome,portal_welcome_membertext,portal_stats,portal_search,portal_whosonline_memberbit,portal_whosonline,portal_latestthreads_thread_lastpost,portal_latestthreads_thread,portal_latestthreads,portal_announcement_numcomments_no,portal_announcement,portal_announcement_numcomments,portal";
require_once "./global.php";
| $templatelist = "portal_welcome,portal_welcome_membertext,portal_stats,portal_search,portal_whosonline_memberbit,portal_whosonline,portal_latestthreads_thread_lastpost,portal_latestthreads_thread,portal_latestthreads,portal_announcement_numcomments_no,portal_announcement,portal_announcement_numcomments,portal";
require_once $change_dir."/global.php";
|
require_once MYBB_ROOT."inc/functions_post.php"; require_once MYBB_ROOT."inc/functions_user.php"; require_once MYBB_ROOT."inc/class_parser.php"; $parser = new postParser;
global $theme, $templates;
|
require_once MYBB_ROOT."inc/functions_post.php"; require_once MYBB_ROOT."inc/functions_user.php"; require_once MYBB_ROOT."inc/class_parser.php"; $parser = new postParser;
global $theme, $templates;
|
| // Fetch the current URL $portal_url = get_current_location();
|
// Load global language phrases $lang->load("portal");
| // Load global language phrases $lang->load("portal");
|
Zeile 70 | Zeile 82 |
---|
}
my_setcookie('loginattempts', 1);
|
}
my_setcookie('loginattempts', 1);
|
$db->delete_query(TABLE_PREFIX."sessions", "ip='".$session->ipaddress."' AND sid != '".$session->sid."'");
| $db->delete_query(TABLE_PREFIX."sessions", "ip='".$db->escape_string($session->ipaddress)."' AND sid != '".$session->sid."'");
|
$newsession = array( "uid" => $user['uid'], "loginattempts" => 1,
| $newsession = array( "uid" => $user['uid'], "loginattempts" => 1,
|
Zeile 80 | Zeile 92 |
---|
// Temporarily set the cookie remember option for the login cookies $mybb->user['remember'] = $user['remember'];
|
// Temporarily set the cookie remember option for the login cookies $mybb->user['remember'] = $user['remember'];
|
my_setcookie("mybbuser", $user['uid']."_".$user['loginkey']); my_setcookie("sid", $session->sid, -1);
| my_setcookie("mybbuser", $user['uid']."_".$user['loginkey'], null, true); my_setcookie("sid", $session->sid, -1, true);
|
if(function_exists("loggedIn")) {
| if(function_exists("loggedIn")) {
|
Zeile 95 | Zeile 107 |
---|
$plugins->run_hooks("portal_start");
|
$plugins->run_hooks("portal_start");
|
| // First validate announcement fids: $mybb->settings['portal_announcementsfid'] = explode(',', $mybb->settings['portal_announcementsfid']); if(is_array($mybb->settings['portal_announcementsfid'])) { foreach($mybb->settings['portal_announcementsfid'] as $fid) { $fid_array[] = intval($fid); } $mybb->settings['portal_announcementsfid'] = implode(',', $fid_array); }
|
// get forums user cannot view $unviewable = get_unviewable_forums(); if($unviewable)
|
// get forums user cannot view $unviewable = get_unviewable_forums(); if($unviewable)
|
{
| {
|
$unviewwhere = " AND fid NOT IN ($unviewable)"; } // If user is known, welcome them
| $unviewwhere = " AND fid NOT IN ($unviewable)"; } // If user is known, welcome them
|
Zeile 114 | Zeile 136 |
---|
if(!$messages['pms_new']) { $messages['pms_new'] = 0;
|
if(!$messages['pms_new']) { $messages['pms_new'] = 0;
|
}
| }
|
// the SUM() thing returns "" instead of 0 if($messages['pms_unread'] == "") {
| // the SUM() thing returns "" instead of 0 if($messages['pms_unread'] == "") {
|
Zeile 133 | Zeile 155 |
---|
$query = $db->simple_select(TABLE_PREFIX."threads", "COUNT(tid) AS newann", "dateline>'".$mybb->user['lastvisit']."' AND fid IN (".$mybb->settings['portal_announcementsfid'].") $unviewwhere"); $newann = $db->fetch_field($query, "newann"); if(!$newthreads)
|
$query = $db->simple_select(TABLE_PREFIX."threads", "COUNT(tid) AS newann", "dateline>'".$mybb->user['lastvisit']."' AND fid IN (".$mybb->settings['portal_announcementsfid'].") $unviewwhere"); $newann = $db->fetch_field($query, "newann"); if(!$newthreads)
|
{
| {
|
$newthreads = 0; } if(!$newann)
| $newthreads = 0; } if(!$newann)
|
Zeile 193 | Zeile 215 |
---|
if($mybb->settings['portal_showstats'] != "no") { $stats = $cache->read("stats");
|
if($mybb->settings['portal_showstats'] != "no") { $stats = $cache->read("stats");
|
$threadsnum = $stats['numthreads']; $postsnum = $stats['numposts']; $membersnum = $stats['numusers'];
| $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 = "<b>" . $lang->no_one . "</b>";
| if(!$stats['lastusername']) { $newestmember = "<b>" . $lang->no_one . "</b>";
|
Zeile 228 | Zeile 250 |
---|
"); while($user = $db->fetch_array($query)) {
|
"); while($user = $db->fetch_array($query)) {
|
| // Create a key to test if this user is a search bot. $botkey = strtolower(str_replace("bot=", '', $user['sid']));
|
if($user['uid'] == "0") {
|
if($user['uid'] == "0") {
|
$guestcount++;
| ++$guestcount; } elseif(strpos($user['sid'], "bot=") !== false && $session->bots[$botkey]) { // The user is a search bot. $onlinemembers .= $comma.format_name($session->bots[$botkey], $session->botgroup); $comma = ", "; ++$botcount;
|
} else { if($doneusers[$user['uid']] < $user['time'] || !$doneusers[$user['uid']])
|
} else { if($doneusers[$user['uid']] < $user['time'] || !$doneusers[$user['uid']])
|
{
| {
|
$doneusers[$user['uid']] = $user['time'];
|
$doneusers[$user['uid']] = $user['time'];
|
$membercount++; if($user['invisible'] != "yes" || $mybb->usergroup['canviewwolinvis'] == "yes")
| // If the user is logged in anonymously, update the count for that. if($user['invisible'] == "yes") { ++$anoncount; } else { ++$membercount; } if($user['invisible'] == "yes") { $invisiblemark = "*"; } else { $invisiblemark = ''; } if(($user['invisible'] == "yes" && ($mybb->usergroup['canviewwolinvis'] == "yes" || $user['uid'] == $mybb->user['uid'])) || $user['invisible'] != "yes")
|
{
|
{
|
if($user['invisible'] == "yes") { $invisiblemark = "*"; } else { $invisiblemark = ''; }
| |
$user['username'] = format_name($user['username'], $user['usergroup'], $user['displaygroup']);
|
$user['username'] = format_name($user['username'], $user['usergroup'], $user['displaygroup']);
|
| $user['profilelink'] = get_profile_link($user['uid']);
|
eval("\$onlinemembers .= \"".$templates->get("portal_whosonline_memberbit", 1, 0)."\";"); $comma = ", "; } } } }
|
eval("\$onlinemembers .= \"".$templates->get("portal_whosonline_memberbit", 1, 0)."\";"); $comma = ", "; } } } }
|
$onlinecount = $membercount + $guestcount + $anoncount;
| $onlinecount = $membercount + $guestcount + $botcount; // If we can see invisible users add them to the count if($mybb->usergroup['canviewwolinvis'] == "yes") { $onlinecount += $anoncount; } // If we can't see invisible users but the user is an invisible user incriment the count by one if($mybb->usergroup['canviewwolinvis'] != "yes" && $mybb->user['invisible'] == "yes") { ++$onlinecount; }
|
// Most users online $mostonline = $cache->read("mostonline"); if($onlinecount > $mostonline['numusers'])
|
// Most users online $mostonline = $cache->read("mostonline"); if($onlinecount > $mostonline['numusers'])
|
{
| {
|
$time = time(); $mostonline['numusers'] = $onlinecount; $mostonline['time'] = $time;
| $time = time(); $mostonline['numusers'] = $onlinecount; $mostonline['time'] = $time;
|
Zeile 270 | Zeile 327 |
---|
$recorddate = my_date($mybb->settings['dateformat'], $mostonline['time']); $recordtime = my_date($mybb->settings['timeformat'], $mostonline['time']);
|
$recorddate = my_date($mybb->settings['dateformat'], $mostonline['time']); $recordtime = my_date($mybb->settings['timeformat'], $mostonline['time']);
|
$lang->online_users = sprintf($lang->online_users, $onlinecount);
| if($onlinecount == 1) { $lang->online_users = $lang->online_user; } else { $lang->online_users = sprintf($lang->online_users, $onlinecount); }
|
$lang->online_counts = sprintf($lang->online_counts, $membercount, $guestcount); eval("\$whosonline = \"".$templates->get("portal_whosonline")."\";"); }
| $lang->online_counts = sprintf($lang->online_counts, $membercount, $guestcount); eval("\$whosonline = \"".$templates->get("portal_whosonline")."\";"); }
|
Zeile 278 | Zeile 342 |
---|
// Latest forum discussions if($mybb->settings['portal_showdiscussions'] != "no" && $mybb->settings['portal_showdiscussionsnum']) {
|
// Latest forum discussions if($mybb->settings['portal_showdiscussions'] != "no" && $mybb->settings['portal_showdiscussionsnum']) {
|
$altbg = "trow1";
| $altbg = alt_trow();
|
$threadlist = ''; $query = $db->query(" SELECT t.*, u.username
| $threadlist = ''; $query = $db->query(" SELECT t.*, u.username
|
Zeile 298 | Zeile 362 |
---|
$lastposterlink = $thread['lastposter']; } else
|
$lastposterlink = $thread['lastposter']; } else
|
{
| {
|
$lastposterlink = build_profile_link($thread['lastposter'], $thread['lastposteruid']); } if(my_strlen($thread['subject']) > 25)
| $lastposterlink = build_profile_link($thread['lastposter'], $thread['lastposteruid']); } if(my_strlen($thread['subject']) > 25)
|
Zeile 316 | Zeile 380 |
---|
}
// Get latest news announcements
|
}
// Get latest news announcements
|
// First validate announcement fids: $mybb->settings['portal_announcementsfid'] = explode(',', $mybb->settings['portal_announcementsfid']); foreach($mybb->settings['portal_announcementsfid'] as $fid) { $fid_array[] = intval($fid); } $mybb->settings['portal_announcementsfid'] = implode(',', $fid_array); // And get them!
| |
$query = $db->simple_select(TABLE_PREFIX."forums", "*", "fid IN (".$mybb->settings['portal_announcementsfid'].")"); while($forumrow = $db->fetch_array($query)) {
| $query = $db->simple_select(TABLE_PREFIX."forums", "*", "fid IN (".$mybb->settings['portal_announcementsfid'].")"); while($forumrow = $db->fetch_array($query)) {
|
Zeile 353 | Zeile 409 |
---|
$attachcache[$attachment['pid']][$attachment['aid']] = $attachment; }
|
$attachcache[$attachment['pid']][$attachment['aid']] = $attachment; }
|
foreach($forum as $fid => $forumrow)
| if(is_array($forum))
|
{
|
{
|
$forumpermissions[$fid] = forum_permissions($fid);
| foreach($forum as $fid => $forumrow) { $forumpermissions[$fid] = forum_permissions($fid); }
|
}
$icon_cache = $cache->read("posticons");
| }
$icon_cache = $cache->read("posticons");
|
Zeile 382 | Zeile 441 |
---|
if($announcement['icon'] > 0 && $icon_cache[$announcement['icon']]) { $icon = $icon_cache[$announcement['icon']];
|
if($announcement['icon'] > 0 && $icon_cache[$announcement['icon']]) { $icon = $icon_cache[$announcement['icon']];
|
$icon = "<img src=\"{$icon[path]}\" alt=\"{$icon[name]}\" />";
| $icon = "<img src=\"{$icon['path']}\" alt=\"{$icon['name']}\" />";
|
} else {
| } else {
|
Zeile 394 | Zeile 453 |
---|
if($avatar_dimensions[0] && $avatar_dimensions[1]) { $avatar_width_height = "width=\"{$avatar_dimensions[0]}\" height=\"{$avatar_dimensions[1]}\"";
|
if($avatar_dimensions[0] && $avatar_dimensions[1]) { $avatar_width_height = "width=\"{$avatar_dimensions[0]}\" height=\"{$avatar_dimensions[1]}\"";
|
}
| } if (!stristr($announcement['avatar'], 'http://')) { $announcement['avatar'] = $mybb->settings['bburl'] . '/' . $announcement['avatar']; }
|
$avatar = "<td class=\"trow1\" width=\"1\" align=\"center\" valign=\"top\"><img src=\"$announcement[avatar]\" alt=\"0\" {$avatar_width_height} /></td>"; } else
| $avatar = "<td class=\"trow1\" width=\"1\" align=\"center\" valign=\"top\"><img src=\"$announcement[avatar]\" alt=\"0\" {$avatar_width_height} /></td>"; } else
|
Zeile 407 | Zeile 470 |
---|
if($announcement['replies']) { eval("\$numcomments = \"".$templates->get("portal_announcement_numcomments")."\";");
|
if($announcement['replies']) { eval("\$numcomments = \"".$templates->get("portal_announcement_numcomments")."\";");
|
}
| }
|
else
|
else
|
{
| {
|
eval("\$numcomments = \"".$templates->get("portal_announcement_numcomments_no")."\";"); $lastcomment = ''; }
|
eval("\$numcomments = \"".$templates->get("portal_announcement_numcomments_no")."\";"); $lastcomment = ''; }
|
| $plugins->run_hooks("portal_announcement");
$parser_options = array( "allow_html" => $forum[$announcement['fid']]['allowhtml'], "allow_mycode" => $forum[$announcement['fid']]['allowmycode'], "allow_smilies" => $forum[$announcement['fid']]['allowsmilies'], "allow_imgcode" => $forum[$announcement['fid']]['allowimgcode'] ); if($announcement['smilieoff'] == "yes") { $parser_options['allow_smilies'] = "no"; }
$message = $parser->parse_message($announcement['message'], $parser_options);
|
if(is_array($attachcache[$announcement['pid']])) { // This post has 1 or more attachments $validationcount = 0;
| if(is_array($attachcache[$announcement['pid']])) { // This post has 1 or more attachments $validationcount = 0;
|
Zeile 434 | Zeile 513 |
---|
} $attachment['icon'] = get_attachment_icon($ext); // Support for [attachment=id] code
|
} $attachment['icon'] = get_attachment_icon($ext); // Support for [attachment=id] code
|
if(stripos($announcement['message'], "[attachment=".$attachment['aid']."]") !== false)
| if(stripos($message, "[attachment=".$attachment['aid']."]") !== false)
|
{ if($attachment['thumbnail'] != "SMALL" && $attachment['thumbnail'] != '') { // We have a thumbnail to show (and its not the "SMALL" enough image
| { if($attachment['thumbnail'] != "SMALL" && $attachment['thumbnail'] != '') { // We have a thumbnail to show (and its not the "SMALL" enough image
|
Zeile 444 | Zeile 523 |
---|
{ // Image is small enough to show - no thumbnail eval("\$attbit = \"".$templates->get("postbit_attachments_images_image")."\";");
|
{ // Image is small enough to show - no thumbnail eval("\$attbit = \"".$templates->get("postbit_attachments_images_image")."\";");
|
} else {
| } else {
|
// Show standard link to attachment eval("\$attbit = \"".$templates->get("postbit_attachments_attachment")."\";");
|
// Show standard link to attachment eval("\$attbit = \"".$templates->get("postbit_attachments_attachment")."\";");
|
} $announcement['message'] = preg_replace("#\[attachment=".$attachment['aid']."]#si", $attbit, $announcement['message']);
| } $message = preg_replace("#\[attachment=".$attachment['aid']."]#si", $attbit, $message);
|
} else {
| } else {
|
Zeile 468 | Zeile 547 |
---|
{ // Image is small enough to show - no thumbnail eval("\$post['imagelist'] .= \"".$templates->get("postbit_attachments_images_image")."\";");
|
{ // Image is small enough to show - no thumbnail eval("\$post['imagelist'] .= \"".$templates->get("postbit_attachments_images_image")."\";");
|
}
| }
|
else { eval("\$post['attachmentlist'] .= \"".$templates->get("postbit_attachments_attachment")."\";"); } }
|
else { eval("\$post['attachmentlist'] .= \"".$templates->get("postbit_attachments_attachment")."\";"); } }
|
}
| }
|
else { $validationcount++;
| else { $validationcount++;
|
Zeile 493 | Zeile 572 |
---|
eval("\$post['attachments'] = \"".$templates->get("postbit_attachments")."\";"); } }
|
eval("\$post['attachments'] = \"".$templates->get("postbit_attachments")."\";"); } }
|
$plugins->run_hooks("portal_announcement");
$parser_options = array( "allow_html" => $forum[$announcement['fid']]['allow_html'], "allow_mycode" => $forum[$announcement['fid']]['allow_mycode'], "allow_smilies" => $forum[$announcement['fid']]['allowsmilies'], "allow_imgcode" => $forum[$announcement['fid']]['allowimgcode'] ); if($announcement['smilieoff'] == "yes") { $parser_options['allow_smilies'] = "no"; }
$message = $parser->parse_message($announcement['message'], $parser_options);
| |
eval("\$announcements .= \"".$templates->get("portal_announcement")."\";"); unset($post);
| eval("\$announcements .= \"".$templates->get("portal_announcement")."\";"); unset($post);
|