diff --git a/f_config/SESSION.php b/f_config/SESSION.php index f6bdbdbf..7ca6aa45 100644 --- a/f_config/SESSION.php +++ b/f_config/SESSION.php @@ -2,9 +2,8 @@ namespace sammo; require_once('_common.php'); -require_once(ROOT.'/f_func/class._Session.php'); -$SESSION = new _Session(); +$SESSION = new Session(); if(!$SESSION->isLoggedIn()) { header ("Location: ".ROOT); diff --git a/i_entrance/j_change_password.php b/i_entrance/j_change_password.php index 36b4b461..46e6b34e 100644 --- a/i_entrance/j_change_password.php +++ b/i_entrance/j_change_password.php @@ -3,9 +3,8 @@ namespace sammo; require_once('_common.php'); require_once(ROOT.'/f_config/DB.php'); -require_once(ROOT.'/f_func/class._Session.php'); -$SESSION = new _Session(); +$SESSION = new Session(); if(!$SESSION->isLoggedIn()) { Json::die([ @@ -28,11 +27,11 @@ $db = getRootDB(); $userInfo = $db->update('member',[ 'pw'=>$db->sqleval('sha2(concat(salt, %s, salt), 512)', $newPw) -], 'no=%i and pw=sha2(concat(salt, %s, salt), 512)', $SESSION->NoMember(), $pw); +], 'no=%i and pw=sha2(concat(salt, %s, salt), 512)', $SESSION->noMember(), $pw); if(!$db->affectedRows()){ $db->insert('member_log', [ - 'member_no'=>$SESSION->NoMember(), + 'member_no'=>$SESSION->noMember(), 'action_type'=>'change_pw', 'action'=>json_encode([ 'type'=>'plain', @@ -47,7 +46,7 @@ if(!$db->affectedRows()){ } $db->insert('member_log', [ - 'member_no'=>$SESSION->NoMember(), + 'member_no'=>$SESSION->noMember(), 'action_type'=>'change_pw', 'action'=>json_encode([ 'type'=>'plain', diff --git a/i_entrance/j_delete_me.php b/i_entrance/j_delete_me.php index d5912a9f..a8f88882 100644 --- a/i_entrance/j_delete_me.php +++ b/i_entrance/j_delete_me.php @@ -4,9 +4,8 @@ namespace sammo; require_once('_common.php'); require_once(ROOT.'/f_func/class._Time.php'); require_once(ROOT.'/f_config/DB.php'); -require_once(ROOT.'/f_func/class._Session.php'); -$SESSION = new _Session(); +$SESSION = new Session(); if(!$SESSION->isLoggedIn()) { Json::die([ @@ -31,7 +30,7 @@ $db = getRootDB(); $userInfo = $db->queryFirstRow('SELECT oauth_id, oauth_type, email, delete_after FROM MEMBER '. 'WHERE `no`=%i and pw=sha2(concat(salt, %s, salt), 512)', - $SESSION->NoMember(), $pw); + $SESSION->noMember(), $pw); if(!$userInfo){ Json::die([ @@ -49,7 +48,7 @@ if($userInfo['delete_after']){ $db->update('member',[ 'delete_after'=>_Time::DatetimeFromNowMinute(60*24*30) -], 'no=%i', $SESSION->NoMember()); +], 'no=%i', $SESSION->noMember()); if(!$db->affectedRows()){ Json::die([ @@ -61,7 +60,7 @@ if(!$db->affectedRows()){ $db->insert('member_log', [ - 'member_no'=>$SESSION->NoMember(), + 'member_no'=>$SESSION->noMember(), 'action_type'=>'delete' ]); diff --git a/i_entrance/j_get_user_info.php b/i_entrance/j_get_user_info.php index 6a18f68e..49848764 100644 --- a/i_entrance/j_get_user_info.php +++ b/i_entrance/j_get_user_info.php @@ -3,9 +3,8 @@ namespace sammo; require_once('_common.php'); require_once(ROOT.'/f_config/DB.php'); -require_once(ROOT.'/f_func/class._Session.php'); -$SESSION = new _Session(); +$SESSION = new Session(); if(!$SESSION->isLoggedIn()) { Json::die([ @@ -17,7 +16,7 @@ if(!$SESSION->isLoggedIn()) { // 외부 파라미터 $db = getRootDB(); -$member = $db->queryFirstRow('SELECT `id`, `name`, `grade`, `picture` FROM `MEMBER` WHERE `NO` = %i', $SESSION->NoMember()); +$member = $db->queryFirstRow('SELECT `id`, `name`, `grade`, `picture` FROM `MEMBER` WHERE `NO` = %i', $SESSION->noMember()); if(!$member['picture']){ $picture = IMAGE.'/default.jpg'; diff --git a/i_entrance/j_icon_change.php b/i_entrance/j_icon_change.php index 4103f716..e796414c 100644 --- a/i_entrance/j_icon_change.php +++ b/i_entrance/j_icon_change.php @@ -3,9 +3,8 @@ namespace sammo; require_once('_common.php'); require_once(ROOT.'/f_config/DB.php'); -require_once(ROOT.'/f_func/class._Session.php'); -$SESSION = new _Session(); +$SESSION = new Session(); if(!$SESSION->isLoggedIn()) { Json::die([ @@ -30,7 +29,7 @@ $imageType = $size[2]; $availableImageType = array('.jpg'=>IMAGETYPE_JPEG, '.png'=>IMAGETYPE_PNG, '.gif'=>IMAGETYPE_GIF); $db = getRootDB(); -$member = $db->queryFirstRow('SELECT `ID`, `PICTURE` FROM `MEMBER` WHERE `NO` = %i', $SESSION->NoMember()); +$member = $db->queryFirstRow('SELECT `ID`, `PICTURE` FROM `MEMBER` WHERE `NO` = %i', $SESSION->noMember()); $picName = $member['PICTURE']; @@ -88,7 +87,7 @@ if(!is_uploaded_file($image['tmp_name'])) { getRootDB()->update('MEMBER',[ 'PICTURE' => $pic, 'IMGSVR' => 1 - ], 'NO=%i', $SESSION->NoMember()); + ], 'NO=%i', $SESSION->noMember()); $servers = []; diff --git a/i_entrance/j_icon_delete.php b/i_entrance/j_icon_delete.php index a1eac890..9dbc0e65 100644 --- a/i_entrance/j_icon_delete.php +++ b/i_entrance/j_icon_delete.php @@ -3,9 +3,8 @@ namespace sammo; require_once('_common.php'); require_once(ROOT.'/f_config/DB.php'); -require_once(ROOT.'/f_func/class._Session.php'); -$SESSION = new _Session(); +$SESSION = new Session(); if(!$SESSION->isLoggedIn()) { Json::die([ @@ -18,7 +17,7 @@ if(!$SESSION->isLoggedIn()) { $respone = []; $db = getRootDB(); -$picName = $db->queryFirstField('SELECT picture FROM `MEMBER` WHERE `NO` = %i', $SESSION->NoMember()); +$picName = $db->queryFirstField('SELECT picture FROM `MEMBER` WHERE `NO` = %i', $SESSION->noMember()); if($picName && strlen($picName) > 11){ $dt = substr($picName, -8); @@ -43,7 +42,7 @@ if($dt == $rf) { $db->update('MEMBER', [ 'PICTURE'=>'default.jpg', 'IMGSVR'=>0, - ], 'NO=%i', $SESSION->NoMember()); + ], 'NO=%i', $SESSION->noMember()); $servers = []; diff --git a/i_entrance/member/Post.php b/i_entrance/member/Post.php index b4a72f30..8fb00c5b 100644 --- a/i_entrance/member/Post.php +++ b/i_entrance/member/Post.php @@ -12,7 +12,7 @@ $select = $_POST['select']; $no = $_POST['no']; $db = getRootDB(); -$member = $db->queryFirstRow('SELECT `GRADE` FROM `MEMBER` WHERE `NO` = %i', $SESSION->NoMember()); +$member = $db->queryFirstRow('SELECT `GRADE` FROM `MEMBER` WHERE `NO` = %i', $SESSION->noMember()); if($member['GRADE'] < 6) { $response['result'] = 'FAIL'; diff --git a/index.php b/index.php index 4188e0ff..c24e449f 100644 --- a/index.php +++ b/index.php @@ -11,7 +11,6 @@ if(!$SETTING->isExists()){ } require(ROOT.'/f_config/DB.php'); -require(ROOT.'/f_func/class._Session.php'); $SESSION = new _SESSION(); diff --git a/j_login.php b/j_login.php index 9dd76fe0..63e0e710 100644 --- a/j_login.php +++ b/j_login.php @@ -2,14 +2,13 @@ namespace sammo; require_once('_common.php'); -require_once(ROOT.'/f_func/class._Session.php'); require_once(ROOT.'/f_func/class._String.php'); require(ROOT.'/f_func/class._Time.php'); require_once(ROOT.'/f_config/DB.php'); -$SESSION = new _Session(); +$SESSION = new Session(); if($SESSION->isLoggedIn()){ $SESSION->logout(); } diff --git a/oauth_kakao/j_change_pw.php b/oauth_kakao/j_change_pw.php index c8af5bfb..f8acd449 100644 --- a/oauth_kakao/j_change_pw.php +++ b/oauth_kakao/j_change_pw.php @@ -3,7 +3,6 @@ namespace sammo; require(__DIR__.'/../d_setting/conf_kakao.php'); require('_common.php'); -require(ROOT.'/f_func/class._Session.php'); require(ROOT.'/f_config/DB.php'); require(ROOT.'/f_func/class._Time.php'); @@ -11,14 +10,14 @@ use \kakao\Kakao_REST_API_Helper as Kakao_REST_API_Helper; $nowDate = _Time::DatetimeNow(); -$SESSION = new _Session(); +$SESSION = new Session(); if(!$SESSION->isLoggedIn()){ Json::die([ 'result'=>false, 'reason'=>'로그인이 되어있지 않습니다' ]); } -$userID = $SESSION->NoMember(); +$userID = $SESSION->noMember(); $access_token = util::array_get($_SESSION['access_token']); $expires = util::array_get($_SESSION['expires']); $refresh_token = util::array_get($_SESSION['refresh_token']); diff --git a/oauth_kakao/j_login_oauth.php b/oauth_kakao/j_login_oauth.php index 618773df..f554707e 100644 --- a/oauth_kakao/j_login_oauth.php +++ b/oauth_kakao/j_login_oauth.php @@ -3,14 +3,13 @@ namespace sammo; require(__DIR__.'/../d_setting/conf_kakao.php'); require('_common.php'); -require(ROOT.'/f_func/class._Session.php'); require(ROOT.'/f_config/DB.php'); require(ROOT.'/f_func/class._Time.php'); require('kakao.php'); use \kakao\Kakao_REST_API_Helper as Kakao_REST_API_Helper; -$SESSION = new _Session(); +$SESSION = new Session(); if($SESSION->isLoggedIn()){ $SESSION->logout(); } diff --git a/f_func/class._Session.php b/src/sammo/Session.php similarity index 70% rename from f_func/class._Session.php rename to src/sammo/Session.php index fcb92b83..9a07aa15 100644 --- a/f_func/class._Session.php +++ b/src/sammo/Session.php @@ -4,12 +4,14 @@ namespace sammo; require(__dir__.'/../vendor/autoload.php'); -class _Session { +class Session { public function __construct() { //session_cache_limiter('nocache, must_revalidate'); // 세션 변수의 등록 - session_start(); + if (session_id() == ""){ + session_start(); + } //첫 등장 @@ -19,6 +21,24 @@ class _Session { } } + public function writeClose(){ + session_write_close(); + } + + public function __set(string $name, mixed $value){ + if($value === null){ + unset($_SESSION[$name]); + } + else{ + $_SESSION[$name] = $value; + } + + } + + public function __get(string $name){ + return util::array_get($_SESSION[$name]); + } + public function set($key, $val) { $_SESSION[$key] = $val; } @@ -46,7 +66,7 @@ class _Session { } public function isLoggedIn() { - if($this->NoMember()){ + if($this->noMember()){ return true; } else{ @@ -54,7 +74,7 @@ class _Session { } } - public function NoMember() { + public function noMember() { return $this->get('noMember'); }