здравствуйте, подскажите пожалуйста в чем может быть проблема, в скрипте предусмотрен вход по логину и email , но работает только логин, как это исправить? может кто-то знает что поправить или посмотрит оба файла в которых вход реализуется
public function crtUser()
{
return $_SESSION[$this->session_index["auth_name"]];
}
public function crtUserId()
{
global $config_abs_path;
global $settings;
require_once $config_abs_path . "/classes/users.php";
if (!isset($_SESSION[$this->session_index["auth_name"]])) {
return 0;
}
$aname = $_SESSION[$this->session_index["auth_name"]];
$identity = $_SESSION["identity"];
$usr = new users();
if ($settings["enable_username"]) {
$user_id = users::getUserId($aname, $identity);
} else {
$user_id = users::getIdByEmail($aname, $identity);
}
return $user_id;
}
есть такая часть
global $settings;
if ($settings["enable_username"]) {
$this->post_index = array("auth_name" => "username", "pass" => "password");
$this->admin_post_index = array("auth_name" => "username", "pass" => "password");
} else {
$this->post_index = array("auth_name" => "email", "pass" => "password");
$this->admin_post_index = array("auth_name" => "email", "pass" => "password");
}
такой код
public static function getUsername($id = "")
{
global $db;
$uname = $db->fetchRow("select `username` from " . TABLE_USERS . " where id=\"" . $id . "\"");
return $uname;
}
public static function getUserId($username, $identity = "")
{
global $db;
$str = "";
if ($identity) {
$str = " and `identity`='" . $identity . "'";
}
$id = $db->fetchRow("select id from " . TABLE_USERS . " where `username` like \"" . $username . "\"" . $str);
if (!$id) {
return 0;
}
return $id;
}
public static function getEmail($id = "")
{
global $db;
if (!$id) {
return NULL;
}
$email = $db->fetchRow("select email from " . TABLE_USERS . " where id=\"" . $id . "\"");
return $email;
}