public function addSession($mysql, $uid) { $time = Time::getTime(); $session= new Session; $random = Random::getString(32); $expiry = $time + 30*24*60*60; $session->read($uid,$time,$expiry); switch($session->insert($mysql, $random)) { case Session::DATABASE_ERROR : { echo "<p>A Database error has occured.</p>"; return; } case Session::INVALID_DATA : { echo "<p>Invalid operation requested.</p>"; return; } case Session::INSERT_SUCCESS : { return $random; } default : break; } }
/** * Start a editing session or return an existing one * @param string $uid of the user starting a session * @param \OCA\Documents\File $file - file object * @return array * @throws \Exception */ public static function start($uid, $file) { // Create a directory to store genesis $genesis = new \OCA\Documents\Genesis($file); list($ownerView, $path) = $file->getOwnerViewAndPath(); $oldSession = new Session(); $oldSession->loadBy('file_id', $file->getFileId()); //If there is no existing session we need to start a new one if (!$oldSession->hasData()) { $newSession = new Session(array($genesis->getPath(), $genesis->getHash(), $file->getOwner(), $file->getFileId())); if (!$newSession->insert()) { throw new \Exception('Failed to add session into database'); } } $sessionData = $oldSession->loadBy('file_id', $file->getFileId())->getData(); $memberColor = \OCA\Documents\Helper::getMemberColor($uid); $member = new \OCA\Documents\Db\Member(array($sessionData['es_id'], $uid, $memberColor, time(), intval($file->isPublicShare()), $file->getToken())); if ($member->insert()) { // Do we have OC_Avatar in out disposal? if (!class_exists('\\OC_Avatar') || \OC_Config::getValue('enable_avatars', true) !== true) { $imageUrl = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAAAAACH5BAAAAAAALAAAAAABAAEAAAICTAEAOw=='; } else { $imageUrl = $uid; } $displayName = $file->isPublicShare() ? $uid . ' ' . \OCA\Documents\Db\Member::getGuestPostfix() : \OCP\User::getDisplayName($uid); $sessionData['member_id'] = (string) $member->getLastInsertId(); $op = new \OCA\Documents\Db\Op(); $op->addMember($sessionData['es_id'], $sessionData['member_id'], $displayName, $memberColor, $imageUrl); } else { throw new \Exception('Failed to add member into database'); } $sessionData['title'] = basename($path); $sessionData['permissions'] = $ownerView->getFilePermissions($path); return $sessionData; }
function setLang(string $l = NULL) : bool { if (empty($l)) { $l = Config::get('Language', 'default'); } return Session::insert(md5("SystemLanguageData"), $l); }
public static function read($sess_id) { $s = new Session(); $s->session_id = $sess_id; if ($s->find(true)) { // enforce lifetime of this session data if ($s->remember_me == 0 && $s->last_used + self::$lifetime > time()) { $s->last_used = time(); $s->update(); return $s->data; } else { if ($s->remember_me == 1 && $s->last_used + self::$rememberMeLifetime > time()) { $s->last_used = time(); $s->update(); return $s->data; } else { $s->delete(); return ''; } } } else { // in seconds - easier for calcuating duration $s->last_used = time(); // in date format - easier to read $s->created = date('Y-m-d h:i:s'); if (isset($_SESSION['rememberMe']) && $_SESSION['rememberMe'] == true) { $s->remember_me = 1; } $s->insert(); return ''; } }
static function write($id, $session_data) { self::logdeb("Writing session '{$id}'"); $session = Session::staticGet('id', $id); if (empty($session)) { $session = new Session(); $session->id = $id; $session->session_data = $session_data; $session->created = common_sql_now(); return $session->insert(); } else { $session->session_data = $session_data; return $session->update(); } }
public static function read($sess_id) { $s = new Session(); $s->session_id = $sess_id; $cookieData = ''; $saveNewSession = false; if ($s->find(true)) { //First check to see if the session expired $curTime = time(); if ($s->remember_me == 1) { $sessionExpirationTime = $s->last_used + self::$rememberMeLifetime; } else { $sessionExpirationTime = $s->last_used + self::$lifetime; } if ($curTime > $sessionExpirationTime) { $s->delete(); session_start(); session_regenerate_id(true); $sess_id = session_id(); $_SESSION = array(); $saveNewSession = true; } else { // updated the session in the database to show that we just used it $s->last_used = $curTime; $s->update(); $cookieData = $s->data; } } else { $saveNewSession = true; } if ($saveNewSession) { $s->session_id = $sess_id; //There is no active session, we need to create a new one. $s->last_used = time(); // in date format - easier to read $s->created = date('Y-m-d h:i:s'); if (isset($_SESSION['rememberMe']) && $_SESSION['rememberMe'] == true) { $s->remember_me = 1; } else { $s->remember_me = 0; } $s->insert(); } return $cookieData; }
function redirect(string $url, int $time = 0, array $data = [], bool $exit = true) { if (!isUrl($url)) { $url = siteUrl($url); } if (!empty($data)) { foreach ($data as $k => $v) { Session::insert('redirect:' . $k, $v); } } if ($time > 0) { sleep($time); } header("Location: {$url}", true); if ($exit === true) { exit; } }
public function login($data) { $this->email = $data['email']; $this->password = $data['password']; $user = $this->find('email', $this->email); if ($user == NULL) { $result['status'] = "error"; $result['error_text'] = "User not found."; } else { $isPasswordSame = $this->verifyHash($this->password, $user['password']); if ($isPasswordSame) { $result['status'] = "success"; $session = new Session(); $data = ['id' => $user['id'], 'first_name' => $user['first_name'], 'last_name' => $user['last_name'], 'user_type' => $user['type']]; $session->insert($data); } else { $result['status'] = "error"; $result['error_text'] = "Incorrect password."; } } return json_encode($result); }
static function write($id, $session_data) { self::logdeb("Writing session '{$id}'"); $session = Session::staticGet('id', $id); if (empty($session)) { self::logdeb("'{$id}' doesn't yet exist; inserting."); $session = new Session(); $session->id = $id; $session->session_data = $session_data; $session->created = common_sql_now(); $result = $session->insert(); if (!$result) { common_log_db_error($session, 'INSERT', __FILE__); self::logdeb("Failed to insert '{$id}'."); } else { self::logdeb("Successfully inserted '{$id}' (result = {$result})."); } return $result; } else { self::logdeb("'{$id}' already exists; updating."); if (strcmp($session->session_data, $session_data) == 0) { self::logdeb("Not writing session '{$id}'; unchanged"); return true; } else { self::logdeb("Session '{$id}' data changed; updating"); $orig = clone $session; $session->session_data = $session_data; $result = $session->update($orig); if (!$result) { common_log_db_error($session, 'UPDATE', __FILE__); self::logdeb("Failed to update '{$id}'."); } else { self::logdeb("Successfully updated '{$id}' (result = {$result})."); } return $result; } } }
foreach ($menus as $key => $menu) { $cond_1 = POST("menu_perm{$key}") == 'on'; $cond_2 = $perms_check[$mainmenu][$key] == TRUE; if ($cond_1 && $cond_2) { $perms[$key] = TRUE; } } } } if ($mode == 'insert') { $msg = 'created'; if ($insert_menu == TRUE) { //New template $template_id = Session::update_template($conn, $login . "_perms", $perms); } Session::insert($conn, $login, $login_method, $pass1, $user_name, $email, $template_id, $entities, $sel_sensors, $sel_assets, $company, $department, $language, $first_login, $tzone, $is_admin); User_config::copy_panel($conn, $login); $_SESSION['_user_vision'] = $pro ? Acl::get_user_vision($conn) : Session::get_user_vision($conn); Util::memcacheFlush(); Session::log_pass_history($login, hash('sha256', $pass1)); } else { $msg = 'updated'; if ($insert_menu == TRUE) { Session::update_template($conn, $login . '_perms', $perms, $template_id); } $error = 0; if (($am_i_admin || $am_i_proadmin) && !$is_my_profile) { Session::update($conn, $login, $login_method, $user_name, $email, $template_id, $entities, $sel_sensors, $sel_assets, $company, $department, $language, $first_login, $tzone, $is_admin); Util::memcacheFlush(); } else { $error = Session::update_user_light($conn, $login, $login_method, $user_name, $email, $company, $department, $language, $first_login, $is_admin, $tzone);
public function insert($name = '', $data = '', $params = array()) { if (!is_scalar($name) || !is_array($params)) { Error::set('Error', 'valueParameter', 'name'); Error::set('Error', 'arrayParameter', 'params'); return false; } if (is_callable($data)) { return Session::insert('OB_DATAS_' . $name, $this->func($data, $params)); } elseif (file_exists($data)) { return Session::insert('OB_DATAS_' . $name, $this->file($data)); } else { return Session::insert('OB_DATAS_' . $name, $data); } }
/** * Write function that is called when session data is to be saved. * * @param string $sess_id The current session ID * @param string $data The session data to write * * @return void * @access public */ public static function write($sess_id, $data) { if (isset($_SESSION['no_store'])) { return true; } $s = new Session(); $s->session_id = $sess_id; if ($s->find(true)) { $s->data = $data; return $s->update(); } else { // in seconds - easier for calculating duration $s->last_used = time(); // in date format - easier to read $s->created = date('Y-m-d h:i:s'); $s->data = $data; return $s->insert(); } }
} } } $sensors = ""; for ($i = 0; $i < $nsensors; $i++) { ossim_valid(POST("sensor{$i}"), OSS_LETTER, OSS_DIGIT, OSS_DOT, OSS_NULLABLE, 'illegal:' . _("sensor{$i}")); if (ossim_error()) { die(ossim_error()); } if ($sensors == "") { $sensors = POST("sensor{$i}"); } else { $sensors .= "," . POST("sensor{$i}"); } } Session::insert($conn, $user, $pass1, $name, $email, $perms, $nets, $sensors, $company, $department, $language, $first_login, $tzone); $db->close($conn); ?> <p> <?php echo gettext("User succesfully inserted"); ?> </p> <?php $location = "users.php"; sleep(2); echo "<script>window.location='{$location}';</script>"; } ?> </body>