function nestTree(&$nodes, $sortKey, $i) { $new = array(); if (count($nodes) < 1) { return; } $i = (int) $i; while (list(, $node) = each($nodes)) { $new[$node['ID']] = $node; $next_id = key($nodes); if ($node['LEVEL'] < $nodes[$next_id]['LEVEL']) { $ncc = nestTree($nodes, $sortKey, $i); if ($ncc[getArrayFirstIndex($ncc)]['LFT'] > 0) { $new[$node['ID']]['CHILDREN'] = $ncc; } } $next_id = key($nodes); if ($next_id && $nodes[$next_id]['PARENT'] != $node['PARENT']) { /* SORTING */ if ($sortKey != '') { usort($new, function ($a, $b) { return strcasecmp($a['NAME'], $b['NAME']); }); } /* SORTING */ return $new; } } /* SORTING */ if ($sortKey != '') { usort($new, function ($a, $b) { return strcasecmp($a['NAME'], $b['NAME']); }); } /* SORTING */ $i++; return $new; }
function tab_redirect($tabs) { foreach ($tabs as $key => $href) { $href = explode('?', $href); $tab_folder = $href[0] . '?'; $uri = explode('?', $_SERVER['REQUEST_URI']); $uri = $uri[0] . '?'; //echo $uri . ' ' . $tab_folder . '<br />'; if (strpos($uri, $tab_folder) !== false) { return false; } //if ( ereg( $value . '.*', $_SERVER['REQUEST_URI'] ) ) return false; //if ( ereg( str_replace('?','\?',$value) . '.*', $_SERVER['REQUEST_URI'] ) ) return false; } //foreach $qs = explode('?', $_SERVER['REQUEST_URI']); $qs = $qs[1]; if ($qs) { $qs = '?' . $qs; } redirect($tabs[getArrayFirstIndex($tabs)] . $qs, 302); }