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