function login($table, $field, $filter, $success, $failure, $logger)
{
    $logger->info("calling login function in common.lib.php file");
    $db = new MysqlManager();
    $query = new Query($db);
    $query->table = $table;
    $query->type = "select";
    if (defined('SESSION_KEY')) {
        $query->field1 = SESSION_KEY . " userid";
    } else {
        $logger->error("Session key is not define, check your  config" . SESSION_KEY);
        if (defined('DEFAULT_PAGE')) {
            header("location:" . HTTP_HOST . DEFAULT_PAGE);
        } else {
            header("location:" . HTTP_HOST . "login.html");
        }
        exit;
    }
    if (defined('USERTYPE')) {
        $query->field2 = USERTYPE . " usertype";
    } else {
        $logger->info("Usertype field is not define, you might making solution multiple usertype");
    }
    $i = 3;
    // if count condition  for $field and for filter check
    foreach ($field as $val) {
        $temp = "field" . $i;
        $query->{$temp} = $val;
        $i++;
    }
    $query->filter = $filter;
    $query->prepare();
    $values = $query->Row();
    //print_r($values);die;
    logger_print_array($logger, $values);
    if (count($values) > 1) {
        $str = "Admin autentication return data";
        foreach ($values as $key => $val) {
            $str .= $key . "=>" . $val;
        }
        $logger->debug($str);
        $session = md5(time() . $username . $password . GV_PASS_ENCODER_KEY);
        //session_register($session);
        $_SESSION[$session] = $values;
        header("location:" . HTTP_HOST . "index.php?session=" . $session . "&module=" . encode($success["module"]) . "&action=" . encode($success["action"]));
        exit;
    } else {
        $logger->debug("Invalid Login");
        header('WWW-Authenticate: Basic realm="Login Failed"');
        header('HTTP/1.0 401 Unauthorized');
        header("location:" . HTTP_HOST . "index.php?session=authentication_failed&module=" . encode($failure["module"]) . "&action=" . encode($failure["action"]));
    }
}
Пример #2
0
 public function execute()
 {
     $values = $this->query->Execute();
     logger_print_array($logger, $values);
     if (count($values) > 0) {
         $str = "Admin autentication return data";
         $values = $values[0];
         foreach ($values as $key => $val) {
             $str .= $key . "=>" . $val;
         }
         $logger->debug($str);
         $session = md5(time() . $this->data["filter"][$this->data["usrfield"]] . $this->data["filter"][$this->data["passfield"]] . GV_PASS_ENCODER_KEY);
         session_register($session);
         $_SESSION[$session] = $values;
         $_SERVER["PHP_AUTH_USER"] = $this->data["filter"][$this->data["usrfield"]];
         $_SERVER["PHP_AUTH_PW"] = $this->data["filter"][$this->data["passfield"]];
         header("location:" . HTTP_HOST . "index.php?session=" . $session . "&module=" . encode($success["module"]) . "&action=" . encode($success["action"]));
     } else {
         $logger->debug(__FILE__ . " : Invalid Login");
         header('WWW-Authenticate: Basic realm="Login Failed"');
         header('HTTP/1.0 401 Unauthorized');
         header("location:" . HTTP_HOST . "index.php?session=authentication_failed&module=" . encode($failure["module"]) . "&action=" . encode($failure["action"]));
     }
 }