public static function returnData($data = false, $page = 1, $total_results = 0) { if (ErrorModel::getErrors()) { $return['error'] = ErrorModel::getErrors(); $return['success'] = false; } else { is_array($data) && array_key_exists('data', $data) ? $return = $data : ($data ? $return['data'] = $data : ($return = false)); $total_results ? $return['total'] = $total_results : false; $total_results ? $return['page'] = (int) $page : false; $keys = is_array($return['data']) ? array_keys($return['data']) : null; $return['data'] ? $return['count'] = (int) count(is_array($return['data']) ? $return['data'][array_shift($keys)] : $return['data']) : false; $return['success'] = true; } return array('response' => $return); }
public function getErrors() { return ErrorModel::getErrors(); }
public function discovery($entity, $entity_parent = null, $from_form = false) { $default_model = new Model\DefaultModel(); $default_model->initialize($this->getSm()); $default_model->setConfig($this->config); $default_model->setEntity('Entity\\' . $entity); isset($this->params['deep']) ? $default_model->setMaxDeep($this->params['deep']) : 0; if (!$from_form) { if (!$default_model->getEntity()) { ErrorModel::addError(array('code' => '404', 'message' => 'Error 404: %1$s %2$s not found', 'values' => array('Entity', $default_model->getEntityName()))); return; } switch ($this->getMethod()) { case 'POST': $data = $default_model->insert($this->params); break; case 'PUT': $data = $default_model->edit($this->params); break; case 'DELETE': $data = $default_model->delete($this->params['id']); break; default: if ($this->getViewMethod() != 'form') { $id = isset($this->params['id']) ? $this->params['id'] : null; $page = isset($this->params['page']) ? $this->params['page'] : 1; $limit = isset($this->params['limit']) ? $this->params['limit'] : 100; if ($entity_parent) { $data = $default_model->getWithParent($id, $entity_parent, $page, $limit); } else { $data = $default_model->get($id, $page, $limit); } $this->rows = $default_model->getTotalResults(); } break; } } else { switch ($this->getViewMethod()) { case 'form': $data = $default_model->form($entity, $this->params); break; } } return $data; }
public function insert(array $params) { try { $class = new $this->entity_name(); $entity = $this->setData($class, $params); $this->_em->persist($entity); $this->_em->flush(); $this->_em->clear(); return $this->get($entity->getId()); } catch (Exception $e) { ErrorModel::addError(array('code' => 'no_insert_this_data', 'message' => 'Not insert this data')); ErrorModel::addError(array('code' => $e->getCode(), 'message' => $e->getMessage())); $this->_em->rollback(); } }
public function indexAction() { $this->initialize(); try { $return = []; switch ($this->_method) { case 'DELETE': case 'PUT': $return['response'] = $this->alterData(); break; case 'POST': $return['response'] = $this->insertData(); break; case 'GET': $return['response'] = $this->_viewMethod == 'form' ? [] : $this->getData(); break; } switch ($this->_viewMethod) { case 'form': $return['response']['form'] = $this->getForm(isset($return['response']['data']['id']) ? $return['response']['data']['id'] : null); break; } $return['response']['method'] = $this->_method; $return['response']['view_method'] = $this->_viewMethod; $return['response']['success'] = isset($return['success']) ? $return['success'] : true; if (ErrorModel::getErrors()) { foreach (ErrorModel::getErrors() as $error) { throw new \Exception($error); } } } catch (\Exception $e) { $return = array('response' => array('error' => array('code' => $e->getCode(), 'message' => $e->getMessage()), 'success' => false)); } $this->_view->setVariables($return); return $this->_view; }