Beispiel #1
0
 public static function getNode($settingName)
 {
     $metaValue = (int) self::byName($settingName);
     $node = new NodeModel();
     $node->loadByPK($metaValue);
     return $node->hasLoaded() ? $node : false;
 }
Beispiel #2
0
 public function updateJson()
 {
     $id = Ajde::app()->getRequest()->getParam('id');
     $meta = Ajde::app()->getRequest()->getPostParam('meta');
     $key = Ajde::app()->getRequest()->getPostParam('key');
     $value = Ajde::app()->getRequest()->getPostParam('value');
     $model = new NodeModel();
     $model->loadByPK($id);
     $success = false;
     if ($meta) {
         $model->saveMetaValue($key, $value);
         $success = true;
     } else {
         $model->set($key, $value);
         $success = $model->save();
     }
     return ['success' => true, 'message' => $success ? 'Node updated' : 'Something went wrong'];
 }
Beispiel #3
0
 public function getItems()
 {
     $collection = new MenuCollection();
     $collection->filterByParent($this->id);
     $collection->orderBy('sort');
     $currentParentUrl = false;
     if ($current = Ajde_Cms::getInstance()->getRoutedNode()) {
         $currentParentUrl = $current->getParent() && $current->getParent()->hasLoaded() ? $current->getParent()->getUrl() : false;
     }
     $items = [];
     foreach ($collection as $item) {
         /* @var $item MenuModel */
         $name = $item->name;
         $target = '';
         $submenus = [];
         $current = '';
         $node = new NodeModel();
         if ($item->type == 'URL') {
             $url = $item->url;
             if (substr($url, 0, 7) === 'http://' || substr($url, 0, 8) === 'https://') {
                 $target = '_blank';
             }
         } else {
             if ($item->type == 'Node link') {
                 $node->loadByPK($item->node);
                 $url = $node->getUrl();
             } else {
                 if ($item->type == 'Submenu') {
                     $node->loadByPK($item->node);
                     $url = $node->getUrl();
                     $submenus = $item->getItems();
                     foreach ($submenus as $submenu) {
                         if ($submenu['current']) {
                             $current = 'active sub-active';
                         }
                     }
                 }
             }
         }
         if ($url == Ajde::app()->getRoute()->getOriginalRoute()) {
             $current = 'active';
         }
         if (Ajde::app()->getRoute()->getOriginalRoute() == '' && $url == config('routes.homepage')) {
             $current = 'active';
         }
         if ($url == $currentParentUrl) {
             $current = 'active sub-active';
         }
         if ($item->type == 'Node link' && !$node->hasLoaded()) {
         } else {
             $items[] = ['node' => $node, 'name' => $name, 'url' => $url, 'target' => $target, 'current' => $current, 'submenus' => $submenus];
         }
     }
     return $items;
 }
Beispiel #4
0
 public function getNodeModelFromMetaValue($metaId)
 {
     $metaValue = (int) $this->getMetaValue($metaId);
     $node = new NodeModel();
     $node->loadByPK($metaValue);
     return $node->hasLoaded() ? $node : false;
 }