/** * */ private function removeMenuItem() { $menuId = intval($this->request->gp('menu_id')); $menu = $this->db->getRepository('\\Fraym\\Menu\\Entity\\MenuItem')->findOneById($menuId); $this->db->remove($menu); $this->db->flush(); }
/** * @param $classAnnotation * @return $this */ private function removeEntities($classAnnotation) { $classAnnotation = (object) $classAnnotation; if (count($classAnnotation->entity)) { foreach ($classAnnotation->entity as $className => $entries) { foreach ($entries as $entryData) { if ($entry = $this->getEntity($className, $entryData)) { $this->db->remove($entry); } } } } if (count($classAnnotation->config)) { $className = '\\Fraym\\Registry\\Entity\\Config'; foreach ($classAnnotation->config as $configName => $data) { if (!isset($data['deletable']) || $data['deletable'] === true) { $entry = $this->db->getRepository($className)->findOneByName($configName); if ($entry) { $this->db->remove($entry); } } } } $this->db->flush(); return $this; }
/** * @return bool|mixed */ public function getContent() { if ($this->user->isAdmin() === false) { return false; } $currentEntity = false; $errors = false; $data = array(); $formFields = array(); $entities = array(); $modelClass = false; $model = false; $modelName = $this->request->gp('model', false); $groupedModels = $this->db->getRepository('\\Fraym\\EntityManager\\Entity\\Group')->findAll(); if ($modelName) { $model = $this->entityManager->getEntityByStringOrId($modelName); if ($model) { $modelClass = $model->className; } } if ($this->request->isXmlHttpRequest()) { return $this->createEntityFromSingleField($modelClass); } if ($modelClass && $this->request->isPost()) { $data = $this->request->getGPAsArray(); $validation = $this->validation->setData($data)->getFormFieldValidation($modelClass); if ($id = $this->request->post('id')) { $currentEntity = $this->db->getRepository($modelClass)->findOneById($id); if (isset($data['cmd']) && $data['cmd'] == 'update' && $currentEntity && ($errors = $validation->check()) === true) { $currentEntity->updateEntity($data); } elseif (isset($data['cmd']) && $data['cmd'] == 'remove' && $currentEntity) { $this->db->remove($currentEntity); $this->db->flush(); $data = array(); $currentEntity = false; } elseif (isset($data['cmd']) && $data['cmd'] == 'update') { $currentEntity->updateEntity($data, false); } } else { if (isset($data['cmd']) && $data['cmd'] == 'new' && ($errors = $validation->check()) === true) { $currentEntity = new $modelClass(); $currentEntity->updateEntity($data); } } } if ($modelClass && $model) { $entities = $this->db->getRepository($modelClass)->findAll(); $formFields = $this->formField->setClassName($modelClass)->getFields(); } $this->view->assign('locales', $this->locale->getLocales()); $this->view->assign('data', $data); $this->view->assign('errors', $errors); $this->view->assign('currentEntity', $currentEntity); $this->view->assign('entities', $entities); $this->view->assign('groupedModels', $groupedModels); $this->view->assign('model', $model); $this->view->assign('formFields', $formFields); return $this->siteManagerController->getIframeContent($this->template->fetch('EntityView')); }
/** * @param $block * @return bool */ public function undoBlock($block) { foreach ($block->changeSets as $change) { $this->db->remove($change); } if (get_class($block) === 'Fraym\\Block\\Entity\\ChangeSet') { $this->db->remove($block); } $this->db->flush(); return true; }
/** * Delete a block */ private function deleteBlock() { $blockId = $this->request->gp('blockId', false); if ($blockId && ($block = $this->db->getRepository('\\Fraym\\Block\\Entity\\Block')->findOneById($blockId))) { $this->block->saveHistory($block, 'deleted'); foreach ($block->refBlocks as $refBlock) { $this->db->remove($refBlock); } $this->db->remove($block); $this->db->flush(); $this->response->sendAsJson(array('success' => true)); } }