public static function getNode($settingName) { $metaValue = (int) self::byName($settingName); $node = new NodeModel(); $node->loadByPK($metaValue); return $node->hasLoaded() ? $node : false; }
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']; }
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; }
public function getNodeModelFromMetaValue($metaId) { $metaValue = (int) $this->getMetaValue($metaId); $node = new NodeModel(); $node->loadByPK($metaValue); return $node->hasLoaded() ? $node : false; }