* * * 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 PrintingManager.php * *Ce fichier contient la classe PrintingManager * * @author Rooty * @link www.rooty.me * @since 2004/04/14 * @version 0.3 * @package system_printing * @copyright Copyright © 2009-2018, Rooty */ ##################################################################################################### ################################# Parametrage ##################################################################################################### /** * declaration du system... si cette variable n'est pas définie, les fichier inclus ne marche pas... * cette variable est déclarée sur la page d'execution du script. *

if ( !defined('SYSTEM_IN') ) * { * die("Hacking attempt"); * }

*/ if ( !defined('SYSTEM_IN') ) { die("Hacking attempt"); } /** * Appel à la classe Printing... */ require ($CONF_LIB_PATH."lib/system/system_printing/printing.php"); /** * Classe PrintingManager * *

Classe de gestion des instances de Printings
* (permet de fabriquer, detruire, mettre à jour des objet Printings)
* Cette classe se sert des ressources à sa disposition (dans lib/Printings)

* Elle *

* @package system_printing */ class PrintingManager { /** * @access private * @var chaine * @desc chaine */ var $sourceDir = null; // // Constructor // /** *Constructeur de la classe PrintingManager * *

Initialise le bon objet (ressource) ...
chacun de ces objets doit avoir les mêmes methodes (equivalente aux methodes sourceXXX)

*

L'objet PrintingManager ne doit servir qu'a la récuperation des Printing

* @access public */ function __construct() { global $CONF_LIB_PATH; $this->setSourceDir($CONF_LIB_PATH."lib/object_printing/"); } /** * getSourceDir : récupere le repertoire des Printing à insérer * @access public * @return chaine nom du repertoire d'inclusion */ function getSourceDir() { return $this->sourceDir; } /** * setSourceDir : affecte le repertoire des Printing à insérer * @access public * @return booleen */ function setSourceDir($path) { $this->sourceDir=$path; return true; } /** * doListPrinting : récupere le nom de tous les Printing disponibles * @access public * @return booleen */ function doListPrinting() { $i=0; $tab=array(); if (is_dir($this->sourceDir)) { if ($dh = opendir($this->sourceDir)) { while (($obj = readdir($dh)) !== false) { if (is_dir($this->sourceDir.$obj)) if (file_exists($this->sourceDir.$obj."/".$obj.".php")) { $tab[$i]=$obj; $i++; } } closedir($dh); } } return $tab; } /** * doLoadPrinting : charge tous les Printing sous la forme $GLOBALS['SYSTEM_Printing']['nomduPrinting']=new Printing(); *Ne charge que les objets d'affichage qui sont appélés par la template principale... * @access public * @return booleen */ function doLoadPrinting() { $GLOBALS['SYSTEM_PRINTING']=array(); /* Déclaration de la variable globale des Printing */ $tab=$this->doListPrinting(); for ($i=0; $iWithMxPath(""); /* Gére en fonction de la template si le flag existe */ if ($GLOBALS["SYSTEM_TEMPLATE"]->IsMxFlag($tab[$i], "text")) { /* On suppose que le Printing existent (test dans doListPrinting) */ include_once($this->sourceDir.$tab[$i]."/".$tab[$i].".php"); /* On créer une instance pour le Printing sous SYSTEM_Printing */ $GLOBALS["SYSTEM_PRINTING"][$tab[$i]]=new $tab[$i](); } else if( ($GLOBALS["SYSTEM_TEMPLATE"]->IsMxBloc($tab[$i])) ) { /* On suppose que le Printing existent (test dans doListPrinting) */ include_once($this->sourceDir.$tab[$i]."/".$tab[$i].".php"); /* On créer une instance pour le Printing sous SYSTEM_Printing */ $GLOBALS["SYSTEM_PRINTING"][$tab[$i]]=new $tab[$i](); } } return true; } /** * execPrinting : appel pour tous les printing leur methode __print() * @access public * @return booleen */ function execPrinting() { if (!Isset($GLOBALS['SYSTEM_PRINTING'])) $this->doLoadPrinting(); $tab=$this->doListPrinting(); for ($i=0; $iWithMxPath(""); /* Gére en fonction de la template si le flag existe */ if ( ($GLOBALS["SYSTEM_TEMPLATE"]->IsMxFlag(strtolower($tab[$i]), "text")) ) { $GLOBALS["SYSTEM_PRINTING"][strtolower($tab[$i])]->__print(); } else if( ($GLOBALS["SYSTEM_TEMPLATE"]->IsMxBloc(strtolower($tab[$i]))) ) { $GLOBALS["SYSTEM_PRINTING"][strtolower($tab[$i])]->__print(); } } return true; } } ?>