Location: PHPKode > projects > Content*Builder > modules/menu2/menu_nestedSet_root.php
<?php
    /*
	* menu_nestedSet_children.php
	* a) wurde nichts angegeben, gibt diese Datei die Kinder der
	*    Wurzel von der Openfolder aus. Also quasi das 2. Level
	* b) ist $nestedSet_children_restrictID gesetzt ( per setModuleValue("moduleName", "nestedSet_children_restricID", "ID"); )
	*    werden nur die Kinder dieser Rubrik ausgeben
	* c) ist $nestedSet_children_template gesetzt, wird dieses Template
	*    anstatt menu.template gewählt
	*
	* @version $Id: menu_nestedSet_root.php,v 1.2 2004/04/03 10:27:09 cb_fog Exp $
	* @copyright 2003 C*B Development Team
	*/
	
	$tpl->assign("MODULE_IMG_DIR", $location."templates/images/");
	
	/*
	* Ermittlung der Default Sprache ... wird leider noch als article Option gesetzt
	*/
	$dlQuery = mysql_fetch_array(mysql_query("SELECT * FROM ".TABLE."_options WHERE name = 'default_lang' AND module = 'art'"));
	$defaultLanguage = $dlQuery[value];
	
	/*
	* Wenn im Cookie ne andere Sprache steht, diese nehmen
	*/
	if(!empty($_COOKIE['main_language'])) {
		if(ereg("^[0-9]*$", $_COOKIE['main_language'])) {
			$defaultLanguage = $_COOKIE['main_language'];
		}
	}
	
    /*
    * Initialisierung der NeSet Array's für das
    * Folder Nested Set Objekt
    */
    if(!is_object($nestedSet)) {
    	$folderParams = array (
    		'table'  => TABLE.'_columns',
    		'id'     => 'fid',
    		'parent' => 'mfolder',
    		'root'   => 'rootID',
    		'l'      => 'leftID',
    		'r'      => 'rightID',
    		'level'  => 'level',
    		'norder' => 'order_num'
    	);
    	
    	$folderAdditional = array (
    		'name'          => 'fname',
    		'writestatus'   => 'writestatus',
    		'description'   => 'describt',
    		'loadurl'       => 'loadurl',
    		'usersallowed'  => 'usersallowed',
    		'groupsAllowed' => 'groupsAllowed',
    		'skin'          => 'skin'
    	);
    	
    	$nestedSet = CB_NestedSet::factory($folderParams, $folderAdditional);
   	}
   	
	$additionalSQL = array (
		"field" => ", lang.text, lang.languageID",
		"join"  => "LEFT JOIN ".TABLE."_language AS lang ON lang.typeID = n.fid AND lang.type = 'column' AND lang.languageID = '$defaultLanguage'"
	);
	
	$fStatus = array ();
	$fID = array ();
	$fName = array ();
	$fLevel = array ();
	$fSpace = array ();
	$fArtPrint = array ();
	$fFidSet = array ();
	$fURL = array ();
	
   	$mainFolderRequest = $nestedSet->getAllNodes(true, $additionalSQL);
   	if($mainFolderRequest != false) {
        foreach($mainFolderRequest as $v) {
			$_fStatus = 0;
            if($v[root] == $GLOBALS[openfolderData][root]) {
		        $_fStatus = 1;
		    }
		
            if($v['loadurl'] != "") {
				if(!ereg("^http://", $v['loadurl'])) {
					$fURL[] = $v[id]."&load=".$v['loadurl'];
					$fFidSet[] = "1";
				} else {
					$fURL[] = $v['loadurl'];
					$fFidSet[] = "0";
				}
			} else {
				$fURL[] = $v[id];
				$fFidSet[] = "1";
			}
			
			$_fName = $v[name];
			if($v[text] != "") {
				$_fName = $v[text];
			}
			
			$fStatus[] = $_fStatus;
            $fArtPrint[]= "0";
			$fID[]     = $v[id];
			$fName[]   = $_fName;
			$fLevel[]  = $v[level];
			$fSpace[]  = 0;
		}
   	}
   	
   	$tpl->clear_assign("navFolderData");
		
	$tpl->assign("navFolderData",
		array (
			"DEEPNESS"	  => $fSpace,
			"NAV_FOLDER"  => $fName,
			"NAV_URL"	  => $fURL,
			"NAV_FID"     => $fID,
			"NAV_FID_SET" => $fFidSet,
			"FOLDER_ART"  => $fArtPrint,
			"LEVEL"		  => $fLevel,
			"STATUS"      => $fStatus
		)
	);
	
	/*
	* Man kann für jedes Menu ein anderes Template angeben
	*/
	if(!empty($nestedSet_root_template)) {
		$tpl->display($nestedSet_root_template);
	} else {
		$tpl->display("menu.template");
	}
?>
Return current item: Content*Builder