示例#1
0
/**
 * Finds all the information about a user from username instead of user id
 * @param string $username
 *
 * @return array $user_info user_id, lastname, firstname, username, email, ...
 * @author Yannick Warnier <*****@*****.**>
 */
function api_get_user_info_from_official_code($official_code = '')
{
    if (empty($official_code)) {
        return false;
    }
    $sql = "SELECT * FROM " . Database::get_main_table(TABLE_MAIN_USER) . "\n            WHERE official_code ='" . Database::escape_string($official_code) . "'";
    $result = Database::query($sql);
    if (Database::num_rows($result) > 0) {
        $result_array = Database::fetch_array($result);
        return _api_format_user($result_array);
    }
    return false;
}
示例#2
0
 $is_allowedCreateCourse = false;
 if (isset($_user['user_id']) && $_user['user_id'] && !api_is_anonymous()) {
     //if (isset($_user['user_id']) && $_user['user_id']) {
     // a uid is given (log in succeeded)
     $_SESSION['loginFailed'] = false;
     unset($_SESSION['loginFailedCount']);
     unset($_SESSION['loginToBlock']);
     $user_table = Database::get_main_table(TABLE_MAIN_USER);
     $admin_table = Database::get_main_table(TABLE_MAIN_ADMIN);
     $track_e_login = Database::get_main_table(TABLE_STATISTIC_TRACK_E_LOGIN);
     $sql = "SELECT user.*, a.user_id is_admin, login.login_date\n                FROM {$user_table}\n                LEFT JOIN {$admin_table} a\n                ON user.user_id = a.user_id\n                LEFT JOIN {$track_e_login} login\n                ON user.user_id  = login.login_user_id\n                WHERE user.user_id = '" . $_user['user_id'] . "'\n                ORDER BY login.login_date DESC LIMIT 1";
     $result = Database::query($sql);
     if (Database::num_rows($result) > 0) {
         // Extracting the user data
         $uData = Database::fetch_array($result);
         $_user = _api_format_user($uData, false);
         $_user['lastLogin'] = api_strtotime($uData['login_date'], 'UTC');
         $is_platformAdmin = (bool) (!is_null($uData['is_admin']));
         $is_allowedCreateCourse = (bool) ($uData['status'] == COURSEMANAGER || api_get_setting('drhCourseManagerRights') && $uData['status'] == DRH);
         ConditionalLogin::check_conditions($uData);
         Session::write('_user', $_user);
         UserManager::update_extra_field_value($_user['user_id'], 'already_logged_in', 'true');
         Session::write('is_platformAdmin', $is_platformAdmin);
         Session::write('is_allowedCreateCourse', $is_allowedCreateCourse);
     } else {
         header('location:' . api_get_path(WEB_PATH));
         //exit("WARNING UNDEFINED UID !! ");
     }
 } else {
     if (!api_is_anonymous()) {
         // no uid => logout or Anonymous