/**
	 *	@interface ContextService
	**/
	public function getContext($model){
		$conn = $model['conn'];
		$stgid = $conn->escape($model['stgid']);
		$uid = $model['uid'];
		$access = $model['access'];
		
		$ts = Time::getTime();
		
		$query = "update storages set access=$access, mtime=$ts where stgid='$stgid' and owner=$uid))";
		$result = $conn->getResult($query);
		
		if($result === false){
			$model['valid'] = false;
			$model['msg'] = 'Error in Database @getContext/storage.chmod';
			return $model;
		}
		
		if($result != 1){
			$model['valid'] = false;
			$model['msg'] = 'Invalid Storage ID / Not Permitted';
			return $model;
		}
		
		$model['valid'] = true;
		return $model;
	}
예제 #2
0
		public function addSession($mysql, $uid) {
		
		$time = Time::getTime();
		$session= new Session;
		$random = Random::getString(32);
		$expiry = $time + 30*24*60*60;
		$session->read($uid,$time,$expiry);
			switch($session->insert($mysql, $random)) {
				case Session::DATABASE_ERROR :
				{
					echo "<p>A Database error has occured.</p>";
					return;
				}
				case Session::INVALID_DATA :
				{
					echo "<p>Invalid operation requested.</p>";
					return;
				}
				case Session::INSERT_SUCCESS : 
				{
					
					return $random;
				}
				default :
					break;
			}
	}
	public function getContext($model){
		$conn = $model['conn'];
		$sessionid = $conn->escape($model['sessionid']);
		
		$ts = Time::getTime();
		$query = "delete from sessions where expiry < $ts;";
		$conn->getResult($query, true);

		$query = "select uid from sessions where sessionid='$sessionid';";
		$result = $conn->getResult($query);
		
		if($result === false){
			$model['valid'] = false;
			$model['uid'] = null;
			return $model;
		}
			
		if(count($result) != 1){
			$model['valid'] = false;
			$model['uid'] = null;
			return $model;
		}
		
		$model['valid'] = true;
		$model['uid'] = $result[0][0];
		return $model;
	}
	/**
	 *	@interface ContextService
	**/
	public function getContext($model){
		$conn = $model['conn'];
		$uid = $model['uid'];
		$interval = $model['interval'];

		$sessionid = Random::getString(32); 
		$ts = Time::getTime();
		$ts_exp = $ts + $interval;
		
		$query = "delete from sessions where expiry < $ts;";
		$conn->getResult($query, true);
		
		$query = "insert into sessions values('$sessionid', $uid, $ts, $ts_exp);";
		$result = $conn->getResult($query, true);
		
		if($result === false){
			$model['valid'] = false;
			$model['msg'] = 'Error in Database @getContext/session.create';
			return $model;
		}
		
		$model['valid'] = true;
		$model['sessionid'] = $sessionid;

		return $model;
	}
	/**
	 *	@interface ContextService
	**/
	public function getContext($model){
		$conn = $model['conn'];
		$stgname = $conn->escape($model['stgname']);
		$filename = $conn->escape($model['filename']);
		$mime = $conn->escape($model['mime']);
		$owner = $model['owner'];
		$access = $model['access'];
		$group = $model['group'];
		$dirid = $conn->escape($model['dirid']);
		
		$stgid = Random::getString(128); 
		$ts = Time::getTime();
		
		$query = "insert into storages (stgid, stgname, filename, mime, owner, access, group, ctime, atime, mtime, dirid) values ('$stgid', '$stgname', '$filename', '$mime', $owner, $access, $group, $ts, $ts, $ts, '$dirid')";
		$result = $conn->getResult($query);
		
		if($result === false){
			$model['valid'] = false;
			$model['msg'] = 'Error in Database @getContext/storage.create';
			return $model;
		}
		
		$model['valid'] = true;
		$model['stgid'] = $stgid;
		return $model;
	}
예제 #6
0
파일: Time.php 프로젝트: blancomen/blanco3
 /**
  * Возвращает кол-во полных дней от переданного времени
  * @param int $fromTime
  * @param int|null $toTime
  * @return int
  */
 public static function getDaysFromTime($fromTime, $toTime = null)
 {
     if (is_null($toTime)) {
         $toTime = Time::getTime();
     }
     $fromTime = strtotime(date("Y-m-d", $fromTime));
     $toTime = strtotime(date("Y-m-d", $toTime));
     $diff = abs($toTime - $fromTime);
     return (int) floor($diff / self::TIME_DAY);
 }
	public function getContext($model){
		$conn = $model['conn'];
		$address = $conn->escape($model['address']);
		$message = $conn->escape($model['message']);
		
		$ts = Time::getTime();
		$result = $conn->getResult("insert into logs (message, address, time) values ('$message', '$address', $ts);", true);
		
		if($result === false){
			$model['valid'] = false;
			$model['msg'] = 'Error in Database';
			return $model;
		}
		
		$model['valid'] = true;
		return $model;
	}
	/**
	 *	@interface ContextService
	**/
	public function setContext($model){
		$conn = $model['conn'];
		$stgid = $conn->escape($model['stgid']);
		
		$ts = Time::getTime();
		
		$query = "update storages set atime=$ts where stgid='$stgid';";
		$result = $conn->getResult($query);
		
		if($result === false){
			$model['valid'] = false;
			$model['msg'] = 'Error in Database @setContext/storage.list';
			return $model;
		}
		
		$model['valid'] = true;
		return $model;
	}
	/**
	 *	@interface ContextService
	**/
	public function getContext($model){
		$conn = $model['conn'];
		$stgid = $conn->escape($model['stgid']);
		$dirid = $conn->escape($model['dirid']);
		$uid = $model['uid'];
		
		$query = "select stgid from storages where stgid='$dirid';";
		$result = $conn->getResult($query);
		
		if($result === false){
			$model['valid'] = false;
			$model['msg'] = 'Error in Database @getContext/storage.move';
			return $model;
		}
		
		if(count($result) != 1){
			$model['valid'] = false;
			$model['msg'] = 'Invalid Storage ID Directory / Not Permitted';
			return $model;
		}
		
		$ts = Time::getTime();
		
		$query = "update storages set dirid='$dirid', mtime=$ts where stgid='$stgid' and owner=$uid))";
		$result = $conn->getResult($query);
		
		if($result === false){
			$model['valid'] = false;
			$model['msg'] = 'Error in Database @getContext/storage.move';
			return $model;
		}
		
		if($result != 1){
			$model['valid'] = false;
			$model['msg'] = 'Invalid Storage ID / Not Permitted';
			return $model;
		}
		
		$model['valid'] = true;
		return $model;
	}
예제 #10
0
파일: login.php 프로젝트: nimitz92/lcm
require_once('init.php');
require_once(ROOT . 'lib/database/MySQL.class.php');
require_once(ROOT . 'lib/session/SessionManager.class.php');
require_once(ROOT . 'lib/user/UserManager.class.php');
require_once(ROOT . 'lib/util/Time.class.php');

if(isset($_POST["action"])){
	$um=new UserManager();
	$mysql= new MySQL();
	$sm=new SessionManager();
	$username=$_POST["username"];
	$password=$_POST["password"];
	$res=$um->authenticate($mysql,$username,$password);
	if($res>0){
		$random=$sm->addSession($mysql,$res);
		setcookie("lcmsession",$random,Time::getTime()+30*24*60*60);
		header("Location:index.php");
	}
	else
	{
		echo "Username/Password Incorrect.";
	}
	
	}

echo <<<HEADER
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html lang="en"> 
	<head> 
	  <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
	  <title>LOGIN</title>