
/modules/Welcome/Controllers/WelcomeController.php Highlighted file source
Line 35: use Sprout\Helpers\Session;
Line 50: Session::instance();
Line 97: unset($_SESSION['database_config']);
Line 233: unset($_SESSION['database_config']);
Line 235: $data = Form::loadFromSession('db_conf');
Line 280: $_SESSION['db_conf']['field_values'] = Validator::trim($_POST);
Line 286: $_SESSION['db_conf']['field_errors'] = $valid->getFieldErrors();
Line 289: unset($_SESSION['db_conf']);
Line 292: $_SESSION['database_config'] = $_POST;
Line 324: $config = self::genDbConfig($_SESSION['database_config']);
Line 418: $config = self::genPassConfig($_SESSION['database_config']);
Line 482: Form::loadFromSession('super_op');
Line 501: $users = AdminAuth::injectLocalSuperConf($_SESSION['supeop_config']['user'], $_SESSION['supeop_config']['hash'], $_SESSION['supeop_config']['salt']);
Line 552: $_SESSION['super_op']['field_values'] = Validator::trim($_POST);
Line 584: $_SESSION['super_op']['field_errors'] = $valid->getFieldErrors();
Line 587: unset($_SESSION['super_op']['field_errors']);
Line 608: $_SESSION['supeop_config'] = $_GET;

/sprout/config/session.php Highlighted file source
Line 18: * @package Session
Line 20: * Session driver name: native/database
Line 25: * Session storage parameter, used by drivers.
Line 30: * Session name.
Line 36: * Session parameters to validate: userAgent, ip_address, expiration.
Line 41: * Enable or disable session encryption.
Line 42: * Note: this has no effect on the native session driver.
Line 43: * Note: the cookie driver always encrypts session data. Set to TRUE for stronger encryption.
Line 48: * Session lifetime. Number of seconds that each session will last.
Line 49: * A value of 0 will keep the session active until the browser is closed (with a limit of 24h).
Line 54: * Number of page loads before the session id is regenerated.
Line 55: * A value of 0 will disable automatic session id regeneration.
Line 61: * N.B. On Debian systems, there's a system cron that cleans up the session
Line 62: * data, so PHP's session garbage collector should be turned off.
Line 64: * @see http://stackoverflow.com/questions/2904862/issues-with-php-5-3-and-sessions-folder
Line 65: * @see http://somethingemporium.com/2007/06/obscure-error-with-php5-on-debian-ubuntu-session-phpini-garbage

