Пример #1
0
 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)));
 }
<?php

require_once 'cst.php';
require_once INC_GSESSION;
require_once INC_SFORM;
require_once PATH_METIER . 'mListeJeux.php';
require_once PATH_METIER . 'mListeGroupes.php';
$mGroupe = NULL;
$mJeu = NULL;
$mListeJeux = new MListeJeux();
$jeuId = GSession::Jeu(COL_ID);
if ($jeuId != NULL) {
    $mJeu = new MJeu();
    $mJeu->Id($jeuId);
    $mJeu->Libelle(GSession::Jeu(COL_LIBELLE));
    $mListeJeux->AjouterElement($mJeu);
}
$mListeGroupes = new MListeGroupes();
$groupeId = GSession::Groupe(COL_ID);
if ($groupeId != NULL) {
    $mGroupe = new MGroupe();
    $mGroupe->Id($groupeId);
    $mGroupe->Nom(GSession::Groupe(COL_NOM));
    $mGroupe->Description(GSession::Groupe(COL_DESCRIPTION));
    if ($mJeu !== NULL) {
        $mGroupe->Jeu()->Id($mJeu->Id());
        $mGroupe->Jeu()->Libelle($mJeu->Libelle());
    }
    $mListeGroupes->AjouterElement($mGroupe);
}
if ($dejaCharge === false) {
                $mGroupe->AjouterColSelection(COL_JEU);
                $mJeu = $mGroupe->AjouterJointure(COL_JEU, COL_ID);
                $mJeu->AjouterColSelection(COL_LIBELLE);
                $mGroupe->Charger();
                $mListeGroupes->AjouterElement($mGroupe);
            }
            // On stocke en session les informations du groupe.
            GSession::Groupe(COL_ID, $mGroupe->Id(), true);
            GSession::Groupe(COL_NOM, $mGroupe->Nom(), true);
            GSession::Groupe(COL_DESCRIPTION, $mGroupe->Description(), true);
            GSession::Groupe(COL_TYPEGROUPE, $mGroupe->TypeGroupe()->Id(), true);
            GSession::Groupe(COL_JEU, $mGroupe->Jeu()->Id(), true);
            // On reset la liste des groupes en fonction du jeu.
            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, NULL, COL_JEU, array(COL_JEU, COL_LIBELLE, COL_LIBELLE));
            if ($mJeu !== NULL) {
                $ancienJeu = GSession::Jeu(COL_ID);
                // Si le jeu à changé.
                if ($ancienJeu != $mJeu->Id()) {
                    $mListe = new MListeJeux();
                    $mListe->AjouterElement($mJeu);
                    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), '', $mJeu->Id());
                    GSession::Jeu(COL_ID, $mJeu->Id(), true);
                    GSession::Jeu(COL_LIBELLE, $mJeu->Libelle(), true);
                }
            }
        }
    }
}
GContexte::SetContexte(CONT_ACCUEIL, true);