<?php /** * PHP library for handling sessions. * * @author cangak <cangak.stres@gmail.com> * @copyright 2019 (c) cangak - Session * @license https://opensource.org/licenses/MIT - The MIT License (MIT) * @link https://github.com/cangak/Session * @since 1.0.0 */ namespace Cangak\Session; class Session { private static $sessionMulai = false; public function register($time, $array) { if (self::$sessionMulai == false) { session_set_cookie_params($this->newTime()); session_start(); foreach ($array as $key => $value) { $_SESSION['session_id'] = session_id(); $_SESSION[$key] = $value; $_SESSION['session_start'] = $this->newTime(); $_SESSION['session_time'] = intval($time); } return self::$sessionMulai = true; } return false; } public function islogin() { if (!empty($_SESSION['session_id']) and isset($_SESSION['username']) and ($_SESSION['username'] != '')) { return true; } else { return false; } } public function set($key, $value) { $_SESSION[$key] = $value; } public function get($key) { return $_SESSION[$key]; } public function getSession() { return $_SESSION; } public function getSessionId() { return $_SESSION['session_id']; } public function getusernmae() { return $_SESSION['username']; } public function getlevel() { return $_SESSION['level']; } public function getlengkap() { return $_SESSION['namalengkap']; } public function timeout_session() { if ($_SESSION['session_start'] < $this->timeNow()) { return true; } else { return false; } } public function renew() { $_SESSION['session_start'] = $this->newTime(); } private function timeNow() { $currentHour = date('H'); $currentMin = date('i'); $currentSec = date('s'); $currentMon = date('m'); $currentDay = date('d'); $currentYear = date('y'); return mktime($currentHour, $currentMin, $currentSec, $currentMon, $currentDay, $currentYear); } private function newTime() { if (isset($_SESSION['session_time']) and $_SESSION['session_time'] != '') { $currentHour = date('H'); } $currentMin = date('i'); $currentSec = date('s'); $currentMon = date('m'); $currentDay = date('d'); $currentYear = date('y'); $stime = $currentMin + 60; return mktime(date('H'), $stime, $currentSec, $currentMon, $currentDay, $currentYear); } public function end() { session_destroy(); $_SESSION = array(); return self::$sessionMulai = false; } }