/** * Create Modal dialog business logic * @param App_Form $form * @param array $options */ public function ajaxFormProcessor(App_Form $form, $options) { $params = $this->_getAllParams(); $subaction = isset($params['subaction']) ? $params['subaction'] : null; switch ($subaction) { case 'submit': if (!$form->isValid($params)) { $this->view->isValid = $form->isValid($params); $this->view->message = $form->getErrorMessages(); } else { $this->view->isValid = $form->isValid($params); $modelClass = $options['model']['class']; $modelMethod = $options['model']['method']; // persist method call_user_func(array($modelClass, $modelMethod), $params); $this->setMessage(self::$_translate->_($options['success']['message'])); $this->createAjaxButton($options['success']['button']['title'], $options['success']['button']['action']); if (isset($options['success']['redirect'])) { $this->view->redirect = $this->baseUrl . $options['success']['redirect']; } break; } default: $this->view->title = self::$_translate->_($options['title']); $this->createAjaxButton(self::$_translate->_($options['button']), "submit", $params, $options['url']); $this->view->form = $form->toArray(); } }