Function event_login needs the user status

skala
Julio Montoya 14 years ago
parent 66c0594f3d
commit 8ddae515b9
  1. 5
      main/inc/lib/conditionallogin.lib.php
  2. 1
      main/inc/lib/events.lib.inc.php
  3. 14
      main/inc/local.inc.php
  4. 2
      main/install/install.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)) {
@ -22,10 +22,9 @@ class ConditionalLogin {
}
public static function login(){
require_once (api_get_path(LIBRARY_PATH).'loginredirection.lib.php');
require_once api_get_path(LIBRARY_PATH).'loginredirection.lib.php';
$_SESSION['conditional_login']['can_login'] = true;
LoginRedirection::redirect();
exit();
}
}
?>

@ -71,6 +71,7 @@ function event_open() {
* (when an user identifies himself with username & password)
*/
function event_login() {
global $_user;
global $TABLETRACK_LOGIN;

@ -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';
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');
$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,6 +328,7 @@ 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'];
$_user['status'] = $uData['status'];
session_regenerate_id();
api_session_register('_user');
event_login();
@ -347,6 +349,7 @@ 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'];
$_user['status'] = $uData['status'];
session_regenerate_id();
api_session_register('_user');
event_login();
@ -354,6 +357,7 @@ if (!empty($_SESSION['_user']['user_id']) && ! ($login || $logout)) {
//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'];
$_user['status'] = $uData['status'];
session_regenerate_id();
api_session_register('_user');
event_login();
@ -368,6 +372,7 @@ if (!empty($_SESSION['_user']['user_id']) && ! ($login || $logout)) {
} else {
ConditionalLogin::check_conditions($uData);
$_user['user_id'] = $uData['user_id'];
$_user['status'] = $uData['status'];
session_regenerate_id();
api_session_register('_user');
event_login();
@ -527,6 +532,7 @@ 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'];
$_user['status'] = $uData['status'];
session_regenerate_id();
api_session_register('_user');
event_login();

@ -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;
}
}

Loading…
Cancel
Save