id)->where('lvl', $lvl)->where('parent_id', $parent_id)->orderBy('pos', 'ASC')->get(); } else { $tree_nodes = IQContentTreeNode::where('tree_id', $iq_content_tree->id)->where('lvl', $lvl)->orderBy('pos', 'ASC')->get(); } $out = ""; foreach ($tree_nodes as $node) { $children = IQContentTreeNode::where('tree_id', $iq_content_tree->id)->where('lvl', $lvl + 1)->where('parent_id', $node->id)->count(); $out .= '
  • ' . ($node->iq_content_sites->count() ? '('.$node->iq_content_sites->count().')' : '') . ' ' . ($node->active ? ' ' : '') . '
    '; if ($children) { $out .= self::makeNestableList($iq_content_tree, $tree_node_id, $lvl + 1, $node->id); } $out .= '
  • '; } return '
      ' . $out . '
    '; } public static function getUri() { if (strpos($_SERVER['REQUEST_URI'], "/") !== false) { $uri = explode("/", $_SERVER['REQUEST_URI']); $uri = array_filter($uri); return $uri; } return false; } public static function makeFrontendList(IQContentTree $iq_content_tree, $lvl = 0, $parent_id = false, $url = "", $categories = "") { if (self::$uri === null) { self::$uri = self::getUri(); } $link = false; if (!empty(self::$uri[$lvl + 2])) { $link = (self::$uri[$lvl + 2]); } if ($parent_id) { //where('active', true) $tree_nodes = IQContentTreeNode::where('tree_id', $iq_content_tree->id)->where('lvl', $lvl)->where('active', true)->where('parent_id', $parent_id)->orderBy('pos', 'ASC')->get(); } else { $url = "/" . $iq_content_tree->identifier . "/"; $tree_nodes = IQContentTreeNode::where('tree_id', $iq_content_tree->id)->where('lvl', $lvl)->where('active', true)->orderBy('pos', 'ASC')->get(); } $out = ""; $class = (!$link) ? 'active' : ''; foreach ($tree_nodes as $node) { if($node->settings['show_in_navi'] == 'off'){ continue; } $children = IQContentTreeNode::where('tree_id', $iq_content_tree->id)->where('lvl', $lvl + 1)->where('active', true)->where('parent_id', $node->id)->count(); $class = ($link == $node->identifier) ? 'active' : ''; if ($lvl == 0) { $out .= ''; } } return $out; } public static function makeFrontendListFooter(IQContentTree $iq_content_tree, $lvl = 0, $parent_id = false, $url = "") { if (self::$uri === null) { self::$uri = self::getUri(); } $link = false; if (!empty(self::$uri[$lvl + 2])) { $link = (self::$uri[$lvl + 2]); } if ($parent_id) { //where('active', true) $tree_nodes = IQContentTreeNode::where('tree_id', $iq_content_tree->id)->where('lvl', $lvl)->where('active', true)->where('parent_id', $parent_id)->orderBy('pos', 'ASC')->get(); } else { $url = "/" . $iq_content_tree->identifier . "/"; $tree_nodes = IQContentTreeNode::where('tree_id', $iq_content_tree->id)->where('lvl', $lvl)->where('active', true)->orderBy('pos', 'ASC')->get(); } $out = ""; $class = (!$link) ? 'active' : ''; foreach ($tree_nodes as $node) { if($node->settings['show_in_navi'] == 'off'){ continue; } $children = IQContentTreeNode::where('tree_id', $iq_content_tree->id)->where('lvl', $lvl + 1)->where('active', true)->where('parent_id', $node->id)->count(); $class = ($link == $node->identifier) ? 'active' : ''; if ($lvl == 0) { $out .= '
    '; } else { $out .= '' . ($link == $node->identifier ? '' : '') . $node->name . '' . ($link == $node->identifier ? '' : '') . ''; } if ($children && $lvl == 0) { $out .= self::makeFrontendListFooter($iq_content_tree, $lvl + 1, $node->id, $url . $node->identifier . "/"); } if ($lvl == 0) { $out .= '
    '; } } return $out; } }