Browse Source

Fix missing $_SESSION variable in src/App

tags/2018.09
Hypolite Petovan 1 year ago
parent
commit
45de8a28cd
2 changed files with 20 additions and 9 deletions
  1. +3
    -7
      src/App.php
  2. +17
    -2
      src/Core/Session.php

+ 3
- 7
src/App.php View File

@@ -1399,16 +1399,12 @@ class App
}
}

if (!empty($_SESSION)) {
$user_theme = defaults($_SESSION, 'theme', $system_theme);
} else {
$user_theme = $system_theme;
}
$user_theme = Core\Session::get('theme', $system_theme);

// Specific mobile theme override
if (($this->is_mobile || $this->is_tablet) && defaults($_SESSION, 'show-mobile', true)) {
if (($this->is_mobile || $this->is_tablet) && Core\Session::get('show-mobile', true)) {
$system_mobile_theme = Config::get('system', 'mobile-theme');
$user_mobile_theme = defaults($_SESSION, 'mobile-theme', $system_mobile_theme);
$user_mobile_theme = Core\Session::get('mobile-theme', $system_mobile_theme);

// --- means same mobile theme as desktop
if (!empty($user_mobile_theme) && $user_mobile_theme !== '---') {


+ 17
- 2
src/Core/Session.php View File

@@ -45,9 +45,24 @@ class Session
return isset($_SESSION[$name]);
}

public static function get($name)
/**
* Retrieves a key from the session super global or the defaults if the key is missing or the value is falsy.
*
* Handle the case where session_start() hasn't been called and the super global isn't available.
*
* @param string $name
* @param mixed $defaults
* @return mixed
*/
public static function get($name, $defaults = null)
{
return defaults($_SESSION, $name, null);
if (isset($_SESSION)) {
$return = defaults($_SESSION, $name, $defaults);
} else {
$return = $defaults;
}

return $return;
}

public static function set($name, $value)


Loading…
Cancel
Save