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); } } } }
if ($groupe <= 0) { $jeu = GSession::Jeu(COL_ID); // Groupe de la communauté. if ($groupe == -1 || $jeu == NULL) { $mGroupe = new MGroupe(); $mGroupe->AjouterColSelection(COL_ID); $mGroupe->AjouterColSelection(COL_NOM); $mGroupe->AjouterColSelection(COL_DESCRIPTION); $mGroupe->AjouterColCondition(COL_TYPEGROUPE, TYPEGROUPE_COMMUNAUTE); $mGroupe->AjouterColCondition(COL_COMMUNAUTE, GSession::Communaute(COL_ID)); $mGroupe->Charger(); $mGroupe->TypeGroupe()->Id(TYPEGROUPE_COMMUNAUTE); GSession::Jeu(COL_ID, NULL, true); GSession::Jeu(COL_LIBELLE, NULL, true); GReponse::AjouterElementSelect(COL_GROUPE); GReponse::AjouterElementSelectSuppression(-2); GReponse::AjouterElementSelectSelection(-1); $mListe = new MListeJeux(); GReferentiel::AjouterReferentiel(COL_JEU, $mListe, array(COL_ID, array(COL_LIBELLE, COL_LIBELLE)), true); GReferentiel::GetDifferentielReferentielForSelect(COL_JEU, COL_ID, array(COL_LIBELLE, COL_LIBELLE), ''); } else { if ($groupe == -2) { $mGroupe = new MGroupe(); $mGroupe->AjouterColSelection(COL_ID); $mGroupe->AjouterColSelection(COL_NOM); $mGroupe->AjouterColSelection(COL_DESCRIPTION); $mGroupe->AjouterColCondition(COL_TYPEGROUPE, TYPEGROUPE_JEU); $mGroupe->AjouterColCondition(COL_COMMUNAUTE, GSession::Communaute(COL_ID)); $mGroupe->AjouterColCondition(COL_JEU, $jeu); $mGroupe->Charger(); $mGroupe->TypeGroupe()->Id(TYPEGROUPE_JEU);