git-svn-id: http://xe-core.googlecode.com/svn/trunk@906 201d5d3c-b55e-5fd7-737f-ddc643e51545

This commit is contained in:
zero 2007-04-02 10:04:31 +00:00
parent f44ce411f2
commit 7b70b78379
6 changed files with 80 additions and 12 deletions

View file

@ -27,7 +27,7 @@
function writeFile($file_name, $buff, $mode = "w") { function writeFile($file_name, $buff, $mode = "w") {
$mode = strtolower($mode); $mode = strtolower($mode);
if($mode != "a") $mode = "w"; if($mode != "a") $mode = "w";
if(@!$fp = fopen($file_name,$mode)) return; if(@!$fp = fopen($file_name,$mode)) return false;
fwrite($fp, $buff); fwrite($fp, $buff);
fclose($fp); fclose($fp);
} }

View file

@ -0,0 +1,56 @@
<?php
/**
* @class SessionHandler
* @author zero (zero@nzeo.com)
* @brief 세션 핸들링 클래스
**/
class SessionHandler extends Handler {
var $lifetime = 3600;
var $ipaddress = '';
var $session_path = './files/session/';
function open($path, $session_name) {
return true;
}
function close() {
return true;
}
function getSessionFile($session_key) {
$session_file = sprintf('%szbxe_session_%s.php', $this->session_path, $session_key);
return $session_file;
}
function read($session_key) {
$filename = $this->getSessionFile($session_key);
if(!file_exists($filename)) return '';
$buff = FileHandler::readFile($filename);
return substr($buff, strlen('<?php if(!__ZBXE__) exit(); ?>'));
}
function write($session_key, $val) {
if(!$val) return true;
$filename = $this->getSessionFile($session_key);
$buff = '<?php if(!__ZBXE__) exit(); ?>'.$val;
return FileHandler::writeFile($filename, $buff);
}
function destroy($session_key) {
$filename = $this->getSessionFile($session_key);
@unlink( $filename);
return true;
}
function gc($maxlifetime) {
foreach (glob($this->session_path.'zbxe_session_*.php') as $filename) {
if (filemtime($filename) + $this->lifetime < time()) @unlink($filename);
}
return true;
}
}
?>

View file

@ -22,20 +22,14 @@
if(__DEBUG__) { if(__DEBUG__) {
// php5이상이면 error handling을 handleError() 로 set // php5이상이면 error handling을 handleError() 로 set
if (version_compare(phpversion(), '5.0') > 0) { //if (version_compare(phpversion(), '5.0') > 0) {
set_error_handler("handleError"); //set_error_handler("handleError");
} //}
// 여기서부터 시작 시간으로 설정 // 여기서부터 시작 시간으로 설정
define('__StartTime__', getMicroTime()); define('__StartTime__', getMicroTime());
} }
/**
* @brief 세션 설정
**/
@session_cache_limiter('no-cache, must-revalidate');
@session_start();
/** /**
* @brief 기본적인 class 파일 include * @brief 기본적인 class 파일 include
* *
@ -43,6 +37,7 @@
**/ **/
if(__DEBUG__) define('__RequireClassStartTime__', getMicroTime()); if(__DEBUG__) define('__RequireClassStartTime__', getMicroTime());
require_once("./classes/handler/Handler.class.php"); require_once("./classes/handler/Handler.class.php");
require_once("./classes/session/SessionHandler.class.php");
require_once("./classes/xml/XmlParser.class.php"); require_once("./classes/xml/XmlParser.class.php");
require_once("./classes/context/Context.class.php"); require_once("./classes/context/Context.class.php");
require_once("./classes/db/DB.class.php"); require_once("./classes/db/DB.class.php");
@ -54,4 +49,20 @@
require_once("./classes/module/ModuleHandler.class.php"); require_once("./classes/module/ModuleHandler.class.php");
require_once("./classes/display/DisplayHandler.class.php"); require_once("./classes/display/DisplayHandler.class.php");
if(__DEBUG__) define('__RequireClassEndTime__', getMicroTime()); if(__DEBUG__) define('__RequireClassEndTime__', getMicroTime());
/**
* @brief 세션 설정
**/
/*
$oSessionHandler = new SessionHandler();
$aa = session_set_save_handler(
array(&$oSessionHandler,"open"),
array(&$oSessionHandler,"close"),
array(&$oSessionHandler,"read"),
array(&$oSessionHandler,"write"),
array(&$oSessionHandler,"destroy"),
array(&$oSessionHandler,"gc"));
*/
session_cache_limiter('no-cache, must-revalidate');
session_start();
?> ?>

View file

@ -68,7 +68,7 @@
* @param args object 변수로 선언된 인자값 * @param args object 변수로 선언된 인자값
* @return 처리결과 * @return 처리결과
**/ **/
function executeQuery($query_id, $args) { function executeQuery($query_id, $args = null) {
$oDB = &DB::getInstance(); $oDB = &DB::getInstance();
return $oDB->executeQuery($query_id, $args); return $oDB->executeQuery($query_id, $args);
} }

View file

@ -87,6 +87,7 @@
FileHandler::makeDir('./files/member_extra_info/attach/image_name'); FileHandler::makeDir('./files/member_extra_info/attach/image_name');
FileHandler::makeDir('./files/member_extra_info/attach/image_mark'); FileHandler::makeDir('./files/member_extra_info/attach/image_mark');
FileHandler::makeDir('./files/member_extra_info/attach/signature'); FileHandler::makeDir('./files/member_extra_info/attach/signature');
FileHandler::makeDir('./files/session/');
return new Object(); return new Object();
} }

View file

@ -16,7 +16,7 @@
/** /**
* @brief user_id, password를 체크하여 로그인 시킴 * @brief user_id, password를 체크하여 로그인 시킴
**/ **/
function procMemberLogin($user_id, $password) { function procMemberLogin() {
// 변수 정리 // 변수 정리
if(!$user_id) $user_id = Context::get('user_id'); if(!$user_id) $user_id = Context::get('user_id');
$user_id = trim($user_id); $user_id = trim($user_id);