207 lines
6.2 KiB
PHP
Executable File
207 lines
6.2 KiB
PHP
Executable File
<?php
|
|
/**-----------------------------------------------
|
|
*
|
|
* Rooty, 2018 <rooty@rooty.me>
|
|
*
|
|
*
|
|
* This software is protected by copyright, please
|
|
* read the file COPYRIGHT.
|
|
* This program is distributed in the hope that it
|
|
* will be useful, but without any warranty; without
|
|
* even the implied warranty of merchantability or
|
|
* fitness for a particular purpose. Please
|
|
* read the file LICENCE.
|
|
*
|
|
* Fichier NavigationNodePrint.php
|
|
*
|
|
* Ce fichier contient la classe NavigationNodePrint
|
|
*
|
|
* @author Initiance <www.initiance.com|martial@initiance.com>
|
|
* @copyright Copyright © 2009-2018, Rooty
|
|
* @since 2004/06/07
|
|
* @version 0.3
|
|
* @link www.rooty.me
|
|
* @package object_printing
|
|
* @subpackage NavigationNodePrint
|
|
*/
|
|
|
|
if ( !defined('SYSTEM_IN') )
|
|
{
|
|
die("Hacking attempt");
|
|
}
|
|
|
|
/**
|
|
* Classe NavigationNodePrint
|
|
*<p>Cette classe permet la recuperation des NavigationNodePrint</p>
|
|
* @package object_printing
|
|
* @subpackage NavigationNodePrint
|
|
*/
|
|
|
|
class NavigationNodePrint extends Printing
|
|
{
|
|
//
|
|
// Constructor
|
|
//
|
|
/**
|
|
* Constructeur de la classe NavigationNodePrint
|
|
* @access public
|
|
*/
|
|
function NavigationNodePrint()
|
|
{
|
|
$this->__construct();
|
|
}
|
|
|
|
function __construct()
|
|
{
|
|
parent::__construct("1.0", "Olivier DEVAINE", "Affichage de la NavigationNode");
|
|
}
|
|
|
|
/**
|
|
* Remplace dans la template principale
|
|
* @access public
|
|
*/
|
|
function __print()
|
|
{
|
|
/* gestion du lib en fonction de la langue courante */
|
|
$currentCode=$GLOBALS["SYSTEM_USER_SESSION"]->langue->getCode();
|
|
$defaultCode=$GLOBALS["SYSTEM_DEFAULT_LANGUAGE_CODE"];
|
|
/* fin récupération des codes par defaut */
|
|
|
|
$MaTemplate = new ModeliXeQware($GLOBALS['SYSTEM_TEMPLATE_PATH'].$GLOBALS['SYSTEM_TEMPLATE_DIR']."object_printing/navigationnodeprint/main.mxt");
|
|
$MaTemplate->SetModeliXe(true);
|
|
$MaTemplate->MxText("NavigationPrintName", getMessage("NavigationPrintName"));
|
|
$Node =$GLOBALS["SYSTEM_USER_SESSION"]->getNode($GLOBALS["SYSTEM_USER_SESSION"]->entryNodeId);
|
|
|
|
/* recuperation de l'image de la langue courante */
|
|
if (file_exists($GLOBALS['SYSTEM_TEMPLATE_PATH'].$GLOBALS['SYSTEM_TEMPLATE_DIR']."media/picto/node/".strtolower($Node->getIcone())) && ($Node->getIcone()!=""))
|
|
{
|
|
$img=$GLOBALS['SYSTEM_TEMPLATE_PATH'].$GLOBALS['SYSTEM_TEMPLATE_DIR']."media/picto/node/".strtolower($Node->getIcone());
|
|
}else{
|
|
$img=$GLOBALS['SYSTEM_TEMPLATE_PATH'].$GLOBALS['SYSTEM_TEMPLATE_DIR']."media/picto/node/defaultnode.gif";
|
|
}
|
|
|
|
$urlToGo = formatUrlNode("navigationNode", $Node->getId());
|
|
|
|
/* pour l'url */
|
|
$MaTemplate->MxAttribut("nodeUrl", $urlToGo);
|
|
$lib=$Node->getLibelle($currentCode);
|
|
if ($lib=="")
|
|
{
|
|
$lib=$Node->getLibelle($defaultCode);
|
|
}
|
|
|
|
/*Fonction permettant de supprimer les numeros, le point et l'espace à l'affichage*/
|
|
$lib = eregi_replace("^[[:space:]]*[a-z]+[.)".chr(176)."][[:space:]]+", "", $lib);
|
|
$MaTemplate->MxImage("pictoNode", $img ,htmlentitiesconv($lib),"");
|
|
|
|
/* objet en cours */
|
|
if ($Node->getId()==nid())
|
|
$MaTemplate->MxAttribut("style", "NavigationSelected");
|
|
else
|
|
$MaTemplate->MxAttribut("style", "Navigation");
|
|
/* Fin des objets en cours */
|
|
|
|
$MaTemplate->MxText("nodeName", htmlentitiesconv($lib));
|
|
|
|
/* On affiche les noeuds suivants */
|
|
$forNode=$this->printForNode($GLOBALS["SYSTEM_USER_SESSION"]->entryNodeId);
|
|
$MaTemplate->MxText("Navigation", $forNode);
|
|
$data=$MaTemplate->MxWrite();
|
|
|
|
if ($forNode!="")
|
|
{
|
|
$GLOBALS["SYSTEM_TEMPLATE"]->MxText("navigationnodeprint", $data);
|
|
}else{
|
|
$GLOBALS["SYSTEM_TEMPLATE"]->MxText("navigationnodeprint", "");
|
|
}
|
|
}
|
|
|
|
/**
|
|
* affichage d'un noeud et de tous ses sous noeuds
|
|
* @access public
|
|
*/
|
|
function printForNode($nodeId)
|
|
{
|
|
global $SERVER_NAME, $SCRIPT_NAME, $CONF_PERSISTANT_SECURE;
|
|
$tabNode =$this->getNodeSon($nodeId);
|
|
|
|
if (count($tabNode)==0)
|
|
return "";
|
|
|
|
$MaTemplate = new ModeliXeQware($GLOBALS['SYSTEM_TEMPLATE_PATH'].$GLOBALS['SYSTEM_TEMPLATE_DIR']."object_printing/navigationnodeprint/navigationnode.mxt");
|
|
$MaTemplate->SetModeliXe(true);
|
|
|
|
/* gestion du lib en fonction de la langue courante */
|
|
$currentCode=$GLOBALS["SYSTEM_USER_SESSION"]->langue->getCode();
|
|
$defaultCode=$GLOBALS["SYSTEM_DEFAULT_LANGUAGE_CODE"];
|
|
/* fin récupération des codes par defaut */
|
|
|
|
for ($i=0; $i<count($tabNode);$i++)
|
|
{
|
|
$lib=$tabNode[$i]->getLibelle($currentCode);
|
|
if ($lib=="")
|
|
{
|
|
$lib=$tabNode[$i]->getLibelle($defaultCode);
|
|
}
|
|
$tabName[$i]=$lib;
|
|
}
|
|
asort($tabName);
|
|
reset($tabName);
|
|
while (list($i, $lib) = each($tabName))
|
|
{
|
|
/* recuperation de l'image de la langue courante */
|
|
if (file_exists($GLOBALS['SYSTEM_TEMPLATE_PATH'].$GLOBALS['SYSTEM_TEMPLATE_DIR']."media/picto/node/".strtolower($tabNode[$i]->getIcone())) && ($tabNode[$i]->getIcone()!=""))
|
|
{
|
|
$img=$GLOBALS['SYSTEM_TEMPLATE_PATH'].$GLOBALS['SYSTEM_TEMPLATE_DIR']."media/picto/node/".strtolower($tabNode[$i]->getIcone());
|
|
}else{
|
|
$img=$GLOBALS['SYSTEM_TEMPLATE_PATH'].$GLOBALS['SYSTEM_TEMPLATE_DIR']."media/picto/node/defaultnode.gif";
|
|
}
|
|
|
|
$urlToGo = formatUrlNode("navigationNode", $tabNode[$i]->getId());
|
|
|
|
/* pour l'url */
|
|
$MaTemplate->MxAttribut("bloc1.nodeUrl", ($urlToGo));
|
|
$lib=$tabNode[$i]->getLibelle($currentCode);
|
|
|
|
if ($lib=="")
|
|
{
|
|
$lib=$tabNode[$i]->getLibelle($defaultCode);
|
|
}
|
|
|
|
/*Fonction permettant de supprimer les numeros, le point et l'espace à l'affichage*/
|
|
$lib = eregi_replace("^[[:space:]]*[a-z]+[.)".chr(176)."][[:space:]]+", "", $lib);
|
|
$MaTemplate->MxImage("bloc1.pictoNode", $img ,htmlentitiesconv($lib)," border='0'");
|
|
/* objet en cours */
|
|
if ($tabNode[$i]->getId()==nid())
|
|
$MaTemplate->MxAttribut("bloc1.style", "NavigationSelected");
|
|
else
|
|
$MaTemplate->MxAttribut("bloc1.style", "Navigation");
|
|
/* Fin des objets en cours */
|
|
|
|
if (!isset($_GET['oid']))
|
|
{
|
|
if(isset($GLOBALS["SYSTEM_PRINTING"]["HelpPrint"])) $GLOBALS["SYSTEM_PRINTING"]["HelpPrint"]->desactivate();
|
|
}
|
|
|
|
$MaTemplate->MxText("bloc1.nodeName", htmlentitiesconv($lib));
|
|
// on récupére les sous niveau...
|
|
$ssLevel=$this->printForNode($tabNode[$i]->getId());
|
|
$MaTemplate->MxText("bloc1.nodeDir", $ssLevel);
|
|
$MaTemplate->MxBloc("bloc1", "loop");
|
|
}
|
|
$data=$MaTemplate->MxWrite();
|
|
return $data;
|
|
}
|
|
|
|
/**
|
|
* recupere les repertoires d'un noeud
|
|
* @access public
|
|
*/
|
|
function getNodeSon($nodeId)
|
|
{
|
|
$tab=$GLOBALS["SYSTEM_USER_SESSION"]->getSonOfNodeAllowed($nodeId);
|
|
return $tab;
|
|
}
|
|
}
|
|
?>
|