Subversion Repositories Applications.gtt

Rev

Rev 104 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?php

class Registre {
        private $aso_stock = array();
        private static $registre = null;
        private $suivant;
        private $titre;
        private $espaces = array();
        private $donnees = array();
        private $squelettes;

        public static function getRegistre()
    {
        if (is_null(Registre::$registre)) {
                        Registre::$registre = new Registre;
                }
                return Registre::$registre;
    }

        function set($intitule, $objet)
        {
                if (is_array($objet) && isset($this->aso_stock[$intitule])) {
                        $this->aso_stock[$intitule] = array_merge((array)$this->aso_stock[$intitule], (array)$objet);
                        $message = "Le tableau $intitule présent dans le registre a été fusionné avec un nouveau tableau de même intitulé !";
                        trigger_error($message, E_USER_WARNING);
                } else {
                        $this->aso_stock[$intitule] = $objet;
                }
        }

        function get($intitule)
        {
                if (isset($this->aso_stock[$intitule])) {
                        return $this->aso_stock[$intitule];
                }
                return false;
        }

        function detruire($intitule)
        {
                if (isset($this->aso_stock[$intitule])) {
                        unset($this->aso_stock[$intitule]);
                }
        }

        public function etrePresent($intitule)
        {
                if(isset($this->aso_stock[$intitule])){
                        return true;
                }
                return false;
        }

    // Titre
        public function getTitre()
        {
                return $this->titre;
        }
        public function setTitre($t)
        {
                $this->titre = $t;
        }

        // Espaces De Nomage
        public function setEspaces($e)
        {
                $this->espaces = $e;
        }
        public function ajouterEspace($cle, $val)
        {
                $this->espaces[$cle] = $val;
        }
        public function getEspaces($cle = null)
        {
                if ($cle != null) {
                        if (isset($this->espaces[$cle])) {
                                return $this->espaces[$cle];
                        }
                } else {
                        return $this->espaces;
                }
        }

        // Donnees
        public function setDonnees($d)
        {
                $this->donnees = $d;
        }
        public function ajouterDonnee($cle, $val)
        {
                if (is_array($val) && isset($this->donnees[$cle])) {
                        $this->donnees[$cle] = array_merge((array)$this->donnees[$cle], $val);
                        trigger_error('Fusion de données pour la clé : '. $cle, E_USER_NOTICE);
                } else {
                        $this->donnees[$cle] = $val;
                }
        }
        public function getDonnees($cle = null)
        {
                if (!is_null($cle)) {
                        if (isset($this->donnees[$cle])) {
                                return $this->donnees[$cle];
                        }
                } else {
                        return $this->donnees;
                }
        }

        // Squelettes
        public function setSquelettes($s)
        {
                $this->squelettes = $s;
        }
        public function ajouterSquelette($cle, $val)
        {
                $this->squelettes[$cle] = $val;
        }
        public function getSquelettes($cle = null)
        {
                if ($cle != null) {
                        if (isset($this->squelettes[$cle])) {
                                return $this->squelettes[$cle];
                        }
                        return false;
                } else {
                        return $this->squelettes;
                }
        }
}
?>