From: hickert Date: Thu, 29 Jul 2010 13:19:55 +0000 (+0000) Subject: Updated post handling X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=d5a2cfdfa9a2db0d320d4e36a45d3a47e4c177aa;p=gosa.git Updated post handling git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@19247 594d385d-05f5-0310-b6e9-bd551577e9d8 --- diff --git a/gosa-core/include/class_session.inc b/gosa-core/include/class_session.inc index 7d8524c73..6b6ddd4f6 100644 --- a/gosa-core/include/class_session.inc +++ b/gosa-core/include/class_session.inc @@ -22,207 +22,207 @@ class session { - public static function get_session_size() - { - - } - - public static function get_element_size() - { - - } - - public static function add_channel($name) - { - /* If there's already such kind of channel, skip... */ - if (isset($_SESSION[$name])){ - return (FALSE); - } - - /* Allocate it... */ - $_SESSION[$name]= array(); - $_POST["_channel_"]= $name; - return (TRUE); - } - - public static function remove_channel($name) - { - /* If there's already such kind of channel, skip... */ - if (isset($_SESSION[$name])){ - unset($_SESSION[$name]); - if (isset($_POST["_channel_"])){ - unset($_POST["_channel_"]); - } - return (TRUE); - } - - return (FALSE); - } - - public static function is_set($name) - { - $channel= ""; - if (isset($_POST['_channel_'])){ - $channel= $_POST['_channel_']; - } - - /* Global fallback if not set */ - if ($channel == ""){ - return(isset($_SESSION[$name])); - } - - /* Sanity check */ - if (!session::channel_exists($channel)){ - msg_dialog::display(_("Internal error"), _("Requested channel does not exist!"), FATAL_ERROR_DIALOG); - } - - $channel= "gch_".$channel; - return(isset($_SESSION[$channel][$name])); - } - - public static function global_is_set($name) - { - return(isset($_SESSION[$name])); - } - - public static function set($name,$value) - { - $channel= ""; - if (isset($_POST['_channel_'])){ - $channel= $_POST['_channel_']; - } - - /* Global fallback if not set */ - if ($channel == ""){ - $_SESSION[$name] = $value; - } else { - /* Sanity check */ - if (!session::channel_exists($channel)){ - msg_dialog::display(_("Internal error"), _("Requested channel does not exist!"), FATAL_ERROR_DIALOG); - } - $_SESSION[$channel][$name] = $value; - } - } - - public static function global_set($name,$value) - { - $_SESSION[$name] = $value; - } - - public static function &get($name) - { - $channel= ""; - if (isset($_POST['_channel_'])){ - $channel= $_POST['_channel_']; - } - - /* Global fallback if not set */ - if ($channel == ""){ - $ret = &$_SESSION[$name]; - return($ret); - } - - /* Sanity check */ - if (!session::channel_exists($channel)){ - msg_dialog::display(_("Internal error"), _("Requested channel does not exist!"), FATAL_ERROR_DIALOG); - } - - $channel= "gch_".$channel; - $ret = &$_SESSION[$channel][$name]; - return($ret); - } - - public static function &global_get($name) - { - $ret = &$_SESSION[$name]; - return($ret); - } - - public static function delete($name) - { - $channel= ""; - if (isset($_POST['_channel_'])){ - $channel= $_POST['_channel_']; - } - - /* Global fallback if not set */ - if ($channel == ""){ - if(isset($_SESSION[$name])){ - unset($_SESSION[$name]); - } - } else { - if(isset($_SESSION[$channel][$name])){ - unset($_SESSION[$channel][$name]); - } - } - } - - public static function global_delete($name) - { - if($_SESSION[$name]){ - unset($_SESSION[$name]); - } - } - - public static function un_set($name) - { - return(session::delete($name)); - } - - public static function global_un_set($name) - { - return(session::global_delete($name)); - } - - public static function start() - { - /* Set cookie lifetime to one day (The parameter is in seconds ) */ - session_set_cookie_params(24*60*60); - - /* Set cache limter to one day (parameter is minute !!)*/ - session_cache_expire(60*24); // default is 180 - - /* Set session max lifetime, to prevent the garbage collector to delete session before timeout. - !! The garbage collector is a cron job on debian systems, the cronjob will fetch the timeout from - the php.ini, so if you use debian, you must hardcode session.gc_maxlifetime in your php.ini */ - ini_set("session.gc_maxlifetime",24*60*60); - session_name("GOsa"); - session_start(); - - /* Check for changed browsers and bail out */ - if (isset($_SESSION['HTTP_USER_AGENT'])) - { - if ($_SESSION['HTTP_USER_AGENT'] != md5($_SERVER['HTTP_USER_AGENT'])) { - session_destroy(); - session_name("GOsa"); - session_start(); - } - } else { - $_SESSION['HTTP_USER_AGENT'] = md5($_SERVER['HTTP_USER_AGENT']); - } - - /* Regenerate ID to increase security */ - if (!isset($_SESSION['started'])){ - session_regenerate_id(); - $_SESSION['started'] = true; - } - } - - public static function destroy() - { - @session_destroy(); - } - - public static function set_lifetime($seconds = -1) - { - echo "Not implemented yet"; - } - - public static function &get_all() - { - $ret = &$_SESSION; - return($ret); - } + public static function get_session_size() + { + + } + + public static function get_element_size() + { + + } + + public static function add_channel($name) + { + /* If there's already such kind of channel, skip... */ + if (isset($_SESSION[$name])){ + return (FALSE); + } + + /* Allocate it... */ + $_SESSION[$name]= array(); + $_POST["_channel_"]= $name; + return (TRUE); + } + + public static function remove_channel($name) + { + /* If there's already such kind of channel, skip... */ + if (isset($_SESSION[$name])){ + unset($_SESSION[$name]); + if (isset($_POST["_channel_"])){ + unset($_POST["_channel_"]); + } + return (TRUE); + } + + return (FALSE); + } + + public static function is_set($name) + { + $channel= ""; + if (isset($_POST['_channel_'])){ + $channel= $_POST['_channel_']; + } + + /* Global fallback if not set */ + if ($channel == ""){ + return(isset($_SESSION[$name])); + } + + /* Sanity check */ + if (!session::channel_exists($channel)){ + msg_dialog::display(_("Internal error"), _("Requested channel does not exist!"), FATAL_ERROR_DIALOG); + } + + $channel= "gch_".$channel; + return(isset($_SESSION[$channel][$name])); + } + + public static function global_is_set($name) + { + return(isset($_SESSION[$name])); + } + + public static function set($name,$value) + { + $channel= ""; + if (isset($_POST['_channel_'])){ + $channel= $_POST['_channel_']; + } + + /* Global fallback if not set */ + if ($channel == ""){ + $_SESSION[$name] = $value; + } else { + /* Sanity check */ + if (!session::channel_exists($channel)){ + msg_dialog::display(_("Internal error"), _("Requested channel does not exist!"), FATAL_ERROR_DIALOG); + } + $_SESSION[$channel][$name] = $value; + } + } + + public static function global_set($name,$value) + { + $_SESSION[$name] = $value; + } + + public static function &get($name) + { + $channel= ""; + if (isset($_POST['_channel_'])){ + $channel= $_POST['_channel_']; + } + + /* Global fallback if not set */ + if ($channel == ""){ + $ret = &$_SESSION[$name]; + return($ret); + } + + /* Sanity check */ + if (!session::channel_exists($channel)){ + msg_dialog::display(_("Internal error"), _("Requested channel does not exist!"), FATAL_ERROR_DIALOG); + } + + $channel= "gch_".$channel; + $ret = &$_SESSION[$channel][$name]; + return($ret); + } + + public static function &global_get($name) + { + $ret = &$_SESSION[$name]; + return($ret); + } + + public static function delete($name) + { + $channel= ""; + if (isset($_POST['_channel_'])){ + $channel= $_POST['_channel_']; + } + + /* Global fallback if not set */ + if ($channel == ""){ + if(isset($_SESSION[$name])){ + unset($_SESSION[$name]); + } + } else { + if(isset($_SESSION[$channel][$name])){ + unset($_SESSION[$channel][$name]); + } + } + } + + public static function global_delete($name) + { + if($_SESSION[$name]){ + unset($_SESSION[$name]); + } + } + + public static function un_set($name) + { + return(session::delete($name)); + } + + public static function global_un_set($name) + { + return(session::global_delete($name)); + } + + public static function start() + { + /* Set cookie lifetime to one day (The parameter is in seconds ) */ + session_set_cookie_params(24*60*60); + + /* Set cache limter to one day (parameter is minute !!)*/ + session_cache_expire(60*24); // default is 180 + + /* Set session max lifetime, to prevent the garbage collector to delete session before timeout. + !! The garbage collector is a cron job on debian systems, the cronjob will fetch the timeout from + the php.ini, so if you use debian, you must hardcode session.gc_maxlifetime in your php.ini */ + ini_set("session.gc_maxlifetime",24*60*60); + session_name("GOsa"); + session_start(); + + /* Check for changed browsers and bail out */ + if (isset($_SESSION['HTTP_USER_AGENT'])) + { + if ($_SESSION['HTTP_USER_AGENT'] != md5($_SERVER['HTTP_USER_AGENT'])) { + session_destroy(); + session_name("GOsa"); + session_start(); + } + } else { + $_SESSION['HTTP_USER_AGENT'] = md5($_SERVER['HTTP_USER_AGENT']); + } + + /* Regenerate ID to increase security */ + if (!isset($_SESSION['started'])){ + session_regenerate_id(); + $_SESSION['started'] = true; + } + } + + public static function destroy() + { + @session_destroy(); + } + + public static function set_lifetime($seconds = -1) + { + echo "Not implemented yet"; + } + + public static function &get_all() + { + $ret = &$_SESSION; + return($ret); + } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: