<?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 Printing.php
*
*Ce fichier contient la classe Printing
*
* @author Rooty <www.rooty.me|rooty@rooty.me>
* @link www.rooty.me
* @since 2004/04/14
* @version 0.3
* @package system_printing
* @copyright Copyright &copy; 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.
*<p> if ( !defined('SYSTEM_IN') )
* {
* die("Hacking attempt");
* }</p>
*/
if ( !defined('SYSTEM_IN') )
{
 die("Hacking attempt");
}

/**
* Classe Printing
*
*<p>Cette classe a pour but d'être étendue et sert à ajouter des fonctionalitées aux system<br><br>
* Les classe Printing doivent être placés dans lib/Printing pour être prise en compte
*</p>
* @package system_printing
*/
class Printing
{

/**
* @access private
* @var chaine
* @desc version du Printing
*/
var $version	= null;

/**
* @access private
* @var chaine
* @desc auteur du Printing
*/
var $autor	= null;

/**
* @access private
* @var chaine
* @desc commentaires liès aux Printing
*/
var $comment	= null;

	//
	// Constructor
	//
/**
* Constructeur de la classe Printing
* @access public
*/
	function __construct($version, $autor, $comment)
	{
		$this->setVersion($version);
		$this->setAutor($autor);
		$this->setComment($comment);
	}

/**
* getVersion : récupere le version du Printing
* @access public
* @return chaine
*/
	function getVersion()
	{
		return $this->version;
	}

/**
* setVersion : affecte la version du Printing
* @access public
* @return booleen
*/
	function setVersion($version)
	{
		$this->version=$version;
		return true;
	}

/**
* getAutor : Récupere l'auteur
* @access public
* @return chaine
*/
	function getAutor()
	{
		return $this->autor;
	}

/**
* setAutor : affecte l'auteur
* @access public
* @return booleen
*/
	function setAutor($autor)
	{
		$this->autor=$autor;
		return true;
	}

/**
* getComment : Récupere les commentaires
* @access public
* @return chaine
*/
	function getComment()
	{
		return $this->comment;
	}

/**
* setComment : affecte les commentaires
* @access public
* @return booleen
*/
	function setComment($comment)
	{
		$this->comment=$comment;
		return true;
	}

/**
* __print : methode d'execution appelée avant l'affichage
*<p>Cette methode à pour but d'être surchagée par le Printing<br>
*pour être executée avant l'envoit de la page ... On utilisera l'objet $GLOBALS["SYSTEM_TEMPLATE"]</p>
* @abstract
* @access public
* @return booleen
*/
	function __print()
	{
		// La Template global est enregistrée sous $GLOBALS["SYSTEM_TEMPLATE"];
		return true;
	}

/**
* __getInfo : methode executée après que le system ne soit executé
*<p>Cette methode à pour but d'être surchagée par le Printing<br>
*pour être executée lors de la demande d'information sur le Printing</p>
* @abstract
* @access public
* @return booleen
*/
	function __getInfo()
	{
		$tab=array();
		$tab["className"]=get_class($this);
		$tab["version"]	 =$this->getVersion();
		$tab["autor"]	 =$this->getAutor();
		$tab["comment"]	 =$this->getComment();
		return $tab;
	}
}
?>
