Пример #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);
             }
         }
     }
 }
        $mTypeGroupe = new MTypeGroupe(TYPEGROUPE_JEU);
        $mTypeGroupe->AjouterColSelection(COL_LIBELLE);
        $mTypeGroupe->Charger();
        $select->AjouterElement(-2, $mTypeGroupe->Libelle(), '', GSession::Groupe(COL_TYPEGROUPE) === TYPEGROUPE_JEU, false);
    }
    if ($mJeu != NULL && $mGroupe != NULL) {
        $select->AjouterCategorie($mJeu->Id(), $mJeu->Libelle());
        $select->AjouterElement($mGroupe->Id(), $mGroupe->Nom(), $mGroupe->Description(), true, false);
    }
    $selectGroupe->SetCadreBoutonsCache(1, 2);
    GContexte::AjouterContenu(CADRE_INFO_GROUPE, $selectGroupe);
} else {
    if (GSession::Groupe('change') == 1) {
        GReferentiel::AjouterReferentiel(COL_JEU, $mListeJeux, array(COL_ID, array(COL_LIBELLE, COL_LIBELLE)), true);
        GReferentiel::GetDifferentielReferentielForSelect(COL_JEU, COL_ID, array(COL_LIBELLE, COL_LIBELLE), '', $jeuId);
        $typeGroupe = GSession::Groupe(COL_TYPEGROUPE);
        if ($typeGroupe == TYPEGROUPE_COMMUNAUTE) {
            GReponse::AjouterElementSelect(COL_GROUPE);
            GReponse::AjouterElementSelectSelection(-1);
        } else {
            if ($typeGroupe == TYPEGROUPE_JEU) {
                GReponse::AjouterElementSelect(COL_GROUPE);
                GReponse::AjouterElementSelectSelection(-2);
            } else {
                GReferentiel::AjouterReferentiel(COL_GROUPE, $mListeGroupes, array(COL_ID, COL_NOM, COL_DESCRIPTION, COL_JEU), true);
                GReferentiel::GetDifferentielReferentielForSelect(COL_GROUPE, COL_ID, COL_NOM, COL_DESCRIPTION, $groupeId, COL_JEU, array(COL_JEU, COL_LIBELLE, COL_LIBELLE));
            }
        }
        GSession::Groupe('change', NULL, true);
    }
}