| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- <?php
- class auth extends Controller {
- public function index() {
- //noope
- }
- public function register() {
- $model = $this->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';
- }
- }
- }
|