[Rcts-checkins] SF.net SVN: rcts: [1957] trunk/version1.0/includes/classes
Brought to you by:
bastimmer,
paulsohier
|
From: <pau...@us...> - 2006-09-09 17:12:46
|
Revision: 1957
http://svn.sourceforge.net/rcts/?rev=1957&view=rev
Author: paulsohier
Date: 2006-09-09 10:12:36 -0700 (Sat, 09 Sep 2006)
Log Message:
-----------
Begin of new user class.
Modified Paths:
--------------
trunk/version1.0/includes/classes/class.core.php
Added Paths:
-----------
trunk/version1.0/includes/classes/class.user.php
Modified: trunk/version1.0/includes/classes/class.core.php
===================================================================
--- trunk/version1.0/includes/classes/class.core.php 2006-09-09 16:43:07 UTC (rev 1956)
+++ trunk/version1.0/includes/classes/class.core.php 2006-09-09 17:12:36 UTC (rev 1957)
@@ -88,7 +88,8 @@
"includes/classes/class.cache.php",
"includes/classes/class.phplot.php",
"includes/classes/class.zip.php",
- "includes/classes/class.usagestats.php"
+ "includes/classes/class.usagestats.php",
+ "includes/classes/class.user.php"
);
for($i = 0; $i < count($include);$i++)
{
@@ -128,6 +129,7 @@
"calendar" => "calendar",
"layout" => "layout",
"usage" => "usagestats",
+ "user" => "user"
);
while(list($var,$clas) = each($class))
Added: trunk/version1.0/includes/classes/class.user.php
===================================================================
--- trunk/version1.0/includes/classes/class.user.php (rev 0)
+++ trunk/version1.0/includes/classes/class.user.php 2006-09-09 17:12:36 UTC (rev 1957)
@@ -0,0 +1,98 @@
+<?php
+/**
+ * User class. All user details are in this file.
+ * @package RCTS2
+ * @version $Id: class.core.php 1950 2006-09-09 12:49:39Z paulsohier $
+ * @license http://opensource.org/licenses/gpl-license.php GNU Public License
+ * @copyright Really Coding Group, 2005-2006
+ * @author Really Coding Group
+ */
+/**
+ * Main user class
+ * @package core
+ */
+class user
+{
+ /**
+ * Var to see if user is logged in
+ *
+ * @var bool
+ */
+ var $logged_in = false;
+ /**
+ * Array with userdata
+ *
+ * @var array
+ */
+ var $userdata = array();
+
+ /**
+ * Constructor
+ * Check basic file data
+ *
+ * @return user
+ */
+ function user()
+ {
+ global $db;
+ $user_id = 0;
+ $logged_in = false;
+ if(isset($_COOKIE['ud']))
+ {
+ $tmp = get_var('ud',false,true);
+ //This is to prevent to overide $_COOKIE from get_var!
+ if(!isset($_POST['ud']) && !isset($_GET['ud']))
+ {
+ $tmp = unserialize($tmp);
+ if($tmp === false)
+ {
+ setcookie("ud");
+ }
+ else
+ {
+ //First check if user is logged in, then check if user
+ //will login automatticly.
+ if(isset($tmp['user_id']) && isset($tmp['ip']) && isset($tmp['sid']))
+ {
+ $sql = "SELECT s.*, u.* FROM ".USERS_TABLE." u, ".SESSIONS_TABLE." s
+ WHERE s.session_id = '".htmlspecialchars($tmp['sid'])."'
+ AND u.user_id = ".intval($tmp['user_id'])."
+ AND s.ip = '".htmlspecialchars($_SERVER['REMOTE_ADDR'])."' LIMIT 1";
+ $result = $db->sql_query($sql);
+ if($db->sql_numrows($result) == 1)
+ {
+ //We has a result :D
+ $this->userdata = $db->sql_fetchrow($result);
+ $this->logged_in = true;
+ if($this->userdata['session_time'] + 60 < time())
+ {
+ $sql = "UPDATE ".SESSIONS_TABLE." SET session_time = ".time()."
+ WHERE session_id = '".$this->userdata['session_id']."'";
+ $db->sql_query($sql);
+ $sql = "DELETE FROM ".SESSIONS_TABLE." WHERE session_time + 900 < ".time()."";
+ $db->sql_query($sql);
+ }
+ return true;
+ }
+ }
+ //If we are here, the user isn't logged in!
+ if(isset($tmp['auto_login']) && strlen($tmp['auto_login']) == 32)
+ {
+ $this->create_session(0,$_SERVER['REMOTE_ADDR'],$tmp['auto_login']);
+ if($this->logged_in === true)
+ {
+ return true;
+ }
+ $logged_in = false;
+ $user_id = 1;
+ }
+ }
+ }
+ }
+ $this->create_session(1,$_SERVER['REMOTE_ADDR']);
+ }
+ function create_session($user_id, $ip, $auto_login_id){
+
+ }
+}
+?>
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|