loadModel("auth_model"); $token = $model->register($_REQUEST); $this->sendRegistrationMail($_REQUEST,$token); if ($token=='error') { echo 'error'; } else { echo 'Sikeres regisztráció'; } } public function authorize($token) { $model = $this->loadModel("auth_model"); $perma_token = $model->validate($token); $model->autoLogin($perma_token); header('Location: /main/index/authed'); die(); } public function login() { $model = $this->loadModel("auth_model"); if ($model->login($_REQUEST['username'],$_REQUEST['pass'])) { if ($_REQUEST['keepmeloggedin']=='y') { setcookie('rocktoken',$_SESSION['userid'],time()+(86400*365),"/"); setcookie('rockname',$_SESSION['username'],time()+(86400*365),"/"); } echo 'Sikeres bejelentkezés'; } else { echo 'Sikertelen bejelentkezés'; } } public function logout() { session_destroy(); setcookie('rocktoken','',time()-3600,"/"); setcookie('rockname','',time()-3600,"/"); header('Location: /'); die(); } public function sendRegistrationMail($data,$token) { $mail_template = $this->loadView('mail_register'); $mail = new PHPMailer; $mail->CharSet = 'UTF-8'; $mail->From = 'no-reply@rockhome.hu'; $mail->FromName = 'Rockhome.hu'; $mail->addAddress($data['email']); $mail->isHTML(true); $mail->Subject = 'Regisztráció jóváhagyása'; $mail_template->set('name',$data['fname'].' '.$data['lname']); $mail_template->set('username',$data['email']); $mail_template->set('token',$token); $mail->Body = $mail_template->getHTML(); $mail->send(); } public function sendReminderMail($data) { $mail_template = $this->loadView('mail_reminder'); $mail = new PHPMailer; $mail->CharSet = 'UTF-8'; $mail->From = 'no-reply@rockhome.hu'; $mail->FromName = 'Rockhome.hu'; $mail->addAddress($data->email); $mail->isHTML(true); $mail->Subject = 'Jelszó visszaállítás'; $mail_template->set('name',$data->firstname.' '.$data->lastname); $mail_template->set('username',$data->email); $mail_template->set('token',$data->auto_login_token); $mail->Body = $mail_template->getHTML(); $mail->send(); } public function reminder($action='') { $model = $this->loadModel("auth_model"); if ($action=='send') { if ($model->checkUserEmail($_REQUEST['email'])) { $userData = $model->getUserDataByEmail($_REQUEST['email']); $this->sendReminderMail($userData); die('ok'); } else { die('error'); } } else { die('error'); } } public function renew($token='') { if ($token!=='') { $model = $this->loadModel("auth_model"); $perma_token = $model->validateSoft($token); $model->autoLogin($perma_token); header('Location: /profile/settings/pass/'); die(); } else { return false; } } public function check($action='email') { $model = $this->loadModel("auth_model"); if ($model->checkEmail($_REQUEST['address'])) { echo 'ok'; } else { echo 'error'; } } }