public function change_password() { $VUser = new VUser(); $passwords = $VUser->getChangePasswords(); $data = 1; if ($passwords) { $FUser = new FUser(); $session = new USession(); try { $user = $FUser->loadUser($session->getValue('mail')); if ($user && $passwords['password'] == $passwords['r_password'] && $user->getPassword() == $passwords['old_password']) { $data = 0; $user->setPassword($passwords['password']); $FUser->saveUser($user); $session->setValue("password", $passwords['password']); } else { if (!$user) { //Non c'è l'utente (IMPOSSIBILE) $data = 2; } else { if ($user->getPassword() != $passwords['old_password']) { //la vecchia password è errata $data = 3; } else { $data = 4; } } //le password ripetute non coincidono } } catch (Exception $e) { $data = 1; //la password è nel formato sbagliato } } return $this->show("reset_outcome", $data); }
public function sign() { $errors = array(); $VLog = new VLog(); $data = $VLog->getSignData(); if ($data) { $bool = true; foreach ($data as $elem) { if ($elem == "" && $bool) { $errors[] = 1; $bool = false; } } if ($data['password'] != $data['r_password']) { $errors[] = 2; $bool = false; } if ($bool) { $n = ucfirst($data['name']); $s = ucfirst($data['surname']); $SSN = strtoupper($data['ssn']); $p = $data['phone']; $m = strtolower($data['mail']); $pass = $data['password']; try { $b = new DateTime($data['birth']); $now = new DateTime(); $diff = $now->diff($b); if (intval($diff->format('%Y')) < 18) { $errors[] = 6; $bool = false; } else { $new_user = new DUser($n, $s, $SSN, $p, $m, $b, $pass); } } catch (Exception $e) { $errors[] = 3; $bool = false; } } } else { $errors[] = 1; } $n_errors = count($errors); if ($n_errors == 0) { $FUser = new FUser(); $hypS = $FUser->is_a_user($SSN); //controlla se c'è già un utente con quel codice fiscale if ($hypS) { $errors[] = 4; $bool = false; } $hypM = $FUser->mail_in($m); if ($hypM) { $errors[] = 7; $bool = false; } if (!$hypS && !$hypM) { try { global $config; $Mailer = new UEmail(); $VMail = new VMail(); $VMail->setLayout("confirmation"); $VMail->setDest("{$n} {$s}"); $VMail->setCode($new_user->getCode()); $message = $VMail->processTemplate(); if ($Mailer->send_mail($m, $n, $config['name'] . " confirmation mail", $message, true)) { $FUser->saveUser($new_user); //salva il nuovo utente (o aggiorna i campi nelle tabella person per un cliente ancora non utente) } else { $errors[] = 5; $bool = false; } } catch (Exception $e) { $errors[] = 5; $bool = false; } } } if ($bool) { return $this->show('sign_outcome', false); } else { return $this->show('sign_outcome', $errors); } }