[Shuttlebb-svn] SF.net SVN: shuttlebb: [68] branch
Brought to you by:
afterlife69,
danb00
|
From: <aft...@us...> - 2006-12-04 03:22:08
|
Revision: 68
http://svn.sourceforge.net/shuttlebb/?rev=68&view=rev
Author: afterlife69
Date: 2006-12-03 19:22:06 -0800 (Sun, 03 Dec 2006)
Log Message:
-----------
further updates on user for new dbal
Modified Paths:
--------------
branch/index.php
branch/sources/class_user.php
Modified: branch/index.php
===================================================================
--- branch/index.php 2006-12-03 19:19:21 UTC (rev 67)
+++ branch/index.php 2006-12-04 03:22:06 UTC (rev 68)
@@ -16,7 +16,7 @@
define('INC_PATH', ROOT_PATH . 'sources/');
define('REQ_PATH', ROOT_PATH . 'require/');
define('LANG_PATH', ROOT_PATH . 'language/');
-define('TPL_PATH', ROOT_PATH . 'language/');
+define('TPL_PATH', ROOT_PATH . 'template/');
define('MOD_PATH', ROOT_PATH . 'module/');
// Start output buffering
@@ -36,18 +36,19 @@
handler_load('class_module_loader', 'module_loader');
// Construct required objects
-$module = new module_loader(MOD_PATH);
+
// Construct the dbal
$db = new dbal(DB_LAYER);
$db->sql_connect(DB_USER, DB_PASS, DB_NAME, DB_SERVER, DB_PERSISTANT);
-// Build session, user, template, auth
-$ses = new session();
-$user = new user();
-$auth = new acl_core();
-$tpl = new template( $user->_get_current_template() );
-$lang = new language($user->data['user_lang']);
+// Build module, session, user, template, auth
+$session = new session();
+$user = new user($session);
+$auth = new acl_core();
+$template = new template(TPL_PATH . $user->_get_current_template() . '/');
+$language = new language($user->data['user_lang']);
+$module = new module_loader(MOD_PATH);
// Build the current object
$this_module = ( isset ( $_GET['module'] ) ) ? $_GET['module'] : false;
Modified: branch/sources/class_user.php
===================================================================
--- branch/sources/class_user.php 2006-12-03 19:19:21 UTC (rev 67)
+++ branch/sources/class_user.php 2006-12-04 03:22:06 UTC (rev 68)
@@ -8,6 +8,11 @@
*/
/**
+ * This constant is used to identify "Guest" users.
+ */
+define('UNREGISTERED', -1);
+
+/**
* This class manages all aspects of the user including templates, language and sessions
*/
class user
@@ -34,38 +39,34 @@
*/
function user ( $page_id )
{
- global $ses, $db, $tpl, $_GET, $config, $lng, $_COOKIE, $auth;
+ global $session, $db, $tpl, $_GET, $config, $lng, $_COOKIE, $auth;
// Init session object
- $ses = new session ( $page_id );
+ $session = new session ( $page_id );
// Handle autologins
$session_key = ( is_string ( $_COOKIE['_autologin'] ) ) ? $db->sql_escape($_COOKIE['_autologin']) : false;
- if ( ! empty ( $session_key ) && $ses->data['user_id'] == 0 )
+ if ( ! empty ( $session_key ) && $session->data['user_id'] == UNREGISTERED )
{
- $sql = 'SELECT * FROM ' . SESSIONS_KEY_TABLE . ' WHERE key_name = \'' . $session_key . '\'';
- if ( ! $result = $db->sql_query ( $sql ) )
- {
- exit;
- }
- $session_data = $db->sql_fetchrow($result);
+ $result = $db->sql_query('SELECT * FROM ' . SESSIONS_KEY_TABLE . ' WHERE key_name = \'' . $session_key . '\'');
+ $sessiondata = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
- if ( ! $session_data )
+ if ( ! $sessiondata )
{
setcookie ( '_autologin', '' );
}
else
{
- $this->login ( $session_data['user_id'] );
+ $this->login($sessiondata['user_id']);
}
}
/*
// Pull userdata based on session
- if ( isset ( $ses->data['user_id'] ) )
+ if ( isset ( $session->data['user_id'] ) )
{
- $user_id = ( $ses->data['user_id'] ) ? $ses->data['user_id'] : '0';
+ $user_id = ( $session->data['user_id'] ) ? $session->data['user_id'] : '0';
$db->sql_select(USERS_TABLE, $result, array('user_id' => (int) $user_id), false, 'ASC', false, 'user_' . (int) $user_id);
if ( ! $this->data = $db->sql_fetchrow($result) )
{
@@ -109,7 +110,7 @@
// Attempt to select the username from the database.
$sql = 'SELECT user_id, username, user_email FROM ' . USERS_TABLE . '
- WHERE username = \'' . $userdata['username'] . '\' OR user_email = \'' . $userdata['user_email'] . '\'
+ WHERE username = \'' . $db->sql_escape($userdata['username']) . '\' OR user_email = \'' . $db->sql_escape($userdata['user_email']) . '\'
ORDER by username LIMIT 1';
$result = $db->sql_query($sql);
@@ -132,7 +133,7 @@
$db->sql_freeresult($result);
// Insert data
- $db->sql_insert ( USERS_TABLE, $userdata );
+ $db->sql_insert(USERS_TABLE, $userdata, false, true);
// Return success
return 1;
@@ -148,13 +149,15 @@
function update($user_id, $array)
{
global $db;
+
// Make sure array is valid
if ( ! is_array ( $array ) )
{
return false;
}
+
// Insert data
- return $db->sql_update ( USERS_TABLE, $array, array( 'user_id' => intval ( $user_id ) ) );
+ return $db->sql_update(USERS_TABLE, $array, array('user_id' => intval ($user_id)));
}
/**
@@ -181,26 +184,25 @@
*/
function ban($user_id, $ban_type, $ban_data, $ban_reason, $ban_time)
{
- global $db, $auth, $ses;
+ global $db, $auth, $session;
+
+ $result = $db->sql_query('SELECT * FROM ' . BAN_TABLE . '
+ WHERE ban_type = \'' . $db->sql_escape($ban_type) . '\'
+ AND ban_data = \'' . $db->sql_escape($ban_data) . '\'');
- $db->sql_select ( BAN_TABLE, $result, array(
- 'ban_type' => $db->sql_escape($ban_type),
- 'ban_data' => $db->sql_escape($ban_data),
- ));
-
if ( $row = $db->sql_query($result) )
{
$db->sql_freeresult($result);
return false;
}
- if ( $ses->ip == $ban_data && $ban_type == 'ip' )
+ if ( $session->ip == $ban_data && $ban_type == 'ip' )
{
$db->sql_freeresult($result);
return false;
}
- if ( $ban_type == '' || $ban_type == 'user' )
+ if ( empty($ban_type) || $ban_type == 'user' )
{
$auth->get($ban_data);
if ( $auth->data['auth_admin'] )
@@ -208,15 +210,16 @@
return false;
}
}
+
$db->sql_freeresult($result);
- return $db->sql_insert ( BAN_TABLE, array(
- 'ban_type' => $db->sql_escape ( $ban_type ),
- 'ban_data' => $db->sql_escape ( $ban_data ),
- 'ban_reason' => $db->sql_escape ( $ban_reason ),
+ return $db->sql_insert(BAN_TABLE, array(
+ 'ban_type' => $ban_type,
+ 'ban_data' => $ban_data,
+ 'ban_reason' => $ban_reason,
'ban_time' => (int) $ban_time,
'user_id' => (int) $user_id
- ));
+ ), false, true);
}
/**
@@ -261,20 +264,17 @@
*/
function login($user_id, $autologin = false)
{
- global $db, $ses;
+ global $db, $session;
$result = $db->sql_query('SELECT * FROM ' . SESSIONS_TABLE . ' WHERE user_id = ' . (int) $user_id);
while ( $row = $db->sql_fetchrow($result) )
{
- $ses->purge($row['session_id']);
+ $session->purge($row['session_id']);
}
$db->sql_freeresult($result);
- $db->sql_update ( SESSIONS_TABLE, array (
- 'user_id' => $user_id ), array (
- 'session_id' => $ses->sid )
- );
+ $db->sql_update(SESSION_TABLE, array('user_id' => $user_id), false, true, 'session_id = \'' . $db->sql_escape($session->sid) . '\'');
if ( $autologin )
{
@@ -283,7 +283,7 @@
'key_name' => $autologin_key,
'key_expire' => 0,
'user_id' => $user_id,
- ));
+ ), false, true);
setcookie ( '_autologin', $autologin_key );
}
@@ -296,20 +296,14 @@
*/
function logout()
{
- global $db, $ses;
+ global $db, $session;
- if ( $ses->data['user_id'] != 0 )
+ if ( $session->data['user_id'] != UNREGISTERED )
{
- $db->sql_delete ( SESSIONS_KEY_TABLE, array(
- 'user_id' => $ses->data['user_id'],
- ));
+ $db->sql_query('DELETE FROM ' . SESSIONS_KEY_TABLE . ' WHERE user_id = ' . (int) $session->data['user_id']);
}
-
- $db->sql_update ( SESSIONS_TABLE, array (
- 'user_id' => '0' ), array (
- 'session_id' => $ses->sid )
- );
-
+
+ return $db->sql_update(SESSIONS_TABLE, array('user_id' => 0), false, false, 'session_id = \'' . $db->sql_escape($session->sid) . '\'')
}
/**
@@ -320,10 +314,9 @@
*/
function check_ban($user_id = '')
{
- global $db, $ses;
+ global $db, $session;
- $sql = 'SELECT * FROM ' . BAN_TABLE . ' WHERE (user_id = "' . $user_id . '" OR user_ip = "' . $ses->ip . '")';
- $result = $db->sql_query ( $sql );
+ $result = $db->sql_query('SELECT * FROM ' . BAN_TABLE . ' WHERE (user_id = "' . (int) $user_id . '" OR user_ip = "' . $db->sql_escape($session->ip) . '")');
if ( $db->sql_fetchrow ( $result ) )
{
@@ -348,8 +341,9 @@
global $db;
$result = $db->sql_query('SELECT * FROM ' . SESSIONS_TABLE . ' WHERE user_id = ' . (int) $user_id);
- $row = $db->sql_fetchrow ( $result );
+ $row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
+
return $row;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|