Пример #1
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);
             }
         }
     }
 }
     $mGroupe->Charger();
     $mGroupe->TypeGroupe()->Id(TYPEGROUPE_COMMUNAUTE);
     $groupeChange = true;
 } else {
     // On stocke en session les informations du jeu.
     $mJeu = new MJeu($jeu);
     $mJeu->AjouterColSelection(COL_LIBELLE);
     $mJeu->Charger();
     GSession::Jeu(COL_ID, $jeu, true);
     GSession::Jeu(COL_LIBELLE, $mJeu->Libelle(), true);
     // On ajoute le groupe du jeu dans la liste du select.
     $mTypeGroupe = new MTypeGroupe(TYPEGROUPE_JEU);
     $mTypeGroupe->AjouterColSelection(COL_LIBELLE);
     $mTypeGroupe->Charger();
     GReponse::AjouterElementSelect(COL_GROUPE);
     GReponse::AjouterElementSelectCreation(-2, $mTypeGroupe->Libelle(), '', true, 0);
     $groupeJeu = GSession::Groupe(COL_JEU);
     if ($groupeJeu !== $jeu) {
         // Le nouveau groupe auquel on est connecté est le groupe du jeu.
         $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);
         $groupeChange = true;
     }
 }
 if ($groupeChange === true) {