/** Edit a reference entity * @access public * @return void */ public function editAction() { $form = new ReferenceFindForm(); $this->view->form = $form; if ($this->_request->isPost()) { $formData = $this->_request->getPost(); if ($form->isValid($formData)) { unset($formData['authors']); unset($formData['submit']); $where = array(); $where[] = $this->_bibliography->getAdapter()->quoteInto('id = ?', $this->getParam('id')); $this->_bibliography->update($formData, $where); $this->getFlash()->addMessage('Reference details updated!'); $this->redirect($this->getRedirect() . 'record/id/' . $this->getParam('findID')); } else { $form->populate($this->_request->getPost()); } } else { $id = (int) $this->_request->getParam('id', 0); if ($id > 0) { $bib = $this->_bibliography->fetchFindBook($id, $this->getController()); $form->populate($bib['0']); $pubs = new Publications(); $titles = $pubs->getTitlesPairs($bib[0]['authors']); $form->pubID->addMultiOptions($titles); $form->pubID->setValue($bib[0]['pubID']); } } }