<?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_children.php,v 1.4 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'"
);
/*
* gibt entweder die Kinder des per $folderRestrictID übergebenen Nodes aus
* oder die Kinder der Wurzel von der $openfolder
*/
if(isset($nestedSet_children_restrictID)) {
$folderMenuChildren = $nestedSet->getChildren($nestedSet_children_restrictID, true, $additionalSQL);
} else {
$fetchOpenfolder = $nestedSet->getNode($openfolder, true, $additionalSQL);
$folderMenuChildren = $nestedSet->getChildren($fetchOpenfolder['root'], true, $additionalSQL);
}
$fStatus = array ();
$fID = array ();
$fName = array ();
$fLevel = array ();
$fSpace = array ();
$fArtPrint = array ();
$fFidSet = array ();
$fURL = array ();
if($folderMenuChildren != false) {
foreach($folderMenuChildren as $v) {
$_fStatus = 0;
if($v[root] == $GLOBALS[openfolderData][root] && $v[l] <= $GLOBALS[openfolderData][l] && $v[r] >= $GLOBALS[openfolderData][r]) {
$_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_children_template)) {
$tpl->display($nestedSet_children_template);
} else {
$tpl->display("menu.template");
}
?>