예제 #1
0
 public static function Referentiel($nomContexte, $nom, $type, $liste = NULL)
 {
     if ($nomContexte !== NULL) {
         if ($liste !== NULL) {
             if (!array_key_exists(CONTEXTE_REFERENTIELS, self::$contextes[$nomContexte])) {
                 self::$contextes[$nomContexte][CONTEXTE_REFERENTIELS] = array();
             }
             if (!array_key_exists($type, self::$contextes[$nomContexte][CONTEXTE_REFERENTIELS])) {
                 self::$contextes[$nomContexte][CONTEXTE_REFERENTIELS][$type] = array();
             }
             self::$contextes[$nomContexte][CONTEXTE_REFERENTIELS][$type][$nom] = $liste;
         } else {
             if (array_key_exists(CONTEXTE_REFERENTIELS, self::$contextes[$nomContexte]) && array_key_exists($type, self::$contextes[$nomContexte][CONTEXTE_REFERENTIELS]) && array_key_exists($nom, self::$contextes[$nomContexte][CONTEXTE_REFERENTIELS][$type])) {
                 return self::$contextes[$nomContexte][CONTEXTE_REFERENTIELS][$type][$nom];
             }
             return NULL;
         }
     } else {
         return GSession::Referentiel($nom, $type, $liste);
     }
 }
예제 #2
0
 public static function GetDifferentielReferentielFichiersForSelect($nom)
 {
     $contexte = self::ContexteCourant();
     if (self::$referentiels[REF_TYPE_FICHIERS][$contexte][$nom][REF_FICHIERS_DIFFSELOK] === false) {
         self::$referentiels[REF_TYPE_FICHIERS][$contexte][$nom][REF_FICHIERS_DIFFSELOK] = true;
         $nouveauRef = self::GetReferentielFichiers($nom);
         $ancienRef = NULL;
         if ($contexte !== REF_CONTEXTE_AUCUN) {
             $ancienRef = GContexte::Referentiel($contexte, $nom, REF_TYPE_FICHIERS);
         } else {
             $ancienRef = GSession::Referentiel($nom, REF_TYPE_FICHIERS);
         }
         if ($ancienRef === NULL) {
             $ancienRef = array();
         }
         foreach ($nouveauRef as &$fichier) {
             foreach ($ancienRef as &$ancienFichier) {
                 if ($ancienFichier === $fichier) {
                     $ancienFichier = NULL;
                     $fichier = NULL;
                     break;
                 }
             }
         }
         $changementRef = false;
         $chemin = self::GetCheminReferentielFichiers($nom);
         foreach ($nouveauRef as &$fichier) {
             if ($fichier !== NULL) {
                 if ($changementRef === false) {
                     GReponse::AjouterElementSelect($nom);
                     $changementRef = true;
                 }
                 GReponse::AjouterElementSelectCreation($chemin . $fichier, $fichier, PATH_SERVER_HTTP . $chemin . $fichier);
             }
         }
         foreach ($ancienRef as &$ancienFichier) {
             if ($ancienFichier !== NULL) {
                 if ($changementRef === false && $ancienFichier !== NULL) {
                     GReponse::AjouterElementSelect($nom);
                     $changementRef = true;
                 }
                 GReponse::AjouterElementSelectSuppression($chemin . $ancienFichier);
             }
         }
     }
 }