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); } }
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); } } } }