dreamjob/app/Controller/UserController.php

106 lines
3.4 KiB
PHP
Raw Normal View History

2014-02-18 12:10:29 +01:00
<?php
App::uses('AppController', 'Controller');
class UserController extends AppController {
/**
* This controller use User Model
*
* @var array
*/
2014-03-02 12:14:02 +01:00
2014-02-18 12:10:29 +01:00
public $uses = array('DreamjobListGraducation','DreamjobWorker','DreamjobCompany','DreamjobPageText','DreamjobPageImage','DreamjobJobOpening');
/**
* Displays a view
*
* @param mixed What page to display
* @return void
* @throws NotFoundException When the view file could not be found
* or MissingViewException in debug mode.
*/
public function profil() {
$this->MiconwareSession->init($this);
$this->MiconwareSession->initWeb($this);
//self check
$self_company = false;
2014-02-19 00:02:17 +01:00
$self = $this->MiconwareSession->getWorker();
2014-02-18 12:10:29 +01:00
if(!is_array($self) or count($self)<= 0){
2014-02-19 00:02:17 +01:00
$self = $this->MiconwareSession->getCompany();
2014-02-18 12:10:29 +01:00
$self_company = true;
}
//get Profil
2014-02-19 00:02:17 +01:00
$hard_error = false;
2014-02-18 12:10:29 +01:00
$company = false;
2014-02-19 00:02:17 +01:00
$page = null;
$profil = null;
2014-02-18 12:10:29 +01:00
if(empty($this->request->params['id'])) {
$profil = $self;
$company = $self_company;
}else{
$profil = $this->DreamjobWorker->find('first',array('conditions' => array('AppUser.id' => $this->request->params['id'])));
if(!is_array($profil) or count($profil)<= 0){
$profil = $this->DreamjobCompany->find('first',array('conditions' => array('AppUser.id' => $this->request->params['id'])));
$company = true;
}
$this->set('id', $this->request->params['id']);
}
//get Page
2014-02-19 00:02:17 +01:00
if(($this->MiconwareSession->isLoggedin()) or ($company) ){
if(is_array($profil) or count($profil) > 0){
if(!empty($this->request->params['page'])){
$page = $this->DreamjobPageText->find('first',
array('conditions' => array("DreamjobPageInh.id" => $this->request->params['page'],'DreamjobPageInh.user_id' => $profil['AppUser']['id']))
);
if(!is_array($page) or count($page)<= 0)
$page = $this->DreamjobPageImage->find('first',
array('conditions' => array("DreamjobPageInh.id" => $this->request->params['page'],'DreamjobPageInh.user_id' => $profil['AppUser']['id']))
);
}
2014-02-18 12:10:29 +01:00
}
2014-02-19 00:02:17 +01:00
}else
$hard_error = true;
2014-02-18 12:10:29 +01:00
//error
2014-02-19 00:02:17 +01:00
if(!$company and $profil['AppUser']['id'] != $self['AppUser']['id'] or $hard_error){
if(($company == $self_company) and !($this->MiconwareSession->isStaff()) or $hard_error){
2014-02-18 12:10:29 +01:00
$hard_error = true;
$this->MiconwareSession->setFlash(__('dreamjob.error.page.notFound'),'flash',array('alert'=>'danger'));
$this->set('error', 'dreamjob.error.noPermision');
$this->render('/Home/error');
}
}else{
$this->set('edit', true);
$this->set('MENU_PROFIL',true);
}
if(!empty($this->request->params['page']) and (!is_array($page) or count($page)<= 0))
$this->MiconwareSession->setFlash(__('dreamjob.error.page.notFound'),'flash',array('alert'=>'danger'));
//render
$this->set('profil', $profil);
$this->set('page',$page);
if(!$hard_error)
if($company){
2014-03-01 12:15:34 +01:00
$openings = $this->DreamjobJobOpening->find('all',array('conditions' => array('DreamjobJobOpening.company_id' => $profil['AppUser']['id'],'DreamjobJobOpening.active'=>1)));
2014-02-18 12:10:29 +01:00
$this->set("openings",$openings);
$this->render('/User/company');
}else
$this->render('/User/worker');
}
public function test() {
$this->MiconwareSession->init($this);
$this->MiconwareSession->initWeb($this);
// $this->set('data', $this->DreamjobCompany->find('all'));
$this->set('data', $this->MiconwareSession->getApplication('DreamjobWorker'));
$this->render('/User/test');
}
}