예제 #1
0
 public static function getInstance()
 {
     if (LogiksSession::$instance == null) {
         LogiksSession::$instance = new LogiksSession();
     }
     return LogiksSession::$instance;
 }
예제 #2
0
 function _envData($key, $name, $value)
 {
     LogiksSession::getInstance()->set(strtoupper($key), $name, $value);
 }
예제 #3
0
파일: auth.php 프로젝트: logiks/logiks-core
function startNewSession($userid, $domain, $params = array())
{
    session_regenerate_id();
    $data = $_ENV['AUTH-DATA'];
    //printArray($data);exit();
    $_SESSION['SESS_GUID'] = $data['guid'];
    $_SESSION['SESS_USER_ID'] = $data['userid'];
    $_SESSION['SESS_PRIVILEGE_ID'] = $data['privilegeid'];
    $_SESSION['SESS_ACCESS_ID'] = $data['accessid'];
    $_SESSION['SESS_PRIVILEGE_NAME'] = $data['privilege_name'];
    $_SESSION['SESS_ACCESS_NAME'] = $data['access_name'];
    $_SESSION['SESS_ACCESS_SITES'] = $data['sitelist'];
    if (empty($data['groups'])) {
        $data['groups'] = ["id" => 0, "group_name" => "", "group_manager" => "", "group_descs" => ""];
    }
    $_SESSION['SESS_GROUP_ID'] = $data['groups']['id'];
    $_SESSION['SESS_GROUP_NAME'] = $data['groups']['group_name'];
    $_SESSION['SESS_GROUP_MANAGER'] = $data['groups']['group_manager'];
    $_SESSION['SESS_GROUP_DESCS'] = $data['groups']['group_descs'];
    $_SESSION["SESS_PRIVILEGE_HASH"] = md5($_SESSION["SESS_PRIVILEGE_ID"] . $_SESSION["SESS_PRIVILEGE_NAME"]);
    $_SESSION['SESS_USER_NAME'] = $data['name'];
    $_SESSION['SESS_USER_EMAIL'] = $data['email'];
    $_SESSION['SESS_USER_CELL'] = $data['mobile'];
    $_SESSION['SESS_USER_COUNTRY'] = $data['country'];
    $_SESSION['SESS_USER_AVATAR'] = $data['avatar_type'] . "::" . $data['avatar'];
    $_SESSION['SESS_LOGIN_SITE'] = $domain;
    $_SESSION['SESS_ACTIVE_SITE'] = $domain;
    $_SESSION['SESS_TOKEN'] = session_id();
    $_SESSION['SESS_SITEID'] = SiteID;
    $_SESSION['SESS_LOGIN_TIME'] = time();
    $_SESSION['MAUTH_KEY'] = generateMAuthKey();
    if ($data['privilegeid'] <= 1) {
        $_SESSION["SESS_FS_FOLDER"] = ROOT;
        $_SESSION["SESS_FS_URL"] = SiteLocation;
    } else {
        $_SESSION["SESS_FS_FOLDER"] = ROOT . APPS_FOLDER . $domain . "/";
        $_SESSION["SESS_FS_URL"] = SiteLocation . APPS_FOLDER . $domain . "/";
    }
    if (strlen($_SESSION['SESS_USER_NAME']) <= 0) {
        $_SESSION['SESS_USER_NAME'] = $_SESSION['SESS_USER_ID'];
    }
    LogiksSession::getInstance(true);
    header_remove("SESSION-KEY");
    header("SESSION-KEY:" . $_SESSION['SESS_TOKEN'], false);
    header("SESSION-MAUTH:" . $_SESSION['MAUTH_KEY'], false);
    setcookie("LOGIN", "true", time() + 36000);
    setcookie("USER", $_SESSION['SESS_USER_ID'], time() + 36000);
    setcookie("TOKEN", $_SESSION['SESS_TOKEN'], time() + 36000);
    setcookie("SITE", $_SESSION['SESS_LOGIN_SITE'], time() + 36000);
    if ($data['persistant'] || ALLOW_MAUTH && isset($_POST['mauth'])) {
        _db(true)->_deleteQ(_dbTable("cache_sessions", true), "edited_on< DATE_SUB(NOW(), INTERVAL 10 DAY)")->_where(["guid" => $_SESSION['SESS_GUID'], "userid" => $_SESSION['SESS_USER_ID'], "site" => $domain])->_run();
        _db(true)->_insertQ1(_dbTable("cache_sessions", true), ["guid" => $_SESSION['SESS_GUID'], "userid" => $_SESSION['SESS_USER_ID'], "site" => $domain, "device" => $_ENV['AUTH-DATA']['device'], "session_key" => $_SESSION['SESS_TOKEN'], "auth_key" => $_SESSION['MAUTH_KEY'], "session_data" => json_encode($_SESSION), "global_data" => json_encode($GLOBALS), "client_ip" => $_SERVER['REMOTE_ADDR'], "creator" => $_SESSION['SESS_USER_ID']])->_run();
    }
}
예제 #4
0
파일: boot.php 프로젝트: logiks/logiks-core
 function _js($js, $themeName = null, $browser = "")
 {
     if (!is_array($js)) {
         $js = explode(",", $js);
     }
     $html = "\n\n";
     foreach ($js as $jsLnk) {
         if (strlen($jsLnk) <= 0) {
             continue;
         }
         //$lx=_jsLink($jsLnk, $themeName);
         $lx = LogiksSession::getInstance()->htmlAssets()->getAssetURL($jsLnk, 'js');
         if (strlen($lx) <= 0) {
             continue;
         }
         if ($browser != null && strlen($browser) > 0) {
             $html .= "<!--[if {$browser}]>\n";
             $html .= "<script src='{$lx}' type='text/javascript' language='javascript'></script>\n";
             $html .= "<![endif]-->\n";
         } else {
             $html .= "<script src='{$lx}' type='text/javascript' language='javascript'></script>\n";
         }
     }
     return $html;
 }