menu_from_vis $CONF["menujb_tabella"] = "tnx_pages_tpl"; $CONF["menujb_idField"] = 'id'; $CONF["menujb_labelField"] = "titolo"; $CONF["menujb_parentField"] = "parent_id"; $CONF["menujb_orderBy"] = "ord"; $CONF["menujb_indi_pagina_inc"] = "pagine_jb.inc.php"; $CONF["menujb_pagesNameprefix"] = "jb";//se cambia bisogna modificare i moduli che usano il tipo di dato genericLinkWithId per le anteprime nelle liste dei dati di jetbox perchč non include direttamente questo file per l'editing class TabellaAlberoIndi{ var $tabella; var $idField; var $labelField; var $parentField; var $orderBy; var $pagesNameprefix; var $rootId; var $labelFields; var $lingueINDI; var $lingueJB; var $MENUref; function TabellaAlberoIndi($options = array()){ $this->tabella = 'tnx_pages';//tabella del db $this->idField = 'id';//campo id nella tabella $this->labelField = 'nome';//campo da stampare "senza l'estenzione della lingua $this->parentField = 'parent_id';//campo con cui si indica l'id padre $this->visibleField = 'isVisibile';//campo con cui si indica se la pagina č visibile o meno $this->orderBy = 'ord';//campo per order by $this->rootId = 1;//id da considerare come root del meno (questo non verrā stampato $this->addUnder = '';//chiave dell'array $MENU che identifica la voce sotto la quale vengono aggiunte le categorie (se vuota non viene stampato menu_ref) $this->pagesNameprefix = "jb";//prefisso per il nome delle pagine nell'array $MENU (seguito dall'id del record che identifica la pagina foreach ($options as $option => $value) { $this->$option = $value; } global $LANG, $MENU; $this->lingueINDI = array_keys($LANG); foreach($this->lingueINDI as $v){ $this->lingueJB[] = $v; $this->labelFields .= ", " . $this->labelField . "_" . $v; } $this->MENUref = &$MENU; } function getChilds($parentId){ //ritorna i figli dell'id dato o false se non ce ne sono $res = db_q("select * from $this->tabella where $this->parentField='$parentId' order by $this->orderBy"); $return = array(); while($r = mysql_tnx_fetch_array($res)) $return[] = $r; if(!count($return)) return false; else return $return; } function addPagesToIndiMenu($page = array()){ global $CONF; if(empty($page[$this->idField])) $page[$this->idField] = $this->rootId; $child = $this->getChilds($page[$this->idField]); foreach($child as $c){ foreach($this->lingueINDI as $k=>$l){ $this->MENUref[$this->pagesNameprefix . $c[$this->idField]][$l]["menu_txt"] = $c[$this->labelField."_".$this->lingueJB[$k]]; } if($page[$this->idField] != $this->rootId){ $this->MENUref[$this->pagesNameprefix . $c[$this->idField]]["xxx"]["menu_ref"] = $this->pagesNameprefix . $page[$this->idField]; } else if(!empty($this->addUnder)){ $this->MENUref[$this->pagesNameprefix . $c[$this->idField]]["xxx"]["menu_ref"] = $this->addUnder; } if($c['linkTo']){ $this->MENUref[$CONF["menujb_pagesNameprefix"] . $c[$this->idField]]["xxx"]["menu_link"] = $CONF["menujb_pagesNameprefix"] . $c['linkTo']; } if($c["indi_pagina_inc"] != "") $this->MENUref[$CONF["menujb_pagesNameprefix"] . $c[$this->idField]]["xxx"]["pagina_inc"] = $c["indi_pagina_inc"]; else $this->MENUref[$CONF["menujb_pagesNameprefix"] . $c[$this->idField]]["xxx"]["pagina_inc"] = $CONF["menujb_indi_pagina_inc"]; if($c["indi_template"] != "") $this->MENUref[$CONF["menujb_pagesNameprefix"] . $c[$this->idField]]["xxx"]["template"] = $c["indi_template"]; $this->MENUref[$CONF["menujb_pagesNameprefix"] . $c[$this->idField]]["xxx"]["menu_from"] = $CONF["menujb_from"]; $this->MENUref[$CONF["menujb_pagesNameprefix"] . $c[$this->idField]]["xxx"]["menu_pagina_vis"] = $c[$this->visibleField] ? "SI" : "NO"; $this->addPagesToIndiMenu($c); } } } ?>