Example #1
0
 /**
  *
  */
 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();
 }
Example #2
0
 /**
  * @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'));
 }
Example #4
0
 /**
  * @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;
 }
Example #5
0
 /**
  * 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));
     }
 }