Esempio n. 1
0
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;
}
Esempio n. 2
0
 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);
 }