User->recursive = 0; $users = $this->Paginator->paginate('User'); $this->set(compact('users')); } /** * view method * * @throws NotFoundException * @param string $id * @return void */ public function view($id = null) { $this->User->recursive = 1; if (!$this->User->exists($id)) { throw new NotFoundException(__('Invalid user')); } $options = array('conditions' => array('User.' . $this->User->primaryKey => $id)); $user = $this->User->find('first', $options); $this->set(array( 'user' => $user, '_serialize' => array('user') )); } /** * add method * * @return void */ public function add() { if ($this->request->is('post')) { $this->User->create(); if ($this->User->save($this->request->data)) { return $this->flash(__('The user has been saved.'), array('action' => 'index')); } $this->Session->setFlash( __('The user could not be saved. Please, try again.') ); } } /** * edit method * * @throws NotFoundException * @param string $id * @return void */ public function edit($id = null) { $this->User->id = $id; if (!$this->User->exists($id)) { throw new NotFoundException(__('Invalid user')); } if ( $this->request->is('post') || $this->request->is('put') ) { if ( $this->User->save($this->request->data) ) { $message = 'Saved'; } else { $message = 'Error'; } } else { $this->request->data = $this->User->read(null, $id); unset($this->request->data['User']['password']); } $this->set(array( 'message' => $message, '_serialize' => array('message') )); } /** * delete method * * @throws NotFoundException * @param string $id * @return void */ public function delete($id = null) { $this->User->id = $id; if ( !$this->User->exists() ) { throw new NotFoundException(__('Invalid user')); } $this->request->allowMethod('post', 'delete'); if ( $this->User->delete() ) { $message = 'The user has been deleted.'; } else { $message = 'The user could not be deleted. Please, try again.'; } $this->set(array( 'message' => $message, '_serialize' => array('message') )); } public function beforeFilter() { parent::beforeFilter(); if ( ZM_OPT_USE_AUTH ) { $this->Auth->allow('add', 'logout'); } else { $this->Auth->allow(); } } public function login() { if ( !ZM_OPT_USE_AUTH ) { $this->set(array( 'message' => 'Login is not required.', '_serialize' => array('message') )); return; } if ( $this->request->is('post') ) { if ( $this->Auth->login() ) { return $this->redirect($this->Auth->redirectUrl()); } $this->Session->setFlash(__('Invalid username or password, try again')); } } public function logout() { return $this->redirect($this->Auth->logout()); } }