public function save($data, $overwrite = false) { if (isset($data['group_provider_id']) && isset($data['decorator_id']) && $data['decorator_id'] == $data['org_decorator_id'] && !$overwrite) { $group_provider_id = htmlentities($data['group_provider_id']); $decorator_id = htmlentities($data['decorator_id']); $decoratorService = new EngineBlock_Service_GroupProviderDecorator(); $decorator = $decoratorService->fetchById($group_provider_id, $decorator_id); } else { $decorator = new EngineBlock_Model_GroupProviderDecorator(); } $decorator->populate($data); $form = new EngineBlock_Form_GroupProviderDecorator(); if (!$form->isValid($decorator->toArray())) { $formErrors = $form->getErrors(); $modelErrors = array(); foreach ($formErrors as $fieldName => $fieldErrors) { foreach ($fieldErrors as $fieldError) { switch ($fieldError) { case 'isEmpty': $error = 'Field is obligatory, but no input given'; break; default: $error = $fieldError; } if (!isset($modelErrors[$fieldName])) { $modelErrors[$fieldName] = array(); } $modelErrors[$fieldName][] = $error; } } $decorator->errors = $modelErrors; } else { $mapper = new EngineBlock_Model_Mapper_GroupProviderDecorator(new EngineBlock_Model_DbTable_GroupProviderDecorator()); $isNewRecord = isset($data['org_decorator_id']) && $decorator->decorator_id != $data['org_decorator_id']; $mapper->save($decorator, $isNewRecord); } return $decorator; }
public function decoratordeleteAction() { $this->_helper->layout->disableLayout(); $this->_helper->viewRenderer->setNoRender(true); $service = new EngineBlock_Service_GroupProviderDecorator(); return $service->delete(htmlentities($this->_getParam('group_provider_id')), htmlentities($this->_getParam('decorator_id'))); }