Subversion Repositories Applications.referentiel

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

<?php
// declare(encoding='UTF-8');
/**
 * Modèle d'accès à la base de données des Référentiels.
 * Permet d'accèder au données d'un référentiel.
 *
 * @package             Referentiel
 * @category    Php 5.2
 * @author              Jean-Pascal MILCENT <jpm@tela-botanica.org>
 * @copyright   2010 Tela-Botanica
 * @license             http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
 * @license             http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
 * @version             SVN: $Id$
 *
 */
class ReferentielDao extends AppliModele {
        const SERVICE = 'RefReferentiel';
        
        /**
         * Retourne l'ensemble des information sur les colonnes d'une table.
         * 
         * @param string le nom de la table.
         * @return array un tableau contenant les informations sur les colonnes de la table.
         */
        public function getTout($code_projet) {
                $url = $this->url_jrest.self::SERVICE."/Tout/$code_projet";
                
                $json = file_get_contents($url);
                $noms = json_decode($json, true);
                
                /*
                $noms = array();
                $pas = 20000;
                $max = $this->getNombre($code_projet);
                for ($i = 0; $i < $max; $i = $i + $pas) {
                        $start = ($i != 0) ? ($i+1): $i;
                        $limit = $i + $pas;
                        $url_limitee = $url."?start=$start&limit=$limit";
                        Debug::printr("Récupération des données de $start à $limit");
                        $json = file_get_contents($url_limitee);
                        
                        $enregistrements = json_decode($json, true);
                        $noms = array_merge($noms, $enregistrements);
                }*/
                
                return $noms;
        }
        
        /**
         * Retourne le nombre de noms présents dans la table de travail du référentiel.
         * 
         * @param string le code du référentiel.
         * @return int le nombre de noms.
         */
        public function getNombre($code_projet) {
                $url = $this->url_jrest.self::SERVICE."/Nombre/$code_projet";
                
                $json = file_get_contents($url);
                $nbre = json_decode($json, true);
                
                return $nbre;
        }
}
?>