false, 'reason'=>'invalid input' ])); } $myTime = time(); $srcTime = intval($time); if(abs($myTime - $srcTime) >= 2){ die(json_encode([ 'result'=>false, 'reason'=>'invalid time' ])); } header("Content-Type: application/json"); if(!file_exists(XE_PATH)){ die(json_encode([ 'result'=>false, 'reason'=>'no path' ])); } if(hash('sha256', SESSION_KEY.$time, false) != $hash){ die(json_encode([ 'result'=>false, 'reason'=>'invalid session hash' ])); } require(XE_PATH); if (!class_exists('Context')) { die(json_encode([ 'result'=>false, 'reason'=>'No XE Context' ])); } $oContext = \Context::getInstance(); $oContext->init(); $logged_info = $oContext->get("logged_info"); if(!$logged_info){ die(json_encode([ 'result'=>true, 'user_id'=>null, 'name'=>null, 'mail'=>null, 'grps'=>null, ])); } die(json_encode([ 'result'=>true, 'user_id'=>$logged_info->user_id, 'name'=>$logged_info->nick_name, 'mail'=>$logged_info->email_address, 'grps'=> @array_values(@array_filter($logged_info->group_list)) ]));