207 lines
12 KiB
PHP
207 lines
12 KiB
PHP
<?php
|
|
|
|
App::uses('AppController', 'Controller');
|
|
|
|
class RegistrationController extends AppController {
|
|
|
|
/**
|
|
* This controller use User Model
|
|
*
|
|
* @var array
|
|
*/
|
|
public $componens = array('MiconwareSession');
|
|
public $uses = array('Mannerofaddress', 'DreamjobListGraducation', 'DreamjobListBranch', 'DreamjobWorker', 'DreamjobCompany', 'User', 'DreamjobListCity');
|
|
|
|
public function main() {
|
|
$this->MiconwareSession->init($this);
|
|
$this->MiconwareSession->initWeb($this);
|
|
if (!$this->MiconwareSession->isLoggedin()) {
|
|
$this->render('/Registration/main');
|
|
} else {
|
|
$this->set('error', 'dreamjob.error.loggedin');
|
|
$this->render('/Home/error');
|
|
}
|
|
}
|
|
|
|
public function company() {
|
|
$this->MiconwareSession->init($this);
|
|
$this->MiconwareSession->initWeb($this);
|
|
if (!$this->MiconwareSession->isLoggedin()) {
|
|
$regResult = false;
|
|
if ($this->request->is('post')) {
|
|
if ($this->request->data['DreamjobCompany']['agb']) {
|
|
unset($this->request->data['DreamjobCompany']['agb']);
|
|
if ($this->request->data['User']['password1'] == $this->request->data['User']['password2']) {
|
|
$data = array();
|
|
$data['User']['password'] = $this->MiconwareSession->create_hash($this->request->data['User']['password1']);
|
|
$data['User']['mail'] = $this->request->data['User']['mail'];
|
|
$data['DreamjobUser']['city_id'] = $this->request->data['DreamjobUser']['city_id'];
|
|
$data['DreamjobUser']['street'] = $this->request->data['DreamjobUser']['street'];
|
|
$data['DreamjobUser']['postcode'] = $this->request->data['DreamjobUser']['postcode'];
|
|
$data['AppUser']['nickname'] = $this->request->data['AppUser']['nickname'];
|
|
$data['AppUser']['take_systemwide'] = true;
|
|
|
|
$data['DreamjobCompany']['corporateform'] = $this->request->data['DreamjobCompany']['corporateform'];
|
|
$data['DreamjobCompany']['owner'] = $this->request->data['DreamjobCompany']['owner'];
|
|
$data['DreamjobCompany']['branch_id'] = $this->request->data['DreamjobCompany']['branch_id'];
|
|
$data['DreamjobCompany']['headcount'] = $this->request->data['DreamjobCompany']['headcount'];
|
|
$data['DreamjobCompany']['bank_details'] = '';
|
|
//$data['DreamjobCompany']['bank_details'] = $this->request->data['DreamjobCompany']['bank_details'];
|
|
$data['DreamjobCompany']['website'] = $this->request->data['DreamjobCompany']['website'];
|
|
$key = $this->MiconwareSession->generateKey();
|
|
$data['User']['code'] = "a:" . $key;
|
|
$data['User']['is_active'] = false;
|
|
|
|
$result = $this->DreamjobCompany->registration($data);
|
|
if ($result) {
|
|
$regResult = true;
|
|
$this->MiconwareSession->setFlash(__('dreamjob.registration.done'), 'flash', array('alert' => 'success'));
|
|
} else {
|
|
$this->MiconwareSession->setFlash(__('dreamjob.registration.error'), 'flash', array('alert' => 'danger'));
|
|
}
|
|
} else if ($this->request->data['User']['password1'] != '' or $this->request->data['User']['password2'] != '') {
|
|
$this->MiconwareSession->setFlash(__('dreamjob.error.password.notEqual'), 'flash', array('alert' => 'danger'));
|
|
}
|
|
} else {
|
|
$this->MiconwareSession->setFlash(__('dreamjob.agb.error.notAccept'), 'flash', array('alert' => 'danger'));
|
|
}
|
|
} else
|
|
if (empty($this->request->data['DreamjobCompany']['website']))
|
|
$this->request->data['DreamjobCompany']['website'] = 'http://';
|
|
$this->set('result', $regResult);
|
|
$this->set('cities', $this->DreamjobListCity->find('list'));
|
|
$this->set('branches', $this->DreamjobListBranch->find('list'));
|
|
$this->render('/Registration/company');
|
|
}else {
|
|
$this->set('error', 'dreamjob.error.loggedin');
|
|
$this->render('/Home/error');
|
|
}
|
|
}
|
|
|
|
public function worker() {
|
|
$this->MiconwareSession->init($this);
|
|
$this->MiconwareSession->initWeb($this);
|
|
if (!$this->MiconwareSession->isLoggedin()) {
|
|
$regResult = false;
|
|
if ($this->request->is('post')) {
|
|
if ($this->request->data['DreamjobWorker']['agb']) {
|
|
unset($this->request->data['DreamjobWorker']['agb']);
|
|
if ($this->request->data['User']['password1'] == $this->request->data['User']['password2']) {
|
|
$data = array();
|
|
$data['User']['password'] = $this->MiconwareSession->create_hash($this->request->data['User']['password1']);
|
|
$data['User']['mail'] = $this->request->data['User']['mail'];
|
|
$data['DreamjobUser']['city_id'] = $this->request->data['DreamjobUser']['city_id'];
|
|
$data['DreamjobUser']['street'] = $this->request->data['DreamjobUser']['street'];
|
|
$data['DreamjobUser']['postcode'] = $this->request->data['DreamjobUser']['postcode'];
|
|
$data['AppUser']['bday'] = $this->request->data['AppUser']['bday'];
|
|
$data['AppUser']['first_name'] = $this->request->data['AppUser']['first_name'];
|
|
$data['AppUser']['last_name'] = $this->request->data['AppUser']['last_name'];
|
|
$data['AppUser']['take_systemwide'] = true;
|
|
|
|
//WORKER
|
|
$data['AppUser']['mannerofaddress_id'] = $this->request->data['AppUser']['mannerofaddress_id'];
|
|
$data['DreamjobWorker']['country'] = $this->request->data['DreamjobWorker']['country'];
|
|
$data['DreamjobWorker']['iam'] = $this->request->data['DreamjobWorker']['iam'];
|
|
$data['DreamjobWorker']['graducation_id'] = $this->request->data['DreamjobWorker']['graducation_id'];
|
|
$data['DreamjobWorker']['searchhidden'] = true;
|
|
$data['DreamjobWorker']['workexperience'] = $this->request->data['DreamjobWorker']['workexperience'];
|
|
|
|
$key = $this->MiconwareSession->generateKey();
|
|
$data['User']['code'] = "a:" . $key;
|
|
$data['User']['is_active'] = false;
|
|
|
|
$result = $this->DreamjobWorker->registration($data);
|
|
|
|
if ($result) {
|
|
$regResult = true;
|
|
$this->MiconwareSession->setFlash(__('dreamjob.registration.done'), 'flash', array('alert' => 'success'));
|
|
} else {
|
|
$this->MiconwareSession->setFlash(__('dreamjob.registration.error'), 'flash', array('alert' => 'danger'));
|
|
}
|
|
} else if ($this->request->data['User']['password1'] != '' or $this->request->data['User']['password2'] != '') {
|
|
$this->MiconwareSession->setFlash(__('dreamjob.error.password.notEqual'), 'flash', array('alert' => 'danger'));
|
|
}
|
|
} else {
|
|
$this->MiconwareSession->setFlash(__('dreamjob.agb.error.notAccept'), 'flash', array('alert' => 'danger'));
|
|
}
|
|
}
|
|
$this->set('result', $regResult);
|
|
$this->set('cities', $this->DreamjobListCity->find('list'));
|
|
$this->set('mannerofaddresses', $this->Mannerofaddress->find('list'));
|
|
$this->set('graducations', $this->DreamjobListGraducation->find('list'));
|
|
$this->render('/Registration/worker');
|
|
} else {
|
|
$this->set('error', 'dreamjob.error.loggedin');
|
|
$this->render('/Home/error');
|
|
}
|
|
}
|
|
|
|
public function active() {
|
|
$this->MiconwareSession->init($this);
|
|
$this->MiconwareSession->initWeb($this);
|
|
if (!$this->MiconwareSession->isLoggedin() and ! empty($this->request->params['code']) and ! empty($this->request->query['mail'])) {
|
|
$result = $this->User->activeLinkUser($this->request->query['mail'], $this->request->params['code']);
|
|
$this->set("result", $result);
|
|
$this->render('/Registration/active');
|
|
} else {
|
|
$this->set('error', 'dreamjob.error.loggedin');
|
|
$this->render('/Home/error');
|
|
}
|
|
}
|
|
|
|
public function password_reset() {
|
|
$this->MiconwareSession->init($this);
|
|
$this->MiconwareSession->initWeb($this);
|
|
if (!$this->MiconwareSession->isLoggedin()) {
|
|
if ($this->request->is('post')) {
|
|
$key = $this->MiconwareSession->generateKey();
|
|
$profil['User']['mail'] = $this->request->data['User']['mail'];
|
|
$profil['User']['code'] = "f:" . $key;
|
|
$result = $this->User->sendPasswortReset($profil);
|
|
|
|
if ($result) {
|
|
$this->MiconwareSession->setFlash(__('dreamjob.password_reset.send'), 'flash', array('alert' => 'success'));
|
|
} else {
|
|
$this->MiconwareSession->setFlash(__('dreamjob.password_reset.send.error'), 'flash', array('alert' => 'danger'));
|
|
}
|
|
}
|
|
$this->render('/Registration/password_reset');
|
|
} else {
|
|
$this->set('error', 'dreamjob.error.loggedin');
|
|
$this->render('/Home/error');
|
|
}
|
|
}
|
|
|
|
public function password_replace() {
|
|
$this->MiconwareSession->init($this);
|
|
$this->MiconwareSession->initWeb($this);
|
|
if (!$this->MiconwareSession->isLoggedin() and ! empty($this->request->params['code']) and ! empty($this->request->query['mail'])) {
|
|
$send = false;
|
|
$try = $this->User->find('first',array('conditions'=>array('User.code LIKE'=>'_:'.$this->request->params['code'],'User.mail'=>$this->request->query['mail'])));
|
|
if (count($try)<2) {
|
|
$this->MiconwareSession->setFlash(__('dreamjob.password_replace.notFound'), 'flash', array('alert' => 'danger'));
|
|
$send = true;
|
|
}
|
|
if (!$send and $this->request->is('post')) {
|
|
if ($this->request->data['User']['password1'] == $this->request->data['User']['password2']) {
|
|
$profil['User']['password'] = $this->MiconwareSession->create_hash($this->request->data['User']['password1']);
|
|
$result = $this->User->replace_password($try,$profil['User']['password']);
|
|
if ($result) {
|
|
$this->MiconwareSession->setFlash(__('dreamjob.password_replace.done'), 'flash', array('alert' => 'success'));
|
|
} else {
|
|
$this->MiconwareSession->setFlash(__('dreamjob.password_replace.error'), 'flash', array('alert' => 'danger'));
|
|
}
|
|
}else
|
|
$this->MiconwareSession->setFlash(__('dreamjob.error.password.notEqual'), 'flash', array('alert' => 'danger'));
|
|
}
|
|
$this->render('/Registration/password_replace');
|
|
} else {
|
|
$this->set('error', 'dreamjob.error.link');
|
|
$this->render('/Home/error');
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
?>
|