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 .= '
';
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 .= '
' . $node->name . '
';
}
}
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 .= '';
}
if ($children && $lvl == 0) {
$out .= self::makeFrontendListFooter($iq_content_tree, $lvl + 1, $node->id, $url . $node->identifier . "/");
}
if ($lvl == 0) {
$out .= '
';
}
}
return $out;
}
}