<?php
/* External Login - by Kambodianboi
Useage: You must create an PHP document to use this script.
Linking it by using include("phpbb.php"); .
Usable Varibles:
$online_userlist - Displays logged in users
$l_online_users - Display online stats
*/
define('IN_PHPBB', true);
$phpbb_root_path = '/home/delikanforum_net/www/seyfullah/phpBB2/'; // Must be defined to your board location
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_LOGIN);
init_userprefs($userdata);
if( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) || isset($HTTP_POST_VARS['logout']) || isset($HTTP_GET_VARS['logout']) )
{
$gen_simple_header = true;
if( ( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) ) && !$userdata['session_logged_in'] )
{
$username = isset($HTTP_POST_VARS['username']) ? trim(htmlspecialchars($HTTP_POST_VARS['username'])) : '';
$username = substr(str_replace("\\'", "'", $username), 0, 25);
$username = str_replace("'", "\\'", $username);
$password = isset($HTTP_POST_VARS['password']) ? $HTTP_POST_VARS['password'] : '';
$sql = "SELECT user_id, username, user_password, user_active, user_level
FROM " . USERS_TABLE . "
WHERE username = '" . str_replace("\\'", "''", $username) . "'";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Error in obtaining userdata', '', __LINE__, __FILE__, $sql);
}
if( $row = $db->sql_fetchrow($result) )
{
if( $row['user_level'] != ADMIN && $board_config['board_disable'] )
{
redirect(append_sid("index.$phpEx", true));
}
else
{
if( md5($password) == $row['user_password'] && $row['user_active'] )
{
$autologin = ( isset($HTTP_POST_VARS['autologin']) ) ? TRUE : 0;
$session_id = session_begin($row['user_id'], $user_ip, PAGE_INDEX, FALSE, $autologin);
if( $session_id )
{
Header("Location: ".$HTTP_SERVER_VARS['HTTP_REFERER']);
}
else
{
message_die(CRITICAL_ERROR, "Couldn't start session : login", __LINE__, __FILE__);
}
}
else
{
$template->assign_vars(array(
'META' => "<meta http-equiv=\"refresh\" content=\"3;url=javascript:history.back(1)\">")
);
$message = $lang['Error_login'] . '<br /><br />' . sprintf($lang['Click_return_login'], "<a href=\"javascript:history.back(1)\">", '</a>') . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="javascript:history.back(1)">', '</a>');
message_die(GENERAL_MESSAGE, $message);
}
}
}
else
{
$template->assign_vars(array(
'META' => "<meta http-equiv=\"refresh\" content=\"3;url=javascript:history.back(1)\">")
);
$message = $lang['Error_login'] . '<br /><br />' . sprintf($lang['Click_return_login'], "<a href=\"javascript:history.back(1)\">", '</a>') . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="javascript:history.back(1)">', '</a>');
message_die(GENERAL_MESSAGE, $message);
}
}
else if( ( isset($HTTP_GET_VARS['logout']) || isset($HTTP_POST_VARS['logout']) ) && $userdata['session_logged_in'] )
{
if( $userdata['session_logged_in'] )
{
session_end($userdata['session_id'], $userdata['user_id']);
}
Header("Location: ".$HTTP_SERVER_VARS['HTTP_REFERER']);
}
else
{
Header("Location: ".$HTTP_SERVER_VARS['HTTP_REFERER']);
}
}
/* Well lets start the Statistic Part */
$logged_visible_online = 0;
$logged_hidden_online = 0;
$guests_online = 0;
$online_userlist = '';
$l_online_users = '';
if(is_file($phpbb_root_path.'includes/functions_color_groups.'.$phpEx))
{
$colorized = true;
include_once($phpbb_root_path.'includes/functions_color_groups.'.$phpEx);
}
// Start replacement - Topic in Who is online MOD
$user_forum_sql = ( !empty($topic_id) ) ? "AND s.session_topic = " . intval($topic_id)

