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