You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
2.4 KiB
62 lines
2.4 KiB
<?php
|
|
/* For licensing terms, see /license.txt */
|
|
|
|
/*
|
|
This script is included by local.inc.php to redirect users to some url if some conditions are satisfied.
|
|
* Please populate the $login_conditions array with a conditional function and an url.
|
|
* If the conditional function returns true the user will be redirected to URL at login.
|
|
* This array must be filled for this module to work.
|
|
* This is an example asking the user to enter his phone number if it is empty.
|
|
* Note you can enter more than one condition in the array. They will be checked in the array order.
|
|
*/
|
|
/**
|
|
* Please implements the functions of the $login_conditions array.
|
|
* Each of these function will take a user array (user_id, username, password (crypted), auth_source, active, expiration_date)
|
|
*/
|
|
$login_conditions = array();
|
|
|
|
//"Term and conditions" condition
|
|
array_push($login_conditions, array(
|
|
'conditional_function' => 'check_platform_legal_conditions',
|
|
'url' => api_get_path(WEB_CODE_PATH).'auth/inscription.php'
|
|
));
|
|
|
|
//array_push($login_conditions, array(
|
|
// 'conditional_function' => 'dc_check_phone_number',
|
|
// 'url' => api_get_path(WEB_PATH).'main/auth/conditional_login/complete_phone_number.php'
|
|
//));
|
|
|
|
function dc_check_phone_number($user){
|
|
$uInfo = UserManager::get_user_info_by_id($user['user_id']);
|
|
if (empty($uInfo['phone'])) {
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Checks if the user accepted or not the legal conditions
|
|
*
|
|
* @param array $user
|
|
* @return boolean true if user pass, false otherwise
|
|
*/
|
|
function check_platform_legal_conditions($user) {
|
|
if (api_get_setting('allow_terms_conditions') == 'true') {
|
|
$term_and_condition_status = api_check_term_condition($user['user_id']);
|
|
// @todo not sure why we need the login password and update_term_status
|
|
if ($term_and_condition_status == false) {
|
|
$_SESSION['term_and_condition'] = array('user_id' => $user['user_id'],
|
|
//'login' => $user['username'],
|
|
//'password' => $user['password'],
|
|
//'update_term_status' => true,
|
|
);
|
|
return false;
|
|
} else {
|
|
unset($_SESSION['term_and_condition']);
|
|
return true;
|
|
}
|
|
} else {
|
|
//No validation user can pass
|
|
return true;
|
|
}
|
|
}
|
|
|