( !empty($forum_id) ) ? "AND s.session_page = ".intval($forum_id) : '');
// End replacement - Topic in Who is online MOD
$sql = "SELECT u.username, u.user_id, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_ip
FROM ".USERS_TABLE." u, ".SESSIONS_TABLE." s
WHERE u.user_id = s.session_user_id
AND s.session_time >= ".( time() - 300 ) . "
$user_forum_sql
ORDER BY u.username ASC, s.session_ip ASC";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain user/online information', '', __LINE__, __FILE__, $sql);
}
$userlist_ary = array();
$userlist_visible = array();
$prev_user_id = 0;
$prev_user_ip = $prev_session_ip = '';
while( $row = $db->sql_fetchrow($result) )
{
if ( $row['session_logged_in'] )
{
if ( $row['user_id'] != $prev_user_id )
{
$user_online_link = ($colorized ? color_group_colorize_name($row['user_id']) : '<a href="profile.php?mode=viewprofile&u='.$row['user_id'].'">'.$row['username'].'</a>');
if ( $row['user_allow_viewonline'] )
{
$logged_visible_online++;
}
else
{
$logged_hidden_online++;
}
$online_userlist .= ( $online_userlist != '' ) ? ', ' . $user_online_link : $user_online_link;
}
$prev_user_id = $row['user_id'];
}
else
{
if ( $row['session_ip'] != $prev_session_ip )
{
$guests_online++;
}
}
$prev_session_ip = $row['session_ip'];
}
$db->sql_freeresult($result);
if ( empty($online_userlist) )
{
$online_userlist = $lang['None'];
}
$online_userlist = $lang['Registered_users'].' ' . $online_userlist;
$total_online_users = $logged_visible_online + $logged_hidden_online + $guests_online;
if ( $logged_visible_online == 0 )
{
$l_r_user_s = $lang['Reg_users_zero_total'];
}
else if ( $logged_visible_online == 1 )
{
$l_r_user_s = $lang['Reg_user_total'];
}
else
{
$l_r_user_s = $lang['Reg_users_total'];
}
if ( $logged_hidden_online == 0 )
{
$l_h_user_s = $lang['Hidden_users_zero_total'];
}
else if ( $logged_hidden_online == 1 )
{
$l_h_user_s = $lang['Hidden_user_total'];
}
else
{
$l_h_user_s = $lang['Hidden_users_total'];
}
if ( $guests_online == 0 )
{
$l_g_user_s = $lang['Guest_users_zero_total'];
}
else if ( $guests_online == 1 )
{
$l_g_user_s = $lang['Guest_user_total'];
}
else
{
$l_g_user_s = $lang['Guest_users_total'];
}
$l_online_users = sprintf($l_t_user_s, $total_online_users);
$l_online_users .= sprintf($l_r_user_s, $logged_visible_online);
$l_online_users .= sprintf($l_h_user_s, $logged_hidden_online);
$l_online_users .= sprintf($l_g_user_s, $guests_online);
?>
<html dir="ltr">
<head>
</head>
<body bgcolor="#ffffff">
<?php
if(!$userdata['session_logged_in'])
{
?>
<!--- <table width="100%" cellspacing="0" cellpadding="10" border="0" align="center">
<tr>
<td class="bodyline"><table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td><a href="index.php"><img src="templates/subSilver/images/logo_phpBB.gif" border="0" alt="yourdomain.com Forum Index" vspace="1" /></a></td>
<td align="center" width="100%" valign="middle"><span class="maintitle">yourdomain.com</span><br /><span class="gen">A _little_ text to describe your forum<br /> </span>
<table cellspacing="0" cellpadding="2" border="0">
<tr>
<td align="center" valign="top" nowrap="nowrap"><span class="mainmenu"> <a href="faq.php" class="mainmenu"><img src="templates/subSilver/images/icon_mini_faq.gif" width="12" height="13" border="0" alt="FAQ" hspace="3" />FAQ</a></span><span class="mainmenu"> <a href="search.php" class="mainmenu"><img src="templates/subSilver/images/icon_mini_search.gif" width="12" height="13" border="0" alt="Search" hspace="3" />Search</a> <a href="memberlist.php" class="mainmenu"><img src="templates/subSilver/images/icon_mini_members.gif" width="12" height="13" border="0" alt="Memberlist" hspace="3" />Memberlist</a> <a href="groupcp.php" class="mainmenu"><img src="templates/subSilver/images/icon_mini_groups.gif" width="12" height="13" border="0" alt="Usergroups" hspace="3" />Usergroups</a>
<a href="profile.php?mode=register" class="mainmenu"><img src="templates/subSilver/images/icon_mini_register.gif" width="12" height="13" border="0" alt="Register" hspace="3" />Register</a></span>
</td>
</tr>
<tr>
<td height="25" align="center" valign="top" nowrap="nowrap"><span class="mainmenu"> <a href="profile.php?mode=editprofile" class="mainmenu"><img src="templates/subSilver/images/icon_mini_profile.gif" width="12" height="13" border="0" alt="Profile" hspace="3" />Profile</a> <a href="privmsg.php?folder=inbox" class="mainmenu"><img src="templates/subSilver/images/icon_mini_message.gif" width="12" height="13" border="0" alt="Log in to check your private messages" hspace="3" />Log in to check your private messages</a> <a href="login.php" class="mainmenu"><img src="templates/subSilver/images/icon_mini_login.gif" width="12" height="13" border="0" alt="Log in" hspace="3" />Log in</a> </span></td>
</tr>
</table></td>
</tr>
</table> --->
<form action="phpbb.php" method="post">
<!--- <table width="100%" cellspacing="2" cellpadding="2" border="0" align="center">
<tr>
<td align="left" class="nav"><a href="index.php" class="nav">yourdomain.com Forum Index</a></td>
</tr>
</table> --->
<table width="150" BORDERCOLOR="white" border="1" align="center">
<!--- <tr>
<th height="25"><font face="arial" size="2" color="#C00000">Log in </font></th>
</tr> --->
<tr>
<td><table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td width="45%" align="center"><div align="left"><span class="gen"><font face="arial" size="2" color="#C00000">Isim:</font></span></div></td>
</tr>
<tr>
<td align="center">
<div align="left">
<input type="text" name="username" size="10" maxlength="40" value="" />
</div></td>
</tr>
<tr>
<td align="center"><div align="left"><span class="gen"><font face="arial" size="2" color="#C00000">Sifre:</font></span></div></td>
</tr>
<tr>
<td align="center">
<div align="left">
<input type="password" name="password" size="10" maxlength="32" />
</div></td>
</tr>
<tr align="center">
<td colspan="2"><div align="left"><span class="gen"><font color="#C00000" size="2" face="arial">otomatik Giris </font>
<input type="checkbox" name="autologin" />
</span></div></td>
</tr>
<tr align="center">
<td colspan="2"><div align="left">
<input type="hidden" name="redirect" value="" />
<input type="submit" name="login" class="mainoption" value="Log in" />
</div></td>
</tr>
<tr align="center">
<td colspan="2"><div align="left"><span class="gensmall"><a href="profile.php?mode=sendpassword" class="gensmall"> <font face="arial" size="2">Sifremi Unuttum</font></a></span></div></td>
</tr>
</table>
<!--- </td>
</tr>
</table> --->
</form>
<?php
}
?>
<!--- <table width="150" BORDERCOLOR="Black" border="1" align="center"> -->
<tr>
<td>
<center>
<?php
if($userdata['session_logged_in'])
{
print'Hosgeldin'.$userdata['username'];
$avatar_img = ( $board_config['allow_avatar_upload'] ) ? '<img src="http://' . $board_config['server_name'] . $board_config['script_path'] . $board_config['avatar_path'] . '/' . $userdata['user_avatar'] . '" alt="" border="0" />' : '';
print($avatar_img);
echo "<br />";
print('<a href="phpbb.php?logout"> Cikis Yap</a>');
}
?>
</center>
<br>
<hr>
<?php
{
echo "<br />";
print $online_userlist;
}
?>
<br>
<hr>
<?php
{
echo "<br />";
print $l_online_users;
}
?>
</td>
</tr>
</font>
<!-- <div align="center"><span class="copyright"><br /><br />
We request you retain the full copyright notice below including the link to
www.phpbb.com.
This not only gives respect to the large amount of time given freely by the developers
but also helps build interest, traffic and use of phpBB 2.0. If you cannot (for good
reason) retain the full copyright we request you at least leave in place the
Powered by phpBB 2.0.8 line, with phpBB linked to
www.phpbb.com. If you refuse
to include even this then support on our forums may be affected.
The phpBB Group : 2002
Powered by <a href="
http://www.phpbb.com/" target="_phpbb" class="copyright">phpBB</a> 2.0.8 © 2001, 2002 phpBB Group<br /></span></div> // -->
</td>
</tr>
</body>
</html>