LINUX.ORG.RU

История изменений

Исправление crutch_master, (текущая версия) :

А вообще

public function user_login($username, $password) {
    if (!validate_email($username)) {
        if (!$user = get_complete_user_data('username', $username)) {
            return false;
        }

        if (!auth_billing::check_user($user->email, $password)) {
            return false;
        }
    } else {
        if (!auth_billing::check_user($username, $password)) {
            return false;
        }

        if (!$user = get_complete_user_data('email', $username)) {
            if (!auth_billing::create_user($username)) {
                return false;
            }

            $user = get_complete_user_data('email', $username);
        }
    }

    complete_user_login($user);
    self::redirect();
}
== (not tested)
public function user_login($username, $password) {
    $user = get_complete_user_data('username', $username)
    if (!validate_email($username) && 
         (!$user || 
          !auth_billing::check_user($user->email, $password))
       ) {
            return false;
    }
 
    if (!auth_billing::check_user($username, $password) ||
        !$user || !auth_billing::create_user($username)
        ) {
            return false;
    }
    complete_user_login($user);
    self::redirect();
}
что в свою очередь ==
public function user_login($username, $password) {
    $user = get_complete_user_data('username', $username);
    if (!$user || 
        !auth_billing::check_user($username, $password) ||
        !auth_billing::create_user($username)) {
        return false;
    }
    complete_user_login($user);
    self::redirect();
}
Какой-то бред или там все функции на сайд-эффектах, тогда бессмысленно что-то придумывать - всё равно дерьмо получится.

Исправление crutch_master, :

А вообще

public function user_login($username, $password) {
    if (!validate_email($username)) {
        if (!$user = get_complete_user_data('username', $username)) {
            return false;
        }

        if (!auth_billing::check_user($user->email, $password)) {
            return false;
        }
    } else {
        if (!auth_billing::check_user($username, $password)) {
            return false;
        }

        if (!$user = get_complete_user_data('email', $username)) {
            if (!auth_billing::create_user($username)) {
                return false;
            }

            $user = get_complete_user_data('email', $username);
        }
    }

    complete_user_login($user);
    self::redirect();
}
== (not tested)
public function user_login($username, $password) {
    $user = get_complete_user_data('username', $username)
    if (!validate_email($username) && 
         (!$user || 
          !auth_billing::check_user($user->email, $password))
       ) {
            return false;
    }
 
    if (!auth_billing::check_user($username, $password) ||
        !$user || !auth_billing::create_user($username)
        ) {
            return false;
    }
    complete_user_login($user);
    self::redirect();
}
что в свою очередь ==
public function user_login($username, $password) {
    $user = get_complete_user_data('username', $username);
    if (!$user || 
        !auth_billing::check_user($username, $password) ||
        !auth_billing::create_user($username)) {
        return false;
    }
    complete_user_login($user);
    self::redirect();
}
Какой-то бред.

Исходная версия crutch_master, :

А вообще

public function user_login($username, $password) {
    if (!validate_email($username)) {
        if (!$user = get_complete_user_data('username', $username)) {
            return false;
        }

        if (!auth_billing::check_user($user->email, $password)) {
            return false;
        }
    } else {
        if (!auth_billing::check_user($username, $password)) {
            return false;
        }

        if (!$user = get_complete_user_data('email', $username)) {
            if (!auth_billing::create_user($username)) {
                return false;
            }

            $user = get_complete_user_data('email', $username);
        }
    }

    complete_user_login($user);
    self::redirect();
}
== (not tested)
public function user_login($username, $password) {
    $user = get_complete_user_data('username', $username)
    if (!validate_email($username) && 
         (!$user || 
          !auth_billing::check_user($user->email, $password))
       ) {
            return false;
    }
 
    if (!auth_billing::check_user($username, $password) ||
        !$user || !auth_billing::create_user($username)
        ) {
            return false;
    }
    complete_user_login($user);
    self::redirect();
}
что в свою очередь ==
public function user_login($username, $password) {
    $user = get_complete_user_data('username', $username);
    if (!$user || 
        !auth_billing::check_user($username, $password) ||
        !auth_billing::create_user($username)) {
        return false;
    }
    complete_user_login($user);
    self::redirect();
}
Какой-то бред.