From 8ddae515b9603cd4acf3e0b38397bb6e9ef51eab Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Fri, 14 Oct 2011 11:55:47 +0200 Subject: [PATCH] Function event_login needs the user status --- main/inc/lib/conditionallogin.lib.php | 15 +++++++------- main/inc/lib/events.lib.inc.php | 1 + main/inc/local.inc.php | 28 ++++++++++++++++----------- main/install/install.lib.php | 2 +- 4 files changed, 26 insertions(+), 20 deletions(-) diff --git a/main/inc/lib/conditionallogin.lib.php b/main/inc/lib/conditionallogin.lib.php index c89f0fa0a7..67c1e7d776 100644 --- a/main/inc/lib/conditionallogin.lib.php +++ b/main/inc/lib/conditionallogin.lib.php @@ -7,7 +7,7 @@ class ConditionalLogin { public static function check_conditions($user) { if (file_exists(api_get_path(SYS_PATH).'main/auth/conditional_login/conditional_login.php')) { - include_once(api_get_path(SYS_PATH).'main/auth/conditional_login/conditional_login.php'); + include_once api_get_path(SYS_PATH).'main/auth/conditional_login/conditional_login.php'; if (isset($dc_conditions)){ foreach ($dc_conditions as $dc_condition) { if ($dc_condition['conditional_function']($user)) { @@ -21,11 +21,10 @@ class ConditionalLogin { } } - public static function login(){ - require_once (api_get_path(LIBRARY_PATH).'loginredirection.lib.php'); - $_SESSION['conditional_login']['can_login'] = true; + public static function login(){ + require_once api_get_path(LIBRARY_PATH).'loginredirection.lib.php'; + $_SESSION['conditional_login']['can_login'] = true; LoginRedirection::redirect(); - exit(); - } -} -?> + exit(); + } +} \ No newline at end of file diff --git a/main/inc/lib/events.lib.inc.php b/main/inc/lib/events.lib.inc.php index 5e631b37e7..076c8048cc 100644 --- a/main/inc/lib/events.lib.inc.php +++ b/main/inc/lib/events.lib.inc.php @@ -71,6 +71,7 @@ function event_open() { * (when an user identifies himself with username & password) */ function event_login() { + global $_user; global $TABLETRACK_LOGIN; diff --git a/main/inc/local.inc.php b/main/inc/local.inc.php index 2a8864feda..5129a8a815 100644 --- a/main/inc/local.inc.php +++ b/main/inc/local.inc.php @@ -129,24 +129,26 @@ variables should be initialised here */ -require_once (api_get_path(LIBRARY_PATH).'conditionallogin.lib.php'); +require_once api_get_path(LIBRARY_PATH).'conditionallogin.lib.php'; // verified if exists the username and password in session current -if (isset($_SESSION['info_current_user'][1]) && isset($_SESSION['info_current_user'][2])) { - require_once api_get_path(LIBRARY_PATH).'usermanager.lib.php'; + +if (isset($_SESSION['info_current_user'][1]) && isset($_SESSION['info_current_user'][2])) { require_once api_get_path(LIBRARY_PATH).'legal.lib.php'; } //Conditional login -if (isset($_SESSION['conditional_login']['uid']) && $_SESSION['conditional_login']['can_login']=== true){ - require_once (api_get_path(LIBRARY_PATH).'usermanager.lib.php'); +if (isset($_SESSION['conditional_login']['uid']) && $_SESSION['conditional_login']['can_login']=== true){ $uData = UserManager::get_user_info_by_id($_SESSION['conditional_login']['uid']); ConditionalLogin::check_conditions($uData); + $_user['user_id'] = $_SESSION['conditional_login']['uid']; + $_user['status'] = $uData['status']; api_session_register('_user'); api_session_unregister('conditional_login'); $uidReset=true; event_login(); } + // parameters passed via GET $logout = isset($_GET["logout"]) ? $_GET["logout"] : ''; $gidReq = isset($_GET["gidReq"]) ? Database::escape_string($_GET["gidReq"]) : ''; @@ -319,7 +321,6 @@ if (!empty($_SESSION['_user']['user_id']) && ! ($login || $logout)) { //Getting the current access_url_id of the platform $current_access_url_id = api_get_current_access_url_id(); - if ($my_user_is_admin === false) { if (is_array($my_url_list) && count($my_url_list)>0 ){ @@ -327,7 +328,8 @@ if (!empty($_SESSION['_user']['user_id']) && ! ($login || $logout)) { if (in_array($current_access_url_id, $my_url_list)) { ConditionalLogin::check_conditions($uData); $_user['user_id'] = $uData['user_id']; - session_regenerate_id(); + $_user['status'] = $uData['status']; + session_regenerate_id(); api_session_register('_user'); event_login(); } else { @@ -347,14 +349,16 @@ if (!empty($_SESSION['_user']['user_id']) && ! ($login || $logout)) { if (in_array(1, $my_url_list)) { //Check if this admin have the access_url_id = 1 which means the principal ConditionalLogin::check_conditions($uData); $_user['user_id'] = $uData['user_id']; - session_regenerate_id(); + $_user['status'] = $uData['status']; + session_regenerate_id(); api_session_register('_user'); event_login(); } else { //This means a secondary admin wants to login so we check as he's a normal user if (in_array($current_access_url_id, $my_url_list)) { $_user['user_id'] = $uData['user_id']; - session_regenerate_id(); + $_user['status'] = $uData['status']; + session_regenerate_id(); api_session_register('_user'); event_login(); } else { @@ -367,7 +371,8 @@ if (!empty($_SESSION['_user']['user_id']) && ! ($login || $logout)) { } } else { ConditionalLogin::check_conditions($uData); - $_user['user_id'] = $uData['user_id']; + $_user['user_id'] = $uData['user_id']; + $_user['status'] = $uData['status']; session_regenerate_id(); api_session_register('_user'); event_login(); @@ -527,7 +532,8 @@ if (!empty($_SESSION['_user']['user_id']) && ! ($login || $logout)) { // check if the expiration date has not been reached if ($uData['expiration_date']>date('Y-m-d H:i:s') OR $uData['expiration_date']=='0000-00-00 00:00:00') { $_user['user_id'] = $uData['user_id']; - session_regenerate_id(); + $_user['status'] = $uData['status']; + session_regenerate_id(); api_session_register('_user'); event_login(); } else { diff --git a/main/install/install.lib.php b/main/install/install.lib.php index d6d8fbdc57..2fa71c5cb5 100755 --- a/main/install/install.lib.php +++ b/main/install/install.lib.php @@ -427,7 +427,7 @@ function get_config_param($param, $updatePath = '') { $updateFromConfigFile = 'claroline/inc/conf/claro_main.conf.php'; } else { // Give up recovering. - error_log('Notice: Could not find previous config file at '.$updatePath.'main/inc/conf/configuration.php nor at '.$updatePath.'claroline/inc/conf/claro_main.conf.php in get_config_param(). Will start new config (in '.__FILE__.', line '.__LINE__.')', 0); + error_log('Chamilo Notice: Could not find previous config file at '.$updatePath.'main/inc/conf/configuration.php nor at '.$updatePath.'claroline/inc/conf/claro_main.conf.php in get_config_param(). Will start new config (in '.__FILE__.', line '.__LINE__.')', 0); return null; } }