/sprout/Controllers/Admin/ManagedAdminController.php Highlighted file source
Line 41: use Sprout\Helpers\Session;
Line 209: Session::instance();
Line 537: // Replace the pre-filled values with session values if found
Line 538: if (!empty($_SESSION['admin']['field_values'])) {
Line 539: $data = $_SESSION['admin']['field_values'];
Line 540: unset ($_SESSION['admin']['field_values']);
Line 574: $_SESSION['admin']['field_values'] = Validator::trim($_POST);
Line 621: $_SESSION['admin']['field_errors'] = $valid->getFieldErrors();
Line 989: // If no mode set, use the session
Line 990: // If a mode is set and valid, save in the session
Line 992: $_GET['main_mode'] = @$_SESSION['admin'][$this->controller_name]['main_mode'];
Line 994: $_SESSION['admin'][$this->controller_name]['main_mode'] = $_GET['main_mode'];
Line 1197: if (!empty($_SESSION['admin']['field_values'])) {
Line 1198: $data = $_SESSION['admin']['field_values'];
Line 1199: unset($_SESSION['admin']['field_values']);
Line 1203: if (!empty($_SESSION['admin']['field_errors'])) {
Line 1204: $errors = $_SESSION['admin']['field_errors'];
Line 1205: unset($_SESSION['admin']['field_errors']);
Line 1394: // Overlay session data
Line 1395: if (!empty($_SESSION['admin']['field_values'])) {
Line 1396: $data = $_SESSION['admin']['field_values'];
Line 1397: unset($_SESSION['admin']['field_values']);
Line 1401: if (!empty($_SESSION['admin']['field_errors'])) {
Line 1402: $errors = $_SESSION['admin']['field_errors'];
Line 1403: unset($_SESSION['admin']['field_errors']);
Line 1556: if (!empty($_SESSION['admin']['field_values'])) {
Line 1557: $data = $_SESSION['admin']['field_values'];
Line 1558: unset ($_SESSION['admin']['field_values']);
Line 1562: if (!empty($_SESSION['admin']['field_errors'])) {
Line 1563: $errors = $_SESSION['admin']['field_errors'];
Line 1564: unset($_SESSION['admin']['field_errors']);

/sprout/Controllers/Admin/MySettingsAdminController.php Highlighted file source
Line 65: $data = Form::loadFromSession('admin_my_settings');
Line 82: $_SESSION['admin_my_settings']['field_values'] = Validator::trim($_POST);
Line 111: $_SESSION['admin_my_settings']['field_errors'] = $valid->getFieldErrors();
Line 129: unset($_SESSION['admin_my_settings']);
Line 146: if (empty($_SESSION['tfa_secret'])) {
Line 147: $_SESSION['tfa_secret'] = $goog->generateSecret();
Line 152: $issuer, $operator['username'], $_SERVER['HTTP_HOST'], $_SESSION['tfa_secret']
Line 158: $view->secret = $_SESSION['tfa_secret'];
Line 179: $success = $goog->checkCode($_SESSION['tfa_secret'], $_POST['code']);
Line 182: unset($_SESSION['tfa_secret']);
Line 189: $data['tfa_secret'] = $_SESSION['tfa_secret'];
Line 192: unset($_SESSION['tfa_secret']);

/sprout/Controllers/AdminController.php Highlighted file source
Line 52: use Sprout\Helpers\Session;
Line 77: Session::instance();
Line 116: Navigation::loadPageTree(@$_SESSION['admin']['active_subsite'], true);
Line 182: Session::instance();
Line 183: Session::regenerate();
Line 221: if (isset($_SESSION['admin']['tfa_id'])) {
Line 234: if (!isset($_SESSION['admin']['tfa_id'])) {
Line 240: $tfa_method = Pdb::query($q, [$_SESSION['admin']['tfa_id']], 'val');
Line 272: if (!isset($_SESSION['admin']['tfa_id'])) {
Line 279: $operator = Pdb::query($q, [$_SESSION['admin']['tfa_id']], 'row');
Line 296: $_SESSION['admin']['login_id'] = $_SESSION['admin']['tfa_id'];
Line 297: unset($_SESSION['admin']['tfa_id']);
Line 327: $_SESSION['admin']['active_subsite'] = $subsite;
Line 350: Session::instance();
Line 351: Session::regenerate();
Line 913: // Ensure that the session always has data, so that the initial lookup is treated
Line 1103: $tags->current_tags = @$_SESSION['admin']['tags'];
Line 1104: unset ($_SESSION['admin']['tags']);
Line 1138: Form::setFieldValue('subsite_id', $_SESSION['admin']['active_subsite']);
Line 1185: $_SESSION['admin']['tags'] = $_POST['tags'];
Line 1211: unset ($_SESSION['admin']['tags']);
Line 1219: unset ($_SESSION['admin']['field_values']);
Line 1276: $tags->current_tags = @$_SESSION['admin']['tags'];
Line 1277: if (empty($_SESSION['admin']['tags'])) {
Line 1280: unset ($_SESSION['admin']['tags']);
Line 1374: $_SESSION['admin']['tags'] = $_POST['tags'];
Line 1396: unset ($_SESSION['admin']['tags']);
Line 1404: unset ($_SESSION['admin']['field_values']);
Line 1588: $tags->current_tags = @$_SESSION['admin']['tags'];
Line 1589: if (empty($_SESSION['admin']['tags'])) {
Line 1592: unset ($_SESSION['admin']['tags']);
Line 1675: $_SESSION['admin']['tags'] = $_POST['tags'];
Line 1733: unset ($_SESSION['admin']['tags']);
Line 1741: unset ($_SESSION['admin']['field_values']);
Line 1982: $_SESSION['admin']['active_subsite'] = $_POST['subsite'];
Line 2035: if (!empty($_SESSION['admin'])) {
Line 2036: $view->live_url = Subsites::getAbsRoot($_SESSION['admin']['active_subsite']);
Line 2083: } else if ($lock['lock_key'] == $_SESSION['admin']['lock_key']) {
Line 2084: // Is locked to this session
Line 2094: // Locked to a different session
Line 2118: die('Session timeout or missing security token');

/sprout/Controllers/DbToolsController.php Highlighted file source
Line 62: use Sprout\Helpers\Session;
Line 93: [ 'url' => 'dbtools/sessionEditor', 'name' => 'Session editor', 'desc' => 'Edit the $_SESSION' ],
Line 107: [ 'url' => 'dbtools/varDump', 'name' => 'Var dump', 'desc' => 'View session, cookie & server data'],
Line 250: $row = Pdb::q("SELECT NOW() AS now, @@session.time_zone AS tz", [], 'row');
Line 1437: * Edit the $_SESSION
Line 1439: public function sessionEditor()
Line 1441: Session::instance();
Line 1455: echo '<h3>$_SESSION</h3>';
Line 1456: $this->sessionLoop($_SESSION, 0, []);
Line 1458: $this->template('Session editor');
Line 1464: private function sessionLoop(&$a, $depth, $keys)
Line 1486: echo '<form action="SITE/dbtools/sessionEditorAction" method="post">';
Line 1499: $this->sessionLoop($val, $depth + 1, $this_keys);
Line 1553: $this->sessionLoop($members, $depth + 1, $this_keys);
Line 1569: * Session Editor Action
Line 1571: public function sessionEditorAction()
Line 1573: Session::instance();
Line 1579: $final_array = &$_SESSION;
Line 1591: Url::redirect('dbtools/sessionEditor');
Line 1934: $_SESSION['module_builder_existing']['field_values']['module_name'] = $_POST['existing'];
Line 1935: $_SESSION['module_builder_existing']['field_values']['module_author'] = 'Karmabunny';
Line 1964: if (!empty($_SESSION['module_builder_existing']['field_values'])) {
Line 1965: $data = $_SESSION['module_builder_existing']['field_values'];
Line 1990: if (!empty($_SESSION['module_builder_existing']['field_errors'])) {
Line 1991: $view->errors = $_SESSION['module_builder_existing']['field_errors'];
Line 2023: $_SESSION['module_builder_existing']['field_values'] = Validator::trim($_POST);
Line 2024: $_SESSION['module_builder_existing']['field_errors'] = $errs;
Line 2383: * Render view to see session and cookie data
Line 2389: echo '<h2>$_SESSION</h2>';
Line 2390: echo sprintf('<pre>%s</pre>', print_r($_SESSION, true));

/sprout/Controllers/EmailShareController.php Highlighted file source
Line 26: use Sprout\Helpers\Session;
Line 46: Session::instance();
Line 83: $data = @$_SESSION['email_share']['field_values'];
Line 109: if (!empty($_SESSION['email_share']['field_errors'])) {
Line 110: $form->errors = $_SESSION['email_share']['field_errors'];
Line 114: if (empty($_SESSION['email_share']['captcha_passed'])) {
Line 150: $_SESSION['email_share']['field_values'] = Validator::trim($_POST);
Line 161: if (empty($_SESSION['email_share']['captcha_passed'])) {
Line 163: $_SESSION['email_share']['captcha_passed'] = true;
Line 171: $_SESSION['email_share']['field_errors'] = $valid->getFieldErrors();
Line 192: unset($_SESSION['email_share']);

/sprout/Controllers/FileUploadController.php Highlighted file source
Line 24: use Sprout\Helpers\Session;
Line 34: * Maximum number of chunks that can be uploaded per field-session
Line 55: * Creates a session record for a new file upload, and configures its initial state
Line 59: protected function &startSession()
Line 61: Session::instance();
Line 76: if (isset($_SESSION['file_uploads'][$uri][$field_name][$code])) {
Line 80: if (!isset($_SESSION['file_uploads'][$uri][$field_name])) {
Line 81: $_SESSION['file_uploads'][$uri][$field_name] = [];
Line 84: $_SESSION['file_uploads'][$uri][$field_name][$code] = [
Line 89: return $_SESSION['file_uploads'][$uri][$field_name][$code];
Line 94: * Gets the session data associated with a file upload
Line 97: public function &session()
Line 99: Session::instance();
Line 113: if (!isset($_SESSION['file_uploads'][$uri][$field_name][$code])) {
Line 117: return $_SESSION['file_uploads'][$uri][$field_name][$code];
Line 121: public function clearSession()
Line 123: Session::instance();
Line 129: unset($_SESSION['file_uploads'][$uri][$field_name][$code]);
Line 131: if (empty($_SESSION['file_uploads'][$uri][$field_name])) {
Line 132: unset($_SESSION['file_uploads'][$uri][$field_name]);
Line 139: * Perform basic sanity checks and establish (or reset) their session state
Line 146: $session = &$this->startSession();
Line 209: $upload_state = &$this->session();
Line 285: $upload_state = &$this->session();
Line 289: $this->clearSession();
Line 446: * @param string $code The upload session code

/sprout/Controllers/MultiStepFormController.php Highlighted file source
Line 23: use Sprout\Helpers\Session;
Line 41: /** Key for partitioning session data associated with this form, i.e. $_SESSION[$this->session_key] */
Line 42: protected $session_key = 'DUMMY';
Line 74: $session = $this->getSession();
Line 75: $this->checkStep($session, $step);
Line 77: $data = @$session['data'];
Line 87: $view->session_key = $this->session_key;
Line 91: if (!empty($session['field_errors'])) {
Line 92: $view->errors = $session['field_errors'];
Line 133: $session = &self::getSession();
Line 134: $this->checkStep($session, $step);
Line 140: if (!isset($session['data'])) $session['data'] = array();
Line 155: $session['step'] = $step;
Line 175: protected function checkStep($session, $step)
Line 177: $session_step = (int) @$session['step'];
Line 178: if ($session_step < 1) $session_step = 1;
Line 180: if ($session_step >= $step) return;
Line 182: Url::redirect($this->buildUrl($session_step));
Line 187: * Instantiate the session and make sure the session key is useable
Line 190: protected function &getSession() {
Line 191: $session = Session::instance();
Line 192: if (!isset($_SESSION[$this->session_key])) {
Line 193: $_SESSION[$this->session_key] = array();
Line 195: return $_SESSION[$this->session_key];
Line 210: $session = &self::getSession();
Line 221: $session['data'][$name] = @$_POST[$name];
Line 226: $session['field_errors'] = $valid->getFieldErrors();
Line 230: unset($session['field_errors']);
Line 278: * must match those used in the $session['data'] array. Each of the
Line 291: $session = &self::getSession();
Line 292: $data = $session['data'];
Line 294: if (IN_PRODUCTION) unset($_SESSION[$this->session_key]);

/sprout/core/Kohana.php Highlighted file source
Line 170: Event::add('system.display', array('Sprout\\Helpers\\SessionStats', 'trackPageView'));
Line 687: (date_generated, class_name, message, exception_object, exception_trace, server, get_data, session)
Line 689: (:date, :class, :message, :exception, :trace, :server, :get, :session)";
Line 717: 'session' => json_encode($_SESSION),

/sprout/Helpers/AdminAuth.php Highlighted file source
Line 60: Session::instance();
Line 61: if (!empty($_SESSION[self::KEY]['login_id'])) {
Line 78: Session::instance();
Line 118: $_SESSION[self::KEY]['tfa_id'] = $admin['id'];
Line 120: $_SESSION[self::KEY]['login_id'] = $admin['id'];
Line 123: $_SESSION[self::KEY]['super'] = false;
Line 124: $_SESSION[self::KEY]['remote'] = false;
Line 125: $_SESSION[self::KEY]['lock_key'] = Admin::createLockKey();
Line 146: Session::instance();
Line 148: $operator_id = $_SESSION[self::KEY]['login_id'];
Line 202: Session::instance();
Line 203: $_SESSION[self::KEY]['super'] = true;
Line 204: $_SESSION[self::KEY]['remote'] = false;
Line 205: $_SESSION[self::KEY]['login_id'] = $uid;
Line 206: $_SESSION[self::KEY]['login_user'] = $user;
Line 207: $_SESSION[self::KEY]['lock_key'] = Admin::createLockKey();
Line 272: // Session::instance();
Line 273: // $_SESSION[self::KEY]['super'] = true;
Line 274: // $_SESSION[self::KEY]['remote'] = true;
Line 275: // $_SESSION[self::KEY]['login_id'] = $uid;
Line 276: // $_SESSION[self::KEY]['lock_key'] = Admin::createLockKey();
Line 292: Session::instance();
Line 294: $operator_id = $_SESSION[self::KEY]['login_id'];
Line 364: Session::instance();
Line 365: unset($_SESSION[self::KEY]);
Line 375: Session::instance();
Line 376: return @$_SESSION[self::KEY]['login_id'];
Line 387: Session::instance();
Line 388: return self::hasDatabaseRecord() ? @$_SESSION[self::KEY]['login_id'] : 0;
Line 400: Session::instance();
Line 406: return Pdb::q($q, [$_SESSION[self::KEY]['login_id']], 'row');
Line 408: } else if ($_SESSION[self::KEY]['remote']) {
Line 414: 'id' => $_SESSION[self::KEY]['login_id'],
Line 415: 'name' => $_SESSION[self::KEY]['login_user'] . ' (super-op)',
Line 416: 'username' => $_SESSION[self::KEY]['login_user'],
Line 432: Session::instance();
Line 434: if ($_SESSION[self::KEY]['login_id'] == false) return false;
Line 435: if ($_SESSION[self::KEY]['super'] == true) return true;
Line 446: $hascat = Pdb::q($q, [$_SESSION[self::KEY]['login_id'], $category_id], 'arr');
Line 460: Session::instance();
Line 462: if ($_SESSION[self::KEY]['login_id'] == false) return array();
Line 471: return Pdb::q($q, [$_SESSION[self::KEY]['login_id']], 'col');
Line 492: Session::instance();
Line 493: return !empty($_SESSION[self::KEY]['super']);
Line 504: Session::instance();
Line 505: return empty($_SESSION[self::KEY]['super']);

/sprout/Helpers/AdminPerms.php Highlighted file source
Line 41: Session::instance();
Line 44: if (! $_SESSION['admin']['login_id']) return false;
Line 47: if ($_SESSION['admin']['super']) return true;
Line 55: $conditions = ['operator_id' => $_SESSION['admin']['login_id'], ['cat_id', 'IN', $access_groups]];
Line 130: Session::instance();
Line 140: if (empty($_SESSION['admin']['login_id'])) return;
Line 143: if ($_SESSION['admin']['super']) {
Line 157: $res = Pdb::q($q, [$_SESSION['admin']['login_id']], 'pdo');
Line 189: Session::instance();
Line 201: if (empty($_SESSION['admin']['login_id'])) return self::$subsites_permitted;
Line 204: if (isset($_SESSION['admin']['super'])) {
Line 292: Session::instance();
Line 294: if (! $_SESSION['admin']['login_id']) return false;
Line 295: if ($_SESSION['admin']['super']) return true;
Line 363: Session::instance();
Line 365: if (! $_SESSION['admin']['login_id']) return array();
Line 366: if ($_SESSION['admin']['super']) return $controllers;

/sprout/Helpers/Csrf.php Highlighted file source
Line 23: * Initialises the PHP session and, if not present, generates a CSRF secret for the session
Line 27: protected static function initialiseSession()
Line 29: Session::instance();
Line 31: if (!isset($_SESSION['csrf_token'])) {
Line 32: $_SESSION['csrf_token'] = Security::randStr(32);
Line 43: self::initialiseSession();
Line 45: return '<input type="hidden" name="edit_token" value="' . Enc::html($_SESSION['csrf_token']) . '">';
Line 56: Session::instance();
Line 59: if (empty($_POST['edit_token']) or empty($_SESSION['csrf_token'])) {
Line 63: if ($_POST['edit_token'] !== $_SESSION['csrf_token']) {
Line 79: Notification::error('Session timeout or missing security token');
Line 95: self::initialiseSession();
Line 97: return $_SESSION['csrf_token'];

/sprout/Helpers/DefaultCaptcha.php Highlighted file source
Line 27: Session::instance();
Line 52: Session::instance();
Line 54: if (empty($_SESSION['captcha'])) return false;
Line 59: if (! isset($_SESSION['captcha'][$_POST['captcha_num']])) return false;
Line 61: $exp = strtolower($_SESSION['captcha'][$_POST['captcha_num']]);
Line 64: unset ($_SESSION['captcha'][$_POST['captcha_num']]);

/sprout/Helpers/Drivers/Session/Cache.php Highlighted file source
Line 16: namespace Sprout\Helpers\Drivers\Session;
Line 23: use Sprout\Helpers\Session;
Line 27: * Session cache driver.
Line 29: * Cache library config goes in the session.storage config entry:
Line 35: * overridden by the session expiration setting.
Line 37: class Cache implements Session
Line 46: if (Kohana::config('session.encryption'))
Line 51: Kohana::log('debug', 'Session Cache Driver Initialized');
Line 56: $config = Kohana::config('session.storage');
Line 72: $config['lifetime'] = (Kohana::config('session.expiration') == 0) ? 86400 : Kohana::config('session.expiration');
Line 85: $id = 'session_'.$id;
Line 88: return Kohana::config('session.encryption') ? $this->encrypt->decode($data) : $data;
Line 97: $id = 'session_'.$id;
Line 98: $data = Kohana::config('session.encryption') ? $this->encrypt->encode($data) : $data;
Line 105: $id = 'session_'.$id;
Line 111: session_regenerate_id(TRUE);
Line 113: // Return new session id
Line 114: return session_id();
Line 123: } // End Session Cache Driver

/sprout/Helpers/Drivers/Session/Database.php Highlighted file source
Line 16: namespace Sprout\Helpers\Drivers\Session;
Line 21: use Sprout\Helpers\Drivers\SessionDriver;
Line 27: * Session database driver.
Line 29: class Database implements SessionDriver
Line 32: protected $table = 'sessions';
Line 37: // Session settings
Line 38: protected $session_id;
Line 44: $config = Kohana::config('session');
Line 60: Kohana::log('debug', 'Session Database Driver Initialized');
Line 75: // Load the session
Line 77: $q = "SELECT data FROM ~{$this->table} WHERE session_id = ? LIMIT 1";
Line 81: // No current session
Line 82: $this->session_id = NULL;
Line 86: // Set the current session id
Line 87: $this->session_id = $id;
Line 96: 'session_id' => $id,
Line 101: if ($this->session_id === NULL)
Line 103: // Insert a new session
Line 106: elseif ($id === $this->session_id)
Line 108: // Do not update the session_id
Line 109: unset($data['session_id']);
Line 111: // Update the existing session
Line 112: $count = Pdb::update($this->table, $data, array('session_id' => $id));
Line 116: // Update the session and id
Line 117: $count = Pdb::update($this->table, $data, array('session_id' => $this->session_id));
Line 119: // Set the new session id
Line 120: $this->session_id = $id;
Line 128: // Delete the requested session
Line 129: Pdb::delete($this->table, array('session_id' => $id));
Line 131: // Session id is no longer valid
Line 132: $this->session_id = NULL;
Line 139: // Generate a new session id
Line 140: session_regenerate_id();
Line 142: // Return new session id
Line 143: return session_id();
Line 148: // Delete all expired sessions
Line 152: } // End Session Database Driver

/sprout/Helpers/Drivers/SessionDriver.php Highlighted file source
Line 20: * Session driver interface
Line 22: interface SessionDriver {
Line 25: * Opens a session.
Line 28: * @param string session name
Line 34: * Closes a session.
Line 41: * Reads a session.
Line 43: * @param string session id
Line 49: * Writes a session.
Line 51: * @param string session id
Line 52: * @param string session data
Line 58: * Destroys a session.
Line 60: * @param string session id
Line 66: * Regenerates the session id.
Line 75: * @param integer session expiration period
Line 80: } // End Session Driver Interface

/sprout/Helpers/File.php Highlighted file source
Line 1145: * @param string $session_key Session key used for this file field, used for {@see FileUpload::verify}
Line 1151: public static function replaceSet($session_key, $field_name, $exts, $prefix)
Line 1157: $src_file = FileUpload::verify($session_key, $field_name, $i, $exts);

/sprout/Helpers/FileUpload.php Highlighted file source
Line 37: * // Expects $_SESSION['file_uploads']['user_details']['avatar']['code'] to be set
Line 41: * @param string $sess_key Session key related to the form, e.g. 'user-register';
Line 79: if (!isset($_SESSION['file_uploads'][$sess_key][$field][$upload_code])) {
Line 80: throw new FileUploadException('Upload session lost');
Line 124: * Generates a fake upload, including a session entry and a temp symlink, from an existing file on disk.
Line 129: * @param string $session_key The session key used for file uploads, e.g. 'user-register'
Line 136: public static function generateFromDisk($filename, $session_key, $field_name)
Line 151: $_SESSION['file_uploads'][$session_key][$field_name][$code] = ['size' => filesize($real_file)];

/sprout/Helpers/Form.php Highlighted file source
Line 127: * Load data and errors from the session, with optional record id validation
Line 129: * Expected session keys:
Line 130: * record_id Checked against $verify_record_id, session data is thrown away in case of mismatch
Line 135: * $data = Form::loadFromSession('register');
Line 141: * @param string $key Session key to get values from
Line 143: * @return array Loaded session data
Line 144: * @return null No session data found
Line 146: public static function loadFromSession($key, $verify_record_id = null)
Line 148: Session::instance();
Line 150: if (!empty($verify_record_id) and !empty($_SESSION[$key]['record_id'])) {
Line 151: if ($_SESSION[$key]['record_id'] != $verify_record_id) {
Line 152: unset($_SESSION[$key]);
Line 157: if (!empty($_SESSION[$key]['field_errors'])) {
Line 158: self::setErrors($_SESSION[$key]['field_errors']);
Line 161: if (!empty($_SESSION[$key]['field_values'])) {
Line 162: self::setData($_SESSION[$key]['field_values']);
Line 163: return $_SESSION[$key]['field_values'];

/sprout/Helpers/Needs.php Highlighted file source
Line 311: Session::Instance();
Line 312: if (empty($_SESSION['gtm_datalayers'])) $_SESSION['gtm_datalayers'] = [];
Line 313: $_SESSION['gtm_datalayers'][] = $data;
Line 324: Session::Instance();
Line 325: if (empty($_SESSION['gtm_datalayers'])) return;
Line 330: foreach ($_SESSION['gtm_datalayers'] as $data) {
Line 336: unset($_SESSION['gtm_datalayers']);

/sprout/Helpers/Notification.php Highlighted file source
Line 37: * @param string $scope If set the the messages are pulled from a different session key
Line 42: Session::Instance();
Line 45: if (empty($_SESSION['notify'][$scope])) {
Line 50: foreach ($_SESSION['notify'][$scope] as $idx => $message) {
Line 66: foreach ($_SESSION['notify'][$scope] as $idx => $message) {
Line 79: unset ($_SESSION['notify'][$scope][$idx]);
Line 84: if (empty($_SESSION['notify'][$scope])) {
Line 85: unset($_SESSION['notify'][$scope]);
Line 90: foreach ($_SESSION['notify'][$scope] as $idx => $message) {
Line 112: unset($_SESSION['notify'][$scope]);
Line 126: Session::instance();
Line 127: if (empty($_SESSION['notify'][$scope])) return false;
Line 128: foreach ($_SESSION['notify'][$scope] as $record) {
Line 145: Session::Instance();
Line 147: $_SESSION['notify'][$scope][] = array(self::TYPE_CONFIRM, Text::limitedSubsetHtml($message), []);
Line 149: $_SESSION['notify'][$scope][] = array(self::TYPE_CONFIRM, Enc::html($message), []);
Line 163: Session::Instance();
Line 165: $_SESSION['notify'][$scope][] = array(self::TYPE_ERROR, Text::limitedSubsetHtml($message), []);
Line 167: $_SESSION['notify'][$scope][] = array(self::TYPE_ERROR, Enc::html($message), []);
Line 180: Session::Instance();
Line 181: $_SESSION['notify'][$scope][] = array(self::TYPE_POPUP, Enc::html($message), $actions);

/sprout/Helpers/Session.php Highlighted file source
Line 22: use Sprout\Helpers\Drivers\SessionDriver;
Line 25: * Session library.
Line 27: class Session
Line 30: // Session singleton
Line 34: protected static $protect = array('session_id', 'user_agent', 'last_activity', 'ip_address', 'total_hits', '_kf_flash_');
Line 44: * Singleton instance of Session.
Line 48: if (Session::$instance == NULL)
Line 51: new Session;
Line 54: return Session::$instance;
Line 58: * On first session instance creation, sets up the driver and creates session.
Line 63: $_SESSION = [];
Line 68: if (Session::$instance === NULL)
Line 71: Session::$config = Kohana::config('session');
Line 74: Session::$protect = array_combine(Session::$protect, Session::$protect);
Line 77: ini_set('session.gc_probability', (int) Session::$config['gc_probability']);
Line 78: ini_set('session.gc_divisor', 100);
Line 79: ini_set('session.gc_maxlifetime', (Session::$config['expiration'] == 0) ? 86400 : Session::$config['expiration']);
Line 81: // Create a new session
Line 84: if (Session::$config['regenerate'] > 0 AND ($_SESSION['total_hits'] % Session::$config['regenerate']) === 0)
Line 86: // Regenerate session id and update session cookie
Line 90: // Close the session on system shutdown (run before sending the headers), so that
Line 91: // the session cookie(s) can be written.
Line 95: Session::$instance = $this;
Line 100: * Get the session id.
Line 106: return $_SESSION['session_id'];
Line 110: * Create a new session.
Line 117: // Destroy any current sessions
Line 120: if (Session::$config['driver'] !== 'native')
Line 123: $driver = 'Sprout\\Helpers\\Drivers\\Session\\' . ucfirst(Session::$config['driver']);
Line 127: throw new Kohana_Exception('core.driver_not_found', Session::$config['driver'], get_class());
Line 130: Session::$driver = new $driver();
Line 133: if ( ! (Session::$driver instanceof SessionDriver))
Line 134: throw new Kohana_Exception('core.driver_implements', Session::$config['driver'], get_class(), 'SessionDriver');
Line 136: // Register non-native driver as the session handler
Line 137: session_set_save_handler
Line 139: array(Session::$driver, 'open'),
Line 140: array(Session::$driver, 'close'),
Line 141: array(Session::$driver, 'read'),
Line 142: array(Session::$driver, 'write'),
Line 143: array(Session::$driver, 'destroy'),
Line 144: array(Session::$driver, 'gc')
Line 148: // Validate the session name
Line 149: if ( ! preg_match('~^(?=.*[a-z])[a-z0-9_]++$~iD', Session::$config['name']))
Line 150: throw new Kohana_Exception('session.invalid_session_name', Session::$config['name']);
Line 152: // Name the session, this will also be the name of the cookie
Line 153: session_name(Session::$config['name']);
Line 155: // Set the session cookie parameters
Line 156: session_set_cookie_params
Line 158: Session::$config['expiration'],
Line 162: true // never allow javascript to access session cookies
Line 165: // Start the session!
Line 166: session_start();
Line 168: // Put session_id in the session variable
Line 169: $_SESSION['session_id'] = session_id();
Line 172: if ( ! isset($_SESSION['_kf_flash_']))
Line 174: $_SESSION['total_hits'] = 0;
Line 175: $_SESSION['_kf_flash_'] = array();
Line 177: $_SESSION['user_agent'] = Kohana::$user_agent;
Line 178: $_SESSION['ip_address'] = Request::userIp();
Line 182: Session::$flash =& $_SESSION['_kf_flash_'];
Line 185: $_SESSION['total_hits'] += 1;
Line 188: if ($_SESSION['total_hits'] > 1)
Line 190: // Validate the session
Line 191: foreach (Session::$config['validate'] as $valid)
Line 197: if ($_SESSION[$valid] !== Kohana::$user_agent)
Line 203: if ($_SESSION[$valid] !== Request::userIp())
Line 209: if (time() - $_SESSION['last_activity'] > ini_get('session.gc_maxlifetime'))
Line 220: $_SESSION['last_activity'] = time();
Line 223: Session::set($vars);
Line 227: * Regenerates the global session id.
Line 233: if (Session::$config['driver'] === 'native')
Line 235: // Generate a new session id
Line 236: // Note: also sets a new session cookie with the updated id
Line 237: session_regenerate_id(TRUE);
Line 239: // Update session with new id
Line 240: $_SESSION['session_id'] = session_id();
Line 245: $_SESSION['session_id'] = Session::$driver->regenerate();
Line 248: // Get the session name
Line 249: $name = session_name();
Line 253: // Change the cookie value to match the new session id to prevent "lag"
Line 256: $_SESSION['session_id'],
Line 257: Session::$config['expiration'],
Line 267: * Destroys the current session.
Line 273: if (session_id() !== '')
Line 275: // Get the session name
Line 276: $name = session_name();
Line 278: // Destroy the session
Line 279: session_destroy();
Line 282: $_SESSION = array();
Line 284: // Delete the session cookie
Line 290: * Runs the system.session_write event, then calls session_write_close.
Line 302: // Run the events that depend on the session being open
Line 303: Event::run('system.session_write');
Line 308: // Close the session
Line 309: session_write_close();
Line 314: * Set a session variable.
Line 332: if (isset(Session::$protect[$key]))
Line 336: $_SESSION[$key] = $val;
Line 362: Session::$flash[$key] = 'new';
Line 363: Session::set($key, $val);
Line 375: $keys = ($keys === NULL) ? array_keys(Session::$flash) : func_get_args();
Line 379: if (isset(Session::$flash[$key]))
Line 381: Session::$flash[$key] = 'new';
Line 387: * Expires old flash data and removes it from the session.
Line 399: if ( ! empty(Session::$flash))
Line 401: foreach (Session::$flash as $key => $state)
Line 406: unset(Session::$flash[$key], $_SESSION[$key]);
Line 411: Session::$flash[$key] = 'old';
Line 425: * @return mixed Variable data if key specified, otherwise array containing all session data.
Line 430: return $_SESSION;
Line 432: $result = isset($_SESSION[$key]) ? $_SESSION[$key] : Kohana::keyString($_SESSION, $key);
Line 458: $return = Session::get($key, $default);
Line 459: Session::delete($key);
Line 476: if (isset(Session::$protect[$key]))
Line 480: unset($_SESSION[$key]);
Line 486: * Removes all session variables.
Line 490: foreach ($_SESSION as $key => $_) {
Line 491: unset($_SESSION[$key]);
Line 497: * Return the entire session object.
Line 503: return $_SESSION;
Line 506: } // End Session Class

/sprout/Helpers/SessionStats.php Highlighted file source
Line 20: class SessionStats
Line 63: Session::instance();
Line 65: self::trackSession();
Line 71: * Session level tracking - utm tags, referrer, etc
Line 73: protected static function trackSession()
Line 75: if (empty($_SESSION['stats'])) {
Line 76: $_SESSION['stats'] = [
Line 86: $_SESSION['stats']['referrer'] = $referrer;
Line 95: $_SESSION['stats'][$param] = $_GET[$param];
Line 100: if (empty($_SESSION['stats']['utm_source']) and empty($_SESSION['stats']['utm_medium'])) {
Line 101: list($source, $medium) = self::autoDetectSourceMedium(@$_SESSION['stats']['referrer']);
Line 103: $_SESSION['stats']['utm_source'] = $source;
Line 106: $_SESSION['stats']['utm_medium'] = $medium;
Line 113: * Track a page view in the session
Line 120: if (empty($_SESSION['stats']['pageviews'][$url])) {
Line 121: $_SESSION['stats']['pageviews'][$url] = 1;
Line 123: $_SESSION['stats']['pageviews'][$url] += 1;
Line 160: if (!empty($_SESSION['stats'])) {
Line 161: return array_sum($_SESSION['stats']['pageviews']);
Line 175: if (!empty($_SESSION['stats'])) {
Line 176: return count($_SESSION['stats']['pageviews']);
Line 194: if (!empty($_SESSION['stats']['pageviews'][$url])) {
Line 195: return $_SESSION['stats']['pageviews'][$url];
Line 203: * Time the session started
Line 209: if (!empty($_SESSION['stats'])) {
Line 210: return $_SESSION['stats']['start'];
Line 224: if (!empty($_SESSION['stats'])) {
Line 234: * The initial HTTP referrer when the session was first started
Line 240: return @$_SESSION['stats']['referrer'];
Line 252: return @$_SESSION['stats']['utm_source'];
Line 264: return @$_SESSION['stats']['utm_medium'];
Line 276: return @$_SESSION['stats']['utm_campaign'];
Line 288: return @$_SESSION['stats']['utm_term'];
Line 300: return @$_SESSION['stats']['utm_content'];

/sprout/sprout_load.php Highlighted file source
Line 16: use Sprout\Helpers\SessionStats;
Line 21: SessionStats::init();
Line 66: Register::displayCondition('Sprout\\Helpers\\DisplayConditions\\Session\\TimeOnSite', 'Session', 'Minutes on site');
Line 67: Register::displayCondition('Sprout\\Helpers\\DisplayConditions\\Session\\ThisPageviews', 'Session', 'Pageviews');
Line 68: Register::displayCondition('Sprout\\Helpers\\DisplayConditions\\Session\\TotalPageviews', 'Session', 'Pageviews (total)');
Line 69: Register::displayCondition('Sprout\\Helpers\\DisplayConditions\\Session\\UniquePageviews', 'Session', 'Pageviews (unique)');
A total of 627 lines in 37 files were found