protected function InitialiserReferentielsElement($element) { $mObjet = $element[LISTE_ELEMENT_OBJET]; $mListeJeux = new MListeJeux(); $mJeu = new MJeu(); $mJeu->Id($mObjet->Jeu()->Id()); $mJeu->Libelle($mObjet->Jeu()->Libelle()); $mListeJeux->AjouterElement($mJeu); $this->AjouterReferentielElement($element, array(COL_JEU, COL_ID), $mListeJeux, array(COL_ID, array(COL_LIBELLE, COL_LIBELLE)), true); $mListeServeurs = new MListeServeurs(); $mListeServeurs->AjouterColSelection(COL_ID); $mListeServeurs->AjouterColSelection(COL_LIBELLE); $mListeServeurs->AjouterFiltreEgal(COL_JEU, $mObjet->Jeu()->Id()); $this->AjouterReferentielElement($element, array(COL_SERVEUR, COL_ID), $mListeServeurs, array(COL_ID, array(COL_LIBELLE, COL_LIBELLE))); $mListeTypesGroupes = new MListeTypesGroupes(); $mListeTypesGroupes->AjouterColSelection(COL_ID); $mListeTypesGroupes->AjouterColSelection(COL_LIBELLE); $mListeTypesGroupes->AjouterFiltreEgal(COL_JEU, $mObjet->Jeu()->Id()); $this->AjouterReferentielElement($element, array(COL_TYPEGROUPE, COL_ID), $mListeTypesGroupes, array(COL_ID, array(COL_LIBELLE, COL_LIBELLE))); }
$mListeCommunautes->AjouterColOrdre(COL_LIBELLE); GReferentiel::AjouterReferentiel(COL_COMMUNAUTE, $mListeCommunautes, array(COL_ID, array(COL_LIBELLE, COL_LIBELLE))); if ($dejaCharge === false) { $jeuId = GSession::Jeu(COL_ID); $dejaCharge = false; if ($jeuId == NULL) { $dejaCharge = true; } $mListeJeux = new MListeCommunautes(); $mListeJeux->AjouterColSelection(COL_ID); $mListeJeux->AjouterColSelection(COL_LIBELLE); $mListeJeux->AjouterColOrdre(COL_LIBELLE); if ($jeuId != NULL) { $mJeu = new MJeu(); $mJeu->Id($jeuId); $mJeu->Libelle(GSession::Jeu(COL_LIBELLE)); $mListeJeux->AjouterElement($mJeu); } GReferentiel::AjouterReferentiel(COL_JEU, $mListeJeux, array(COL_ID, array(COL_LIBELLE, COL_LIBELLE)), true); $mListeServeurs = new MListeServeurs(); $mListeServeurs->AjouterColSelection(COL_ID); $mListeServeurs->AjouterColSelection(COL_LIBELLE); $mListeServeurs->AjouterColOrdre(COL_LIBELLE); $mListeServeurs->AjouterFiltreEgal(COL_JEU, $jeuId); $mListeServeurs->AjouterFiltreDifferent(COL_SUPPRIME, true); GReferentiel::AjouterReferentiel(COL_SERVEUR, $mListeServeurs, array(COL_ID, array(COL_LIBELLE, COL_LIBELLE)), $dejaCharge); $mListeTypesGroupes = new MListeTypesGroupes(); $mListeTypesGroupes->AjouterColSelection(COL_ID); $mListeTypesGroupes->AjouterColSelection(COL_LIBELLE); $mListeTypesGroupes->AjouterColOrdre(COL_LIBELLE); $mListeTypesGroupes->AjouterFiltreEgal(COL_JEU, $jeuId);
GReferentiel::AjouterReferentiel(COL_TYPEGROUPE, $mListeTypesGroupes, array(COL_ID, array(COL_LIBELLE, COL_LIBELLE)), true); $cListeJeuTypesGroupes = new CListeJeuTypesGroupes(PIC_JEU, COL_TYPEGROUPE, $nomContexte); $cListeJeuTypesGroupes->InjecterListeObjetsMetiers($mListeTypesGroupes, true); // Construction du formulaire. $form = new SForm(PIC_JEU, 3, 1); $form->SetCadreInputs(1, 1, 9, 2); $form->FusionnerCelluleCadre(2, 1, 0, 1); $form->FusionnerCelluleCadre(3, 1, 0, 1); $form->FusionnerCelluleCadre(4, 1, 0, 1); $form->FusionnerCelluleCadre(5, 1, 0, 1); $form->FusionnerCelluleCadre(7, 1, 0, 1); $form->FusionnerCelluleCadre(8, 1, 0, 1); $form->FusionnerCelluleCadre(9, 1, 0, 1); $img = $form->AjouterInputImage(1, 1, GSession::Libelle(LIB_JEU_ICONE), '', false, GContexte::FormaterVariable($nomContexte, COL_ICONE), PATH_IMAGES . 'Jeu/', '', GSession::Libelle(LIB_JEU_ICONEINFO), '', TYPEFICHIER_IMAGEGLOBALE_JEU, $nomContexte); $img->AjouterElementsFromListe(COL_ICONE, $mJeu->Icone()); $form->AjouterInputText(1, 2, GSession::Libelle(LIB_JEU_NOM), '', true, GContexte::FormaterVariable($nomContexte, array(COL_LIBELLE, COL_LIBELLE)), $mJeu->Libelle(), 1, 100, 50, false, '', GSession::Libelle(LIB_JEU_NOMINFO), GSession::Libelle(LIB_JEU_NOMERREUR), INPUTTEXT_REGEXP_TOUT_FV); $select = $form->AjouterInputSelect(2, 1, GSession::Libelle(LIB_JEU_TYPEJEU), '', true, GContexte::FormaterVariable($nomContexte, COL_TYPEJEU), GSession::Libelle(LIB_JEU_TYPEJEUINFO), GSession::Libelle(LIB_JEU_TYPEJEUERREUR), $nomContexte . COL_TYPEJEU); $select->AjouterElementsFromListe(COL_TYPEJEU, COL_ID, array(COL_LIBELLE, COL_LIBELLE), array(COL_DESCRIPTION, COL_LIBELLE), $mJeu->TypeJeu()->Id()); $checkbox = $form->AjouterInputCheckbox(3, 1, GSession::Libelle(LIB_JEU_NECBOSS), '', false, GContexte::FormaterVariable($nomContexte, COL_NECESSITEBOSS)); $checkbox->AjouterCheckbox('', GSession::Libelle(LIB_JEU_NECBOSSINFO), $mJeu->NecessiteBoss()); $checkbox = $form->AjouterInputCheckbox(4, 1, GSession::Libelle(LIB_JEU_NECCLASSE), '', false, GContexte::FormaterVariable($nomContexte, COL_NECESSITECLASSE), GSession::Libelle(LIB_JEU_NECCLASSEINFO)); $checkbox->AjouterCheckbox('', GSession::Libelle(LIB_JEU_NECCLASSEINFO), $mJeu->NecessiteClasse()); $checkbox = $form->AjouterInputCheckbox(5, 1, GSession::Libelle(LIB_JEU_NECMETIER), '', false, GContexte::FormaterVariable($nomContexte, COL_NECESSITEMETIER), GSession::Libelle(LIB_JEU_NECMETIERINFO)); $checkbox->AjouterCheckbox('', GSession::Libelle(LIB_JEU_NECMETIERINFO), $mJeu->NecessiteMetier()); $checkbox = $form->AjouterInputCheckbox(6, 1, GSession::Libelle(LIB_JEU_NECNIVEAU), '', false, GContexte::FormaterVariable($nomContexte, COL_NECESSITENIVEAU), GSession::Libelle(LIB_JEU_NECNIVEAUINFO)); $checkbox->AjouterCheckbox('', GSession::Libelle(LIB_JEU_NECNIVEAUINFO), $mJeu->NecessiteNiveau()); $form->AjouterInputText(6, 2, GSession::Libelle(LIB_JEU_NIVEAUMAX), '', false, GContexte::FormaterVariable($nomContexte, COL_NIVEAUMAX), $mJeu->NiveauMax(), 1, 5, 5, false, '', GSession::Libelle(LIB_JEU_NIVEAUMAXINFO), '', INPUTTEXT_REGEXP_DECIMAL_FV); $checkbox = $form->AjouterInputCheckbox(7, 1, GSession::Libelle(LIB_JEU_NECOBJET), '', false, GContexte::FormaterVariable($nomContexte, COL_NECESSITEOBJET), GSession::Libelle(LIB_JEU_NECOBJETINFO)); $checkbox->AjouterCheckbox('', GSession::Libelle(LIB_JEU_NECOBJETINFO), $mJeu->NecessiteObjet()); $checkbox = $form->AjouterInputCheckbox(8, 1, GSession::Libelle(LIB_JEU_NECROLE), '', false, GContexte::FormaterVariable($nomContexte, COL_NECESSITEROLE), GSession::Libelle(LIB_JEU_NECROLEINFO)); $checkbox->AjouterCheckbox('', GSession::Libelle(LIB_JEU_NECROLEINFO), $mJeu->NecessiteRole());
// Le nouveau groupe auquel on est connecté est le groupe de la communauté. $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); $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);