@@ -68,26 +68,26 @@ public function __construct() {
6868 if ($ this ->_conf ['start_session ' ] == true ) {
6969
7070 $ this ->uses ('session ' );
71- $ tmp = $ this ->db -> queryOneRecord ( " SELECT `value` FROM sys_config WHERE `config_id` = 2 AND `group` = 'interface' AND `name` = 'session_timeout'" );
72- if ($ tmp && $ tmp [ ' value ' ] > 0 ) {
71+ $ sess_timeout = $ this ->conf ( 'interface ' , 'session_timeout ' );
72+ if ($ sess_timeout ) {
7373 /* check if user wants to stay logged in */
7474 if (isset ($ _POST ['s_mod ' ]) && isset ($ _POST ['s_pg ' ]) && $ _POST ['s_mod ' ] == 'login ' && $ _POST ['s_pg ' ] == 'index ' && isset ($ _POST ['stay ' ]) && $ _POST ['stay ' ] == '1 ' ) {
7575 /* check if staying logged in is allowed */
7676 $ this ->uses ('ini_parser ' );
7777 $ tmp = $ this ->db ->queryOneRecord ('SELECT config FROM sys_ini WHERE sysini_id = 1 ' );
7878 $ tmp = $ this ->ini_parser ->parse_ini_string (stripslashes ($ tmp ['config ' ]));
7979 if (!isset ($ tmp ['misc ' ]['session_allow_endless ' ]) || $ tmp ['misc ' ]['session_allow_endless ' ] != 'y ' ) {
80- $ this ->session ->set_timeout ($ tmp [ ' value ' ] );
81- session_set_cookie_params (($ tmp [ ' value ' ] * 60 ) + 300 ); // make the cookie live 5 minutes longer
80+ $ this ->session ->set_timeout ($ sess_timeout );
81+ session_set_cookie_params (($ sess_timeout * 60 ) + 300 ); // make the cookie live 5 minutes longer
8282 } else {
8383 // we are doing login here, so we need to set the session data
8484 $ this ->session ->set_permanent (true );
8585 $ this ->session ->set_timeout (365 * 24 * 3600 ); // one year
8686 session_set_cookie_params (365 * 24 * 3600 ); // make the cookie live 5 minutes longer
8787 }
8888 } else {
89- $ this ->session ->set_timeout ($ tmp [ ' value ' ] );
90- session_set_cookie_params (($ tmp [ ' value ' ] * 60 ) + 300 ); // make the cookie live 5 minutes longer
89+ $ this ->session ->set_timeout ($ sess_timeout );
90+ session_set_cookie_params (($ sess_timeout * 60 ) + 300 ); // make the cookie live 5 minutes longer
9191 }
9292 } else {
9393 session_set_cookie_params (0 ); // until browser is closed
@@ -148,6 +148,22 @@ public function load($files) {
148148 }
149149 }
150150 }
151+
152+ public function conf ($ plugin , $ key , $ value = null ) {
153+ if (is_null ($ value )) {
154+ $ tmpconf = $ this ->db ->queryOneRecord ("SELECT `value` FROM `sys_config` WHERE `group` = ' " . $ this ->db ->quote ($ plugin ) . "' AND `name` = ' " . $ this ->db ->quote ($ key ) . "' " );
155+ if ($ tmpconf ) return $ tmpconf ['value ' ];
156+ else return null ;
157+ } else {
158+ if ($ value === false ) {
159+ $ this ->db ->query ("DELETE FROM `sys_config` WHERE `group` = ' " . $ this ->db ->quote ($ plugin ) . "' AND `name` = ' " . $ this ->db ->quote ($ key ) . "' " );
160+ return null ;
161+ } else {
162+ $ this ->db ->query ("REPLACE INTO `sys_config` (`group`, `name`, `value`) VALUES (' " . $ this ->db ->quote ($ plugin ) . "', ' " . $ this ->db ->quote ($ key ) . "', ' " . $ this ->db ->quote ($ value ) . "') " );
163+ return $ value ;
164+ }
165+ }
166+ }
151167
152168 /** Priority values are: 0 = DEBUG, 1 = WARNING, 2 = ERROR */
153169
0 commit comments