/** * Save changes to an existing panel. This can be expanded to allow adding of new Panels in the future. * * @return void */ protected function _savePanel() { // First of all we need to validate and sanitise the input from the form $urlFilter = new Zend_Filter(); $urlFilter->addFilter(new Zend_Filter_StringTrim()); $urlFilter->addFilter(new Zend_Filter_StringTrim('/')); $requiredText = new Zend_Validate(); $requiredText->addValidator(new Zend_Validate_NotEmpty()); $filters = array('id' => 'Digits'); $validators = array('id' => array('allowEmpty' => true), 'content' => array('allowEmpty' => true)); $input = new Zend_Filter_Input($filters, $validators, $_POST); if ($input->isValid()) { // Data is all valid, formatted and sanitized so we can save it in the database $panel = new Datasource_Cms_Panels(); if (!$input->id) { // This is a new panel so we need to create a new ID // NOT IMPLEMENTED - YET } else { $panel->saveChanges($input->id, $input->getUnescaped('content')); $panelID = $input->id; } // Changes saved - so send them back with a nice success message $this->_helper->getHelper('FlashMessenger')->addMessage(array('saved' => true)); $this->_helper->getHelper('Redirector')->goToUrl('/cms-admin/panels/edit?id=' . $panelID); } else { // Invalid data in form /* print_r($_POST); print_r($input->getErrors()); print_r($input->getInvalid()); */ } }
public function init() { $this->setAttrib('enctype', 'multipart/form-data'); $renameResize = new Zend_Form_Element_File('renameResize'); $renameResize->setDestination('../upload'); $renameResize->setLabel('Rename before resize'); $renameResize->addFilter('Rename', 'rename-resize'); $renameResize->addFilter(new Skoch_Filter_File_Resize(array('width' => 200, 'height' => 300, 'keepRatio' => true))); $this->addElement($renameResize); $resizeRename = new Zend_Form_Element_File('resizeRename'); $resizeRename->setDestination('../upload'); $resizeRename->setLabel('Resize before rename'); $resizeRename->addFilter(new Skoch_Filter_File_Resize(array('width' => 200, 'height' => 300, 'keepRatio' => true))); $resizeRename->addFilter('Rename', 'resize-rename'); $this->addElement($resizeRename); $multiResize = new Zend_Form_Element_File('multiResize'); $multiResize->setDestination('../upload'); $multiResize->setLabel('Multiple resizes'); $filterChain = new Zend_Filter(); // Create one big image with at most 600x300 pixel $filterChain->appendFilter(new Skoch_Filter_File_Resize(array('width' => 600, 'height' => 300, 'keepRatio' => true))); // Create a medium image with at most 500x200 pixels $filterChain->appendFilter(new Skoch_Filter_File_Resize(array('directory' => '../upload/medium', 'width' => 500, 'height' => 200, 'keepRatio' => true))); $multiResize->addFilter('Rename', 'multi-resize'); $multiResize->addFilter($filterChain); $this->addElement($multiResize); $renameCrop = new Zend_Form_Element_File('renameCrop'); $renameCrop->setDestination('../upload'); $renameCrop->setLabel('Rename before crop'); $renameCrop->addFilter('Rename', 'rename-crop'); $renameCrop->addFilter(new Skoch_Filter_File_Resize(array('width' => 20, 'height' => 30, 'cropToFit' => true, 'keepRatio' => true))); $this->addElement($renameCrop); $submit = new Zend_Form_Element_Submit('submit'); $this->addElement($submit); }
/** * Ensures that filters are executed in the expected order (FIFO) * * @return void */ public function testFilterOrder() { $this->_filter->addFilter(new Zend_FilterTest_LowerCase())->addFilter(new Zend_FilterTest_StripUpperCase()); $value = 'AbC'; $valueExpected = 'abc'; $this->assertEquals($valueExpected, $this->_filter->filter($value)); }
/** * Run the cli application * * @return void */ public function run() { $oLogger = $this->getResource('log'); $iArgumentsAmount = $_SERVER['argc']; if (1 === $iArgumentsAmount) { echo 'Please specify the task to run' . PHP_EOL; $oLogger->err('Task not specified!'); exit; } $aArguments =& $_SERVER['argv']; $aArguments = array_slice($aArguments, 1); $oFilter = new Zend_Filter(); $oFilter->addFilter(new Zend_Filter_Word_UnderscoreToCamelCase()); $sTaskClass = 'AM_Cli_Task_' . $oFilter->filter($aArguments[0]); if (!class_exists($sTaskClass)) { echo sprintf('Class %s not found', $sTaskClass) . PHP_EOL; $oLogger->err(sprintf('Class %s not found', $sTaskClass)); exit; } try { $oTask = new $sTaskClass(); $oTask->run(); } catch (Exception $e) { $oLogger->err($e); exit; } }
/** * Realoca uma Imagem do Formulário * @param string $filename Novo Nome do Arquivo * @return string|boolean Resultado Obtido */ protected function _realloc($prefix) { /* @var $arquivo Zend_Form_Element_File */ $arquivo = $this->_getForm()->getElement('arquivo'); if (is_array($arquivo->getFilename())) { // Não Enviado return false; } // Diretório Base $basename = APPLICATION_PATH . '/../public/images/sistema/'; // Remover Figuras com Prefixo $dir = new DirectoryIterator($basename); foreach ($dir as $current) { if (preg_match('/^' . $prefix . '/', $current->getFilename())) { unlink($current->getRealPath()); } } // Criação do Slug $filter = new Zend_Filter(); $filter->addFilter(new Zend_Filter_StringToLower())->addFilter(new Zend_Filter_Word_SeparatorToDash()); $slug = $filter->filter($prefix . ' ' . $arquivo->getFilename(null, false)); // Opções para Filtro $options = array('target' => $basename . $slug, 'overwrite' => true); // Renomear Arquivo $rename = new Zend_Filter_File_Rename($options); $result = $rename->filter($arquivo->getFilename()); return is_string($result) ? $slug : false; }
/** * */ protected function initNameFilter() { $filter = new ZendFilter(); $filter->addFilter($this->getStringTrim()); $filter->addFilter($this->getUcwords()); $this->elements['name'] = $filter; }
/** * Filter data that was previously validated (input data) * If data was not valid, filter the error message that will * be output to the user (output data) * @access public * @return bool */ public function filter() { $this->_data = array(); $this->_error = array(); $values = $this->_options['values']; $validator = $this->_options['validator']; $filter = new Zend_Filter(); $filter->addFilter(new Zend_Filter_StringTrim()); foreach ($values as $k => $v) { if ($validator->isValid($values[$k])) { //filter the input $this->_data[$k] = $filter->filter($values[$k]); } else { foreach ($validator->getMessages() as $message) { //filter the output $this->_error[$k] = str_replace($values[$k], $filter->filter($values[$k]), $message); } } } if (empty($this->_error)) { return true; } else { return false; } }
public function filter($value) { $filterChain = new Zend_Filter(); $filterChain->addFilter(new Zend_Filter_StripTags()); $filterChain->addFilter(new Zend_Filter_StringTrim()); $filterChain->addFilter(new Zend_Filter_StringToLower()); $value = $filterChain->filter($value); // replace accented characters $replaceArray = array('á' => 'a', 'é' => 'e', 'í' => 'i', 'ó' => 'o', 'ú' => 'u', 'à' => 'a', 'è' => 'e', 'ì' => 'i', 'ò' => 'o', 'ù' => 'u', 'ä' => 'a', 'ë' => 'e', 'ï' => 'i', 'ö' => 'o', 'ü' => 'u', 'â' => 'a', 'ê' => 'e', 'î' => 'i', 'ô' => 'o', 'û' => 'u', 'ç' => 'c', 'æ' => 'ae', 'œ' => 'oe', 'å' => 'a', 'ø' => 'o', '@' => 'at', '©' => 'copyright', '€' => 'euro', '™' => 'tm', '-' => ' ', '/' => ' ', '\\' => ' '); $value = str_replace(array_keys($replaceArray), array_values($replaceArray), $value); $valueTemp = ''; $allowedChars = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-', '_', ' '); $valueTemp = ''; for ($i = 0; $i < strlen($value); $i++) { if (in_array($value[$i], $allowedChars)) { $valueTemp .= $value[$i]; } } $value = $valueTemp; // replace double spaces $value = preg_replace('/\\s+/', ' ', $value); $filterChain = new Zend_Filter(); $filterChain->addFilter(new Zend_Filter_StringTrim()); $filterChain->addFilter(new Zend_Filter_Word_SeparatorToDash()); $value = $filterChain->filter($value); return $value; }
public function onAttachLink($data) { try { $viewer = Engine_Api::_()->user()->getViewer(); if (Engine_Api::_()->core()->hasSubject()) { $subject = Engine_Api::_()->core()->getSubject(); if ($subject->getType() != 'user') { $data['parent_type'] = $subject->getType(); $data['parent_id'] = $subject->getIdentity(); } } // Filter HTML $filter = new Zend_Filter(); $filter->addFilter(new Engine_Filter_Censor()); $filter->addFilter(new Engine_Filter_HtmlSpecialChars()); if (!empty($data['title'])) { $data['title'] = $filter->filter($data['title']); } if (!empty($data['description'])) { $data['description'] = $filter->filter($data['description']); } $link = Engine_Api::_()->getApi('links', 'core')->createLink($viewer, $data); } catch (Exception $e) { throw $e; return; } return $link; }
/** * @see Zend_Db_Table_Abstract::_setupTableName */ protected function _setupTableName() { if (!$this->_name) { $oFilter = new Zend_Filter(); $oFilter->addFilter(new Zend_Filter_Word_CamelCaseToUnderscore())->addFilter(new Zend_Filter_StringToLower()); $this->_name = $oFilter->filter($this->_getModelName()); } }
function filter($instr) { $outstr = null; $filterChain = new Zend_Filter(); $filterChain->addFilter(new Zend_Filter_StringToLower())->addFilter(new Zend_Filter_StringTrim()); $instr = $filterChain->filter($instr); $outstr = str_replace(" ", "-", trim($instr)); return $outstr; }
public function filter($value) { $filterChain = new Zend_Filter(); //$geshiFilter = new HausDesign_Filter_Geshi(); //$filterChain->addFilter($geshiFilter); $value = $filterChain->filter($value); require_once 'markdown/markdown.php'; return Markdown($value); }
/** * Normalizuje ciag znakow z postaci stringa zawierajacego znaki specjalne i spacje do hasha * * @param string $value * @return string */ public function filter($value) { $filterChain = new Zend_Filter(); $filterChain->addFilter(new Base_Filter_NoDiacritics())->addFilter(new Zend_Filter_StringToLower()); $value = $filterChain->filter($value); $value = preg_replace('/[^0-9A-Za-z-_]/', null, $value); $value = trim($value, '-'); $value = trim($value, '_'); return $value; }
/** * Normalize tag * * Ensures tag is alphanumeric characters only, and all lowercase. * * @param string $tag * @return string */ public function normalizeTag($tag) { if (!isset($this->_tagFilter)) { require_once 'Zend/Filter.php'; require_once 'Zend/Filter/Alnum.php'; require_once 'Zend/Filter/StringToLower.php'; $this->_tagFilter = new Zend_Filter(); $this->_tagFilter->addFilter(new Zend_Filter_Alnum())->addFilter(new Zend_Filter_StringToLower()); } return $this->_tagFilter->filter($tag); }
public static function filter(&$data) { $filter = new Zend_Filter(); $filter->addFilter(new Zend_Filter_StringTrim())->addFilter(new Lds_Filter_Htmlspecialchars()); if (is_array($data)) { foreach ($data as $key => $value) { $data[$key] = $filter->filter($value); } } else { $data = $filter->filter($data); } }
public function filter($value) { $filterChain = new Zend_Filter(); $htmlFilter = new HausDesign_Filter_HtmlPurifier(); $config = $htmlFilter->getConfig(); $config->set('AutoFormat', 'AutoParagraph', true); $config->set('AutoFormat', 'Linkify', true); $filterChain->addFilter($htmlFilter); //$geshiFilter = new HausDesign_Filter_Geshi(); //$filterChain->addFilter($geshiFilter); return $filterChain->filter($value); }
/** * Get helper name * @return string */ public function getName() { if (is_null($this->_sName)) { $sClassName = get_class($this); $aChunks = explode('_', $sClassName); $this->_sName = array_pop($aChunks); $oFilter = new Zend_Filter(); $oFilter->addFilter(new Zend_Filter_Word_CamelCaseToUnderscore())->addFilter(new Zend_Filter_StringToLower()); $this->_sName = $oFilter->filter($this->_sName); } return $this->_sName; }
/** * Filter url given to the toaster * * @param string $pageUrl * @return mixed|string */ public function filterUrl($pageUrl) { $filterChain = new Zend_Filter(); $filterChain->addFilter(new Zend_Filter_PregReplace(array('match' => '/-/', 'replace' => ' ')))->addFilter(new Zend_Filter_Alnum(true))->addFilter(new Zend_Filter_StringTrim())->addFilter(new Zend_Filter_StringToLower('UTF-8'))->addFilter(new Zend_Filter_PregReplace(array('match' => '/\\s+/', 'replace' => '-'))); // filtering the page url $pageUrl = $filterChain->filter($this->clean($pageUrl)); // add .html if needed // TODO: in fact it always needed because of Zend_Filter_Alnum in $filterChain if (!preg_match('/\\.html$/', $pageUrl)) { $pageUrl .= '.html'; } return $pageUrl; }
function filter($instr) { $outstr = null; $filterChain = new Zend_Filter(); $filterChain->addFilter(new Zend_Filter_StringToLower())->addFilter(new Zend_Filter_StripTags())->addFilter(new Zend_Filter_StringTrim()); $instr = $filterChain->filter($instr); $instr = str_replace(" ", "-", trim($instr)); preg_match_all("/^[a-z0-9\\-\\\$]{1,}\$/", $instr, $parts); foreach ($parts as $part) { $outstr .= $part[0]; } return $outstr; }
/** * Captura um Formulário de Determinado Tipo * @param string Nome do Formulário * @return Local_Form_FormAbstract Elemento Solicitado */ protected function _getFormReferencia($tipo) { // Filtro de Dados $filter = new Zend_Filter(); $filter->addFilter(new Zend_Filter_StringToLower())->addFilter(new Zend_Filter_Callback('ucfirst')); $tipo = $filter->filter($tipo); // Verificação if (!in_array($tipo, $this->_references)) { throw new Zend_Controller_Action_Exception('Invalid Referencia'); } $classname = 'Application_Form_Referencia_' . $tipo; $reflect = new Zend_Reflection_Class($classname); return $reflect->newInstance(array()); }
public function filter($value) { $words = explode(',', $value); $filterChain = new Zend_Filter(); $filterChain->addFilter(new Zend_Filter_StringTrim())->addFilter(new Zend_Filter_StringToLower())->addFilter(new Zend_Filter_StripNewlines())->addFilter(new Zend_Filter_Alnum(array('allowwhitespace' => true))); $filterd = array(); foreach ($words as $word) { $word = $filterChain->filter($word); if (strlen($word) > 0) { $filterd[] = $word; } } return implode(',', $filterd); }
/** * Add feed to system * * @param Feed $feed */ private function updateFeed(Feed $feed) { require_once 'Ifphp/models/Posts.php'; $feedSource = Zend_Feed_Reader::import($feed->url); $posts = new Posts(); $tdate = $feedSource->current()->getDateModified(); $tdate = new Zend_Date($tdate); while ($feedSource->valid() && $tdate->toValue() > $feed->lastPing && !$posts->getByLink($feedSource->current()->getPermaLink())) { $tdate = $feedSource->current()->getDateModified(); $tdate = new Zend_Date($tdate); $defaultFilterChain = new Zend_Filter(); $defaultFilterChain->addFilter(new Ifphp_Filter_XSSClean()); $defaultFilterChain->addFilter(new Zend_Filter_StringTrim()); $defaultFilterChain->addFilter(new Zend_Filter_StripTags()); $post = $posts->createRow(); $post->title = $defaultFilterChain->filter($feedSource->current()->getTitle()); $post->description = $defaultFilterChain->filter($feedSource->current()->getDescription()); $post->feedId = $defaultFilterChain->filter($feed->id); $post->link = $defaultFilterChain->filter($feedSource->current()->getPermaLink()); $post->publishDate = $tdate->toValue(); $post->save(); Ifphp_Controller_Front::getInstance()->getPluginBroker()->addPost($post, $feed); $feedSource->next(); } $feed->lastPing = time(); $feed->save(); }
public function filter($value) { $filterChain = new Zend_Filter(); $htmlFilter = new HausDesign_Filter_HtmlPurifier(); $config = $htmlFilter->getConfig(); $config->set('AutoFormat', 'AutoParagraph', true); $config->set('AutoFormat', 'Linkify', true); $allowed = $this->getAllowed(); if (null !== $allowed) { $config->set('HTML', 'Allowed', $allowed); } $filterChain->addFilter($htmlFilter); //$geshiFilter = new HausDesign_Filter_Geshi(); //$filterChain->addFilter($geshiFilter); return $filterChain->filter($value); }
public function filter($value) { $digits = Zend_Filter::filterStatic($value, 'Digits'); $padded = str_pad($digits, 5, '0', STR_PAD_LEFT); $output = 'HRS' . $padded; return $output; }
/** * Action more. * * @return void */ public function moreAction() { $page = Zend_Filter::filterStatic($this->_getParam('page'), 'int'); $identity = Zend_Auth::getInstance()->getIdentity(); $courses = Application_Model_Classroom::getAllByUser($identity->id); $this->view->timeline = Application_Model_Timeline::getByClassroom($courses, $page); }
public function postSave($entity, $dto = NULL) { $data = $dto->getMap(); unset($data['sqUsuarioExterno']); $entityPF = $this->_getRepository('app:UsuarioPessoaFisica')->find($entity->getSqUsuarioExterno()); $data['sqTipoEscolaridade'] = NULL; $data['sqPaisOrigem'] = NULL; if ($dto->getSqTipoEscolaridade()) { $data['sqTipoEscolaridade'] = $this->_getRepository('app:TipoEscolaridade')->find($dto->getSqTipoEscolaridade()); } if ($dto->getSqPaisOrigem()) { $data['sqPaisOrigem'] = $this->_getRepository('app:Pais')->find($dto->getSqPaisOrigem()); } if ($entityPF) { $entityPF->fromArray($data); } else { $entityPF = \Core_Dto::factoryFromData($dto->getMap(), 'entity', $this->_entityOption)->getEntity(); $entityPF->setSqTipoEscolaridade($data['sqTipoEscolaridade']); $entityPF->setSqPaisOrigem($data['sqPaisOrigem']); } $entityPF->setNuCpf(\Zend_Filter::filterStatic($entityPF->getNuCpf(), 'Digits')); $entityPF->setSqUsuarioExterno($entity); $this->getEntityManager()->persist($entityPF); $this->getEntityManager()->flush($entityPF); parent::postSave($entity, $dto); }
/** * @return AM_Mapper_Sqlite_Element */ protected function _unmapCustom() { $sContentText = null; $oElementDataSet = $this->getModel()->getResources(); /* @var $oElementDataSet AM_Model_Db_Element_Data_Abstract */ foreach ($oElementDataSet->getData() as $oElementData) { /* @var $oElementData AM_Model_Db_Element_Data_Abstract */ if (AM_Model_Db_Element_Data_Resource::PDF_INFO == $oElementData->key_name) { if (!empty($oElementData->value)) { $aPdfInfo = Zend_Json_Decoder::decode($oElementData->value, true); $sContentText = $aPdfInfo['text']; } } $sElementDataMapperClassName = self::ELEMENT_DATA_MAPPER_CLASS_PREFIX . Zend_Filter::filterStatic($oElementData->key_name, 'Word_UnderscoreToCamelCase'); if (class_exists($sElementDataMapperClassName, true)) { $oElementDataMapper = new $sElementDataMapperClassName($oElementData, array('adapter' => $this->_getAdapter())); $oElementDataMapper->unmap(); continue; } $aData = array('element_id' => $this->getModel()->id, 'type' => $oElementData->key_name, 'value' => $oElementDataSet->getDataValueForExport($oElementData->key_name), 'position_id' => 0); $this->_getSqliteGateway('element_data')->insert($aData); } $aData = array('id' => $this->getModel()->id, 'page_id' => $this->getModel()->page, 'element_type_name' => $this->getModel()->getFieldTypeTitle(), 'weight' => intval($this->getModel()->weight), 'content_text' => $sContentText); $this->_getSqliteGateway()->insert($aData); return $this; }
public function indexAction() { $request = $this->getRequest(); if (!$request->isPost()) { $this->getHelper('Redirector')->goto('index', 'index'); // action, controller } $c = Zend_Registry::get('config'); $apiKey = Zend_Filter::get($request->getPost('apikey'), 'Alnum'); try { $user = User::findByApiKey($apiKey); if ($user === null) { $this->view->assign('response', 'Invalid API key.'); } else { $user->setIp($request->getServer('REMOTE_ADDR')); } } catch (Zend_Db_Adapter_Exception $e) { $this->view->assign('response', $e->getMessage()); } if (isset($user)) { if ($_FILES['file']['error'] === 0) { $file = new File(); $file->setFileName($_FILES['file']['name']); $file->setFileSize($_FILES['file']['size']); $file->setTmpName($_FILES['file']['tmp_name']); $file->setUploadedBy($user); try { $url = $file->save(); $this->view->assign('response', $url . "\n"); } catch (Exception $e) { $this->view->assign('response', $e->getMessage()); } } else { switch ($_FILES['file']['error']) { case UPLOAD_ERR_OK: break; case UPLOAD_ERR_INI_SIZE: throw new Exception('The uploaded file exceeds the upload_max_filesize directive (' . ini_get('upload_max_filesize') . ') in php.ini.'); break; case UPLOAD_ERR_FORM_SIZE: throw new Exception('The uploaded file exceeds the MAX_FILE_SIZE directive' . 'that was specified in the HTML form.'); break; case UPLOAD_ERR_PARTIAL: throw new Exception('The uploaded file was only partially uploaded.'); break; case UPLOAD_ERR_NO_FILE: throw new Exception('No file was uploaded.'); break; case UPLOAD_ERR_NO_TMP_DIR: throw new Exception('Missing a temporary folder.'); break; case UPLOAD_ERR_CANT_WRITE: throw new Exception('Failed to write file to disk.'); break; default: throw new Exception('Unknown File Error.'); } } } }
public function viewAction() { $identity = Zend_Auth::getInstance()->getIdentity(); $id = Zend_Filter::filterStatic($this->_getParam('id'), 'int'); $exerciseId = Zend_Filter::filterStatic($this->_getParam('exerciseId'), 'int'); $userId = Zend_Filter::filterStatic($this->_getParam('userId', $identity->id), 'int'); $exercise = new Tri_Db_Table('exercise'); $exerciseQuestion = new Tri_Db_Table('exercise_question'); $exerciseNote = new Tri_Db_Table('exercise_note'); $exerciseAnswer = new Tri_Db_Table('exercise_answer'); if ($id) { $note = $exerciseNote->fetchRow(array('id = ?' => $id)); } elseif ($exerciseId) { $note = $exerciseNote->fetchRow(array('exercise_id = ?' => $exerciseId, 'user_id = ?' => $userId), 'id DESC'); } if ($note) { $row = $exercise->fetchRow(array('id = ?' => $note->exercise_id)); if ($row) { $where = array('exercise_id = ?' => $row->id, 'status = ?' => 'active'); $this->view->questions = $exerciseQuestion->fetchAll($where); $this->view->exercise = $row; $this->view->answers = $exerciseAnswer->fetchAll(array('exercise_note_id = ?' => $note->id)); $this->view->note = $note; $whereNote = array('exercise_id = ?' => $note->exercise_id, 'id <> ?' => $note->id, 'user_id = ?' => $userId); $this->view->notes = $exerciseNote->fetchAll($whereNote, 'id DESC'); $this->view->userId = $userId; } else { $this->view->message = 'there are no records'; } } else { $this->view->message = 'there are no records'; } }
/** * * @param La_Db_Table $table * @param La_Form $form */ public function direct(La_Db_Table $table = null, La_Form $form = null) { $controller = $this->getActionController(); $id = Zend_Filter::filterStatic($controller->getParam("id"), 'int'); $ajaxContext = $controller->getHelper('AjaxContext'); $formData = $controller->getParam("formData"); $ajaxContext->addActionContext('form', 'html')->initContext(); if (!$form) { $form = $controller->form; } if (!$table) { $table = $controller->table; } $table->setAutoJoin(false); $controller->view->data = $table->createRow(); if ($id) { $row = $table->find($id)->current(); if (!$row) { $controller->view->messages = array($controller->getHelper('Message')->direct('ERROR_LOAD')); } else { $controller->view->data = $row; $form->populate($row->toArray()); if ($formData) { $form->populate($formData); $controller->view->messages = array($controller->getHelper('Message')->direct('ERROR', true)); } } } $controller->view->dynamicFormId = uniqid(); $controller->view->form = $form; $controller->view->id = $id; }