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 2259 2006-09-26 06:54:07Z chris $
| * $Id: portal.php 3030 2007-04-26 00:19:47Z Tikitiki $
|
*/
define("IN_MYBB", 1);
| */
define("IN_MYBB", 1);
|
Zeile 17 | Zeile 17 |
---|
// end editing
|
// 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";
|
}
$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";
| 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";
| require_once MYBB_ROOT."inc/functions_post.php"; require_once MYBB_ROOT."inc/functions_user.php"; require_once MYBB_ROOT."inc/class_parser.php";
|
Zeile 34 | Zeile 43 |
---|
// Fetch the current URL $portal_url = get_current_location();
|
// Fetch the current URL $portal_url = get_current_location();
|
|
|
// Load global language phrases $lang->load("portal");
| // Load global language phrases $lang->load("portal");
|
Zeile 49 | Zeile 58 |
---|
//Is a fatal call if user has had too many tries $logins = login_attempt_check(); $login_text = '';
|
//Is a fatal call if user has had too many tries $logins = login_attempt_check(); $login_text = '';
|
|
|
if(!username_exists($mybb->input['username']))
|
if(!username_exists($mybb->input['username']))
|
{ my_setcookie('loginattempts', $logins + 1); $db->query("UPDATE ".TABLE_PREFIX."sessions SET loginattempts=loginattempts+1 WHERE sid = '{$session->sid}'"); if($mybb->settings['failedlogintext'] == "yes") { $login_text = sprintf($lang->failed_login_again, $mybb->settings['failedlogincount'] - $logins);
| { my_setcookie('loginattempts', $logins + 1); $db->query("UPDATE ".TABLE_PREFIX."sessions SET loginattempts=loginattempts+1 WHERE sid = '{$session->sid}'"); if($mybb->settings['failedlogintext'] == "yes") { $login_text = sprintf($lang->failed_login_again, $mybb->settings['failedlogincount'] - $logins);
|
} error($lang->error_invalidusername.$login_text); }
| } error($lang->error_invalidusername.$login_text); }
|
Zeile 73 | 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, ); $db->update_query(TABLE_PREFIX."sessions", $newsession, "sid='".$session->sid."'");
|
$newsession = array( "uid" => $user['uid'], "loginattempts" => 1, ); $db->update_query(TABLE_PREFIX."sessions", $newsession, "sid='".$session->sid."'");
|
|
|
// 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'], null, true); my_setcookie("sid", $session->sid, -1, true);
if(function_exists("loggedIn"))
|
my_setcookie("mybbuser", $user['uid']."_".$user['loginkey'], null, true); my_setcookie("sid", $session->sid, -1, true);
if(function_exists("loggedIn"))
|
{
| {
|
loggedIn($user['uid']); }
|
loggedIn($user['uid']); }
|
|
|
$plugins->run_hooks("portal_do_login_end");
redirect("portal.php", $lang->redirect_loggedin);
|
$plugins->run_hooks("portal_do_login_end");
redirect("portal.php", $lang->redirect_loggedin);
|
}
| }
|
$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 138 | Zeile 157 |
---|
if(!$newthreads) { $newthreads = 0;
|
if(!$newthreads) { $newthreads = 0;
|
}
| }
|
if(!$newann) { $newann = 0;
| if(!$newann) { $newann = 0;
|
Zeile 231 | 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 276 | Zeile 330 |
---|
$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_users = sprintf($lang->online_users, $onlinecount); $lang->online_counts = sprintf($lang->online_counts, $membercount, $guestcount); eval("\$whosonline = \"".$templates->get("portal_whosonline")."\";");
|
}
| }
|
// 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 319 | Zeile 373 |
---|
}
// 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 356 | Zeile 402 |
---|
$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");
$announcements = '';
| $icon_cache = $cache->read("posticons");
$announcements = '';
|
Zeile 378 | Zeile 427 |
---|
$announcement['pid'] = $posts[$announcement['tid']]['pid']; $announcement['author'] = $announcement['uid']; if(!$announcement['username'])
|
$announcement['pid'] = $posts[$announcement['tid']]['pid']; $announcement['author'] = $announcement['uid']; if(!$announcement['username'])
|
{
| {
|
$announcement['username'] = $announcement['threadusername']; } $announcement['subject'] = htmlspecialchars_uni($announcement['subject']);
| $announcement['username'] = $announcement['threadusername']; } $announcement['subject'] = htmlspecialchars_uni($announcement['subject']);
|
Zeile 386 | Zeile 435 |
---|
{ $icon = $icon_cache[$announcement['icon']]; $icon = "<img src=\"{$icon['path']}\" alt=\"{$icon['name']}\" />";
|
{ $icon = $icon_cache[$announcement['icon']]; $icon = "<img src=\"{$icon['path']}\" alt=\"{$icon['name']}\" />";
|
} else {
| } else {
|
$icon = " "; } if($announcement['avatar'] != '')
| $icon = " "; } if($announcement['avatar'] != '')
|
Zeile 403 | Zeile 452 |
---|
else { $avatar = '';
|
else { $avatar = '';
|
}
| }
|
$anndate = my_date($mybb->settings['dateformat'], $announcement['dateline']); $anntime = my_date($mybb->settings['timeformat'], $announcement['dateline']);
| $anndate = my_date($mybb->settings['dateformat'], $announcement['dateline']); $anntime = my_date($mybb->settings['timeformat'], $announcement['dateline']);
|
Zeile 416 | Zeile 465 |
---|
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 437 | Zeile 502 |
---|
} $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 447 | Zeile 512 |
---|
{ // 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 471 | Zeile 536 |
---|
{ // 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 496 | Zeile 561 |
---|
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);
|