예제 #1
0
 public static function AnnulerTransaction()
 {
     $db = self::GetBase();
     if (self::$transactionEnCours === true) {
         self::$transactionEnCours = false;
         if ($db !== NULL) {
             $db->rollback();
             return true;
         }
     } else {
         GLog::LeverException(EXG_0083, 'GBase::AnnulerTransaction, pas de transaction en cours. Echec de l\'annulation.');
     }
     return false;
 }
예제 #2
0
파일: GLog.php 프로젝트: eoe2005/dafeige
 public static function config($pathdir = null, $useMulitFile = FALSE, $splitDir = False)
 {
     if ($pathdir) {
         if (substr($pathdir, -1) != '/') {
             $pathdir .= '/';
         }
         if (is_dir($pathdir)) {
             if (is_writable($pathdir)) {
                 self::$LogPath = $pathdir;
                 self::$LogSplitDir = $splitDir;
                 self::$LogMulitFile = $useMulitFile;
             } else {
                 throw new g\exception\GException($pathdir . '没有写权限');
             }
         } else {
             throw new g\exception\GException($pathdir . '目录不存在');
         }
     }
 }
예제 #3
0
    $formulaireValide = false;
}
if ($mJoueur->Pseudo() == NULL) {
    GLog::LeverException(EXF_0003, GSession::Libelle(LIB_CON_PSEUDOERREUR), true);
    $formulaireValide = false;
}
if ($formulaireValide === true) {
    // Si un joueur existait et était supprimé on le met à jour, sinon on crée un nouveau joueur.
    if ($mJoueurExistant->Id() != NULL) {
        $mJoueurExistant->Modifier();
        unset($mJoueur);
        $mJoueur = $mJoueurExistant;
    } else {
        $mJoueur->Ajouter();
    }
}
// Si le joueur a bien été créé, on lui envoie un mail avec son pseudo, son mot de passe et son code d'activation.
if ($mJoueur->Id() !== NULL) {
    $headers = 'From: "Admin"<*****@*****.**>' . "\n";
    $headers .= 'Content-Type: text/plain; charset="utf8"' . "\n";
    $headers .= 'Content-Transfer-Encoding: 8bit';
    ini_set('SMTP', SMTP);
    $message = GSession::Libelle(LIBTEXT_CON_MAILMESSAGE, false, true) . "\r\n\r\n" . GSession::Libelle(LIB_CON_PSEUDO, false, true) . ' ' . $mJoueur->Pseudo() . "\r\n" . GSession::Libelle(LIB_CON_MOTDEPASSE, false, true) . ' ' . $mJoueur->MotDePasse() . "\r\n" . GSession::Libelle(LIB_CON_CODEACTIVATION, false, true) . ' ' . $mJoueur->CodeActivation();
    mail($mJoueur->Login(), GSession::Libelle(LIB_CON_MAILTITRE, false, true), $message, $headers);
    GSession::Joueur(COL_ID, $mJoueur->Id());
    GSession::Joueur(COL_PSEUDO, $mJoueur->Pseudo());
    GContexte::SetContexte(CONT_ACTIVATION);
} else {
    GLog::LeverException(EXF_0004, GSession::Libelle(LIB_CON_CREATCOMPTEERREUR), true, $formulaireValide);
}
$pasDeRechargement = true;
예제 #4
0
     $mPresentation = new MPresentation();
     $mPresentation->Nom(GContexte::LirePost(COL_NOM));
     $mPresentation->CreateurJoueur(GSession::Joueur(COL_ID));
     $mPresentation->CreateurGroupe($groupe);
     if ($mPresentation->Nom() === NULL) {
         GLog::LeverException(EXF_0040, GSession::Libelle(LIB_PRS_NOMINVALIDE), true, false);
         $formulaire = false;
     }
     $retour = true;
     if ($formulaire === true) {
         $mPresentation->AjouterJointure(COL_VERSION, COL_ID, 0, NULL, SQL_RIGHT_JOIN);
         $mPresentation->AjouterColInsertionMaxExt(1, COL_VERSION, COL_ID);
         $retour = $mPresentation->Ajouter();
     }
     if ($formulaire === false || $retour === false) {
         GLog::LeverException(EXF_0041, GSession::Libelle(LIB_PRS_PRESNONCREEE), true, false);
     } else {
         GSession::PresentationModif($mPresentation->Id());
     }
 } else {
     $ongletContexte = GContexte::LireVariablePost($nomContexte, 'ongletContexte');
     $ancienOngletContexte = GContexte::LireVariableSession($nomContexte, 'ongletContexte');
     // Si on a changé d'onglet ou que l'on recharge toute la page.
     if ($ancienOngletContexte !== $ongletContexte) {
         GContexte::DesactiverContexte($ancienOngletContexte);
         GContexte::EcrireVariableSession($nomContexte, 'ongletContexte', $ongletContexte);
         GContexte::AjouterContexte($ongletContexte, true, false);
     } else {
         GContexte::ChargerContexte($ancienOngletContexte);
     }
 }
예제 #5
0
 private static function SetValeur($valeur, $cle1, $cle2 = NULL, $cle3 = NULL, $cle4 = NULL, $cle5 = NULL, $cle6 = NULL, $cle7 = NULL)
 {
     if ($cle1 !== NULL) {
         if ($cle2 === NULL) {
             $_SESSION[$cle1] = $valeur;
             return;
         } else {
             if (!array_key_exists($cle1, $_SESSION) || !is_array($_SESSION[$cle1])) {
                 $_SESSION[$cle1] = array();
             }
         }
         if ($cle3 === NULL) {
             $_SESSION[$cle1][$cle2] = $valeur;
             return;
         } else {
             if (!array_key_exists($cle2, $_SESSION[$cle1]) || !is_array($_SESSION[$cle1][$cle2])) {
                 $_SESSION[$cle1][$cle2] = array();
             }
         }
         if ($cle4 === NULL) {
             $_SESSION[$cle1][$cle2][$cle3] = $valeur;
             return;
         } else {
             if (!array_key_exists($cle3, $_SESSION[$cle1][$cle2]) || !is_array($_SESSION[$cle1][$cle2][$cle3])) {
                 $_SESSION[$cle1][$cle2][$cle3] = array();
             }
         }
         if ($cle5 === NULL) {
             $_SESSION[$cle1][$cle2][$cle3][$cle4] = $valeur;
             return;
         } else {
             if (!array_key_exists($cle4, $_SESSION[$cle1][$cle2][$cle3]) || !is_array($_SESSION[$cle1][$cle2][$cle3][$cle4])) {
                 $_SESSION[$cle1][$cle2][$cle3][$cle4] = array();
             }
         }
         if ($cle6 === NULL) {
             $_SESSION[$cle1][$cle2][$cle3][$cle4][$cle5] = $valeur;
             return;
         } else {
             if (!array_key_exists($cle5, $_SESSION[$cle1][$cle2][$cle3][$cle4]) || !is_array($_SESSION[$cle1][$cle2][$cle3][$cle4][$cle5])) {
                 $_SESSION[$cle1][$cle2][$cle3][$cle4][$cle5] = array();
             }
         }
         if ($cle7 === NULL) {
             $_SESSION[$cle1][$cle2][$cle3][$cle4][$cle5][$cle6] = $valeur;
             return;
         } else {
             if (!array_key_exists($cle6, $_SESSION[$cle1][$cle2][$cle3][$cle4][$cle5]) || !is_array($_SESSION[$cle1][$cle2][$cle3][$cle4][$cle5][$cle6])) {
                 $_SESSION[$cle1][$cle2][$cle3][$cle4][$cle5][$cle6] = array();
             }
         }
         $_SESSION[$cle1][$cle2][$cle3][$cle4][$cle5][$cle6][$cle7] = $valeur;
     } else {
         GLog::LeverException(EXG_0062, 'GSession::SetValeur, la première clé est nulle.');
     }
 }
예제 #6
0
 private static function AjouterBalToBal($parent, $nom, $valeur = '')
 {
     if (self::$init === true && $parent != NULL) {
         $bal = new SBalise($nom);
         if (is_string($valeur) || is_int($valeur)) {
             $bal->SetText($valeur);
         } else {
             $bal->Attach($valeur);
         }
         $parent->Attach($bal);
         return $bal;
     }
     GLog::LeverException(EXG_0001, 'La réponse n\'a pas été initialisée.');
     return NULL;
 }
예제 #7
0
 protected function GetObjetBasePourRequete($typeRequete)
 {
     $numObjetJointure = 0;
     $bObjetBase = GetObjetBasePourJointure($typeRequete);
     $bObjetBase->SetNumJointure(0);
     $objetsBases = array();
     if ($this->jointures !== NULL) {
         foreach ($this->jointures as $numJointure => $jointure) {
             $mObjetMetierJoint = $this->objetsJoints[$numJointure];
             if ($mObjetMetierJoint !== NULL) {
                 $bObjetBaseRef = $objetsBases[$jointure[MOM_JOINTURE_NUMOBJET]];
                 $bObjetBaseJoint = $mObjetMetierJoint->GetObjetBasePourJointure($typeRequete);
                 $bObjetBaseJoint->SetNumJointure($numJointure);
                 $objetsBases[$numJointure] = $bObjetBaseJoint;
                 $bObjetBaseRef->AjouterJointure($jointure[MOM_JOINTURE_COLTHIS], $bObjetBaseJoint, $jointure[MOM_JOINTURE_COLAUTRE], $jointure[MOM_JOINTURE_TYPE]);
             } else {
                 GLog::LeverException(EXM_0140, $this->GetNom() . '::GetObjetBasePourRequete, les objets n\'ont pas été initialisés pour le niveau de jointure [' . $numJointure . '].');
             }
         }
     }
     return $bObjetBase;
 }
예제 #8
0
 private function ExecuterRequete($requete, array &$params, $nettoyer = true)
 {
     if ($this->niveauLog >= (int) LOG_PERF) {
         $this->LogguerPreRequete($requete);
     }
     $requetePreparee = GBase::PreparerRequete($requete);
     if ($requetePreparee !== '') {
         $this->AjouterParametresRequete($requetePreparee, $params);
         $requetePreparee->execute();
     } else {
         GLog::LeverException(EXB_0002, 'BObjetBase::ExecuterRequete, la requête préparée est vide pour la table [' . $this->nomTable . '].');
     }
     if ($this->niveauLog >= (int) LOG_ERREUR) {
         $this->LogguerPostRequete($requete, $requetePreparee, $params);
     }
     if ($nettoyer === true) {
         $this->Nettoyer();
     }
     $erreur = $requetePreparee->errorInfo();
     if ($erreur[0] != 0) {
         $texteErreur = '';
         foreach ($erreur as $value) {
             if ($texteErreur !== '') {
                 $texteErreur .= ' - ';
             }
             $texteErreur .= $value;
         }
         GLog::LeverException(EXB_0003, 'BObjetBase::ExecuterRequete, l\'erreur suivante s\'est produite lors de l\'exécution de la requête: [' . $texteErreur . '].');
         return false;
     }
     if ($requetePreparee === '') {
         return false;
     }
     return $requetePreparee;
 }
예제 #9
0
 public static function SupprimerDuContexte($nomContexte)
 {
     if (self::CheckFormulaire() === true) {
         $rechargement = self::DoitRechargerContexte($nomContexte);
         self::ContexteCourant($nomContexte);
         switch (self::NomContexteGeneral($nomContexte)) {
             case CONT_CATEGORIE:
                 include PATH_FONCTIONS . 'Forum/Categories/fSupprimerCategorie';
                 break;
             case CONT_COMMUNAUTE:
                 include PATH_FONCTIONS . 'Communaute/fSupprimerCommunaute.php';
                 self::RechargerContexte(CONT_LOCALISATION);
                 break;
             case CONT_CONTEXTE:
                 include PATH_FONCTIONS . 'Contexte/fSupprimerContexte.php';
                 break;
             case CONT_ETATRECRUTEMENT:
                 include PATH_FONCTIONS . 'Recrutement/fSupprimerEtatRecrutement.php';
                 break;
             case CONT_FONCTIONNALITE:
                 include PATH_FONCTIONS . 'Fonctionnalite/fSupprimerFonctionnalite.php';
                 break;
             case CONT_FORUM:
                 include PATH_FONCTIONS . 'Forum/fSupprimerForum.php';
                 break;
             case CONT_GRADECOMMUNAUTE:
                 include PATH_FONCTIONS . 'Droit/fSupprimerGradeCommunaute.php';
                 break;
             case CONT_GRADECOMMUNAUTEJEU:
                 include PATH_FONCTIONS . 'Droit/fSupprimerGradeCommunauteJeu.php';
                 break;
             case CONT_GRADEJEU:
                 include PATH_FONCTIONS . 'Droit/fSupprimerGradeJeu.php';
                 break;
             case CONT_GRADEGLOBAL:
                 include PATH_FONCTIONS . 'Droit/fSupprimerGradeGlobal.php';
                 break;
             case CONT_GRADEGROUPE:
                 include PATH_FONCTIONS . 'Droit/fSupprimerGradeGroupe.php';
                 break;
             case CONT_GROUPE:
                 include PATH_FONCTIONS . 'Groupe/fSupprimerGroupe.php';
                 break;
             case CONT_LANGUE:
                 include PATH_FONCTIONS . 'Langue/fSupprimerLangue.php';
                 self::RechargerContexte(CONT_LOCALISATION);
                 break;
             case CONT_LIBELLELIBRE:
                 include PATH_FONCTIONS . 'Libelle/fSupprimerLibelleLibre.php';
                 break;
             case CONT_LIBELLETEXTELIBRE:
                 include PATH_FONCTIONS . 'Libelle/fSupprimerLibelleTexteLibre.php';
                 break;
             case CONT_MENU:
                 include PATH_FONCTIONS . 'Menu/fSupprimerMenu.php';
                 self::RechargerContexte(CONT_NAVIGATION);
                 break;
             case CONT_MESSAGE:
                 include PATH_FONCTIONS . 'Forum/Messages/fSupprimerMessage';
                 break;
             case CONT_MONNAIE:
                 include PATH_FONCTIONS . 'Monnaie/fSupprimerMonnaie.php';
                 break;
             case CONT_SUJET:
                 include PATH_FONCTIONS . 'Forum/Sujets/fSupprimerSujet';
                 break;
             case CONT_SUPERGRADE:
                 include PATH_FONCTIONS . 'Droit/fSupprimerSuperGrade.php';
                 break;
             case CONT_TYPEGROUPE:
                 include PATH_FONCTIONS . 'Groupe/fSupprimerTypeGroupe.php';
                 break;
             case CONT_TYPEJEU:
                 include PATH_FONCTIONS . 'Jeu/fSupprimerTypeJeu.php';
                 break;
             case CONT_TYPELIBELLE:
                 include PATH_FONCTIONS . 'Libelle/fSupprimerTypeLibelle.php';
                 break;
             case CONT_TYPEPRESENTATIONMODULE:
                 include PATH_FONCTIONS . 'Presentation/fSupprimerTypePresentationModule.php';
                 break;
             case CONT_VERSION:
                 include PATH_FONCTIONS . 'Version/fSupprimerVersion.php';
                 break;
             default:
                 return;
         }
         if (self::$contextesChanges === true) {
             self::ChargerContextes();
         } else {
             if ($rechargement === true) {
                 self::ChargerContexte($nomContexte);
             }
         }
         self::RechargerContextes();
     } else {
         $checkFormulaire = GSession::LireSession('checkFormulaire');
         $cf = GSession::LirePost('cf');
         GLog::LeverException(EXG_0016, 'Le formulaire de suppression n\'a pas pu être validé pour le contexte [' . $nomContexte . ']. Codes: [' . $checkFormulaire . ']-[' . $cf . '].');
     }
 }
예제 #10
0
 public static function GetCheminReferentielFichiers($nom)
 {
     $chemin = '';
     $contexte = self::ContexteCourant();
     if (!array_key_exists($contexte, self::$referentiels[REF_TYPE_FICHIERS]) || !array_key_exists($nom, self::$referentiels[REF_TYPE_FICHIERS][$contexte])) {
         GLog::LeverException(EXG_0122, 'GReferentiel::GetCheminReferentielFichiers, le référentiel [' . $nom . '] n\'existe pas pour le contexte [' . $contexte . '].');
     } else {
         $chemin = self::$referentiels[REF_TYPE_FICHIERS][$contexte][$nom][REF_FICHIERS_CHEMIN];
     }
     return $chemin;
 }
예제 #11
0
 public function AjouterJointure($colThisJointure, $colAutreJointure, $numObjetJointure = 0, $typeJointure = SQL_INNER_JOIN)
 {
     if ($this->jointures === NULL) {
         $this->jointures = array();
     }
     $numJointure = count($this->jointures) + 1;
     $this->jointures[$numJointure] = array();
     $this->jointures[$numJointure][MOM_JOINTURE_COLTHIS] = $colThisJointure;
     $this->jointures[$numJointure][MOM_JOINTURE_COLAUTRE] = $colAutreJointure;
     $this->jointures[$numJointure][MOM_JOINTURE_NUMOBJET] = $numObjetJointure;
     $this->jointures[$numJointure][MOM_JOINTURE_TYPE] = $typeJointure;
     // On met en mémoire l'objet joint de référence (pour récupérer le nom des bases à récupérer, ...) et on vérifie que tout
     // est correcte au niveau de la définition de la liaison.
     if (array_key_exists($numObjetJointure, $this->objetsJoints)) {
         $mObjetMetierRef = $this->objetsJoints[$numObjetJointure];
         $mObjetMetierJoint = $mObjetMetierRef->GetChampObjetNonNul($colThisJointure);
         if ($mObjetMetierJoint !== NULL) {
             $this->objetsJoints[$numJointure] = $mObjetMetierJoint;
         } else {
             GLog::LeverException(EXM_0184, $this->GetNom() . '::AjouterJointure, objet inexistant pour la colonne [' . $colThisJointure . '] de l\'objet [' . $mObjetMetierRef->GetNom() . '].');
         }
     } else {
         GLog::LeverException(EXM_0185, $this->GetNom() . '::AjouterJointure, objet référence [' . $numObjetJointure . '] de la jointure [' . $numJointure . '] inexistant.');
     }
     return $numJointure;
 }
예제 #12
0
 private function DateTime()
 {
     $offset = 0;
     if ($this->valide === false) {
         return NULL;
     } else {
         if ($this->now === true) {
             $timeStamp = time();
         } else {
             $dateTimeZoneEntree = new DateTimeZone($this->FuseauEntree());
             $dateTimeEntree = new DateTime();
             $dateTimeEntree->SetTimeZone(new DateTimeZone($this->FuseauEntree()));
             $dateTime = new DateTime();
             $dateTime->SetTimeZone(new DateTimeZone('UTC'));
             $offset = $dateTimeZoneEntree->getOffset($dateTime) + $dateTimeEntree->getOffset();
             // Offset entre le fuseau d'entrée et l'utc auquel on rajoute l'offset heure d'été.
             $timeStamp = mktime($this->Heures(), $this->Minutes(), $this->Secondes() - $offset, $this->Mois(), $this->Jour(), $this->Annee());
             /*$dateTimeZoneEntree = new DateTimeZone($this->FuseauEntree());
             			$dateTimeZoneSortie = new DateTimeZone($this->FuseauSortie());
             
             			$dateTime = DateTime::createFromFormat('Y-m-d H:i:s', date('Y-m-d H:i:s', $timeStamp), $dateTimeZoneEntree); 						// Date avec le fuseau horaire d'entrée.
             			$offset = $dateTimeZoneSortie->getOffset($dateTime) - $dateTimeZoneEntree->getOffset($dateTime) + $dateTime->getOffset();			// Différence entre le fuseau en sortie et celui en entrée + heures d'hiver/été.																					// Heures d'hiver et d'été.
             			$timeStamp = mktime($this->Heures(), $this->Minutes(), $this->Secondes()+$offset, $this->Mois(), $this->Jour(), $this->Annee());
             			$dateTime = DateTime::createFromFormat('Y-m-d H:i:s', date('Y-m-d H:i:s', $timeStamp), $dateTimeZoneSortie);						// Date avec le fuseau horaire de sortie.*/
         }
     }
     if ($timeStamp !== false) {
         $dateTime = new DateTime();
         $dateTime->SetTimeStamp($timeStamp);
         $dateTime->SetTimeZone(new DateTimeZone($this->FuseauSortie()));
         return $dateTime;
     } else {
         GLog::LeverException(EXG_0042, 'GLog::DateFormat, valeurs de date invalides [' . $this->Annee() . '-' . $this->Mois() . '-' . $this->Jour() . ' ' . $this->Heures() . ':' . $this->Minutes() . ':' . $this->Secondes() - $offset . '].');
         return NULL;
     }
 }
예제 #13
0
 public function ConstruireElementModele()
 {
     $elem = NULL;
     // Consultation.
     $divConsult = new SBalise(BAL_DIV);
     $divConsult->AddClass(LISTE_JQ_ELEM_ETAGE);
     $elemConsult = $this->ConstruireElemConsultation();
     if ($elemConsult !== NULL) {
         $divEtageConsult = new SBalise(BAL_DIV);
         $divEtageConsult->AddClass(LISTE_JQ_ELEM_ETAGE_NUM);
         $divEtageConsult->SetText('1');
         $divConsult->Attach($divEtageConsult);
         $divConsult->Attach($elemConsult);
     }
     // Modification.
     $divModif = new SBalise(BAL_DIV);
     $divModif->AddClass(LISTE_JQ_ELEM_ETAGE);
     $elemModif = $this->ConstruireElemModification();
     if ($elemModif !== NULL) {
         $divEtageModif = new SBalise(BAL_DIV);
         $divEtageModif->AddClass(LISTE_JQ_ELEM_ETAGE_NUM);
         $divEtageModif->SetText('2');
         $divModif->Attach($divEtageModif);
         if ($this->chargementModifDiffere === true) {
             // Construction de la fonction de chargement du contenu de l'étage.
             $divChargePageFonc = new SBalise(BAL_DIV);
             $divChargePageFonc->AddClass(LISTE_JQ_ELEM_ETAGE_CHARGEFONC);
             $divChargePageFonc->SetText($this->foncAjaxRechargement);
             $divModif->Attach($divChargePageFonc);
             $divChargePageFonc->AddProp(PROP_STYLE, 'display:none');
             // Construction des paramètres pour la fonction de chargement du contenu de l'étage.
             $divChargePageParam = new SBalise(BAL_DIV);
             $divChargePageParam->AddClass(LISTE_JQ_ELEM_ETAGE_CHARGEPARAM);
             $param = 'contexte=' . $this->contexte . '&' . $this->contexte . '[etage][' . $this->TypeSynchro() . '][' . $this->Numero() . '][2]';
             $divChargePageParam->SetText(to_ajax($param));
             $divModif->Attach($divChargePageParam);
             $divChargePageParam->AddProp(PROP_STYLE, 'display:none');
         }
         $divModif->Attach($elemModif);
     }
     // Menu.
     $divMenu = new SBalise(BAL_DIV);
     $divMenu->AddClass(LISTE_JQ_ELEM_MENUS);
     $divMenu->AddProp(PROP_STYLE, 'display: none;');
     $elemMenu = $this->ConstruireElemMenu();
     if ($elemMenu !== NULL) {
         $divMenu->Attach($elemMenu);
     }
     if ($elemConsult !== NULL && $elemModif !== NULL) {
         $elem = new SElemOrg(2, 2, $this->prefixIdClass . LISTECLASS_ELEMENT . $this->Niveau(), true, false, false);
         $elem->AjouterClasse(LISTECLASS_ELEMENT . $this->Niveau());
         $elem->AddClass(LISTE_JQ_ELEMENTMODELE);
         $elem->FusionnerCellule(1, 2, 1, 0);
         $elem->SetCelluleDominante(1, 1);
         $elem->AjouterPropCellule(1, 2, PROP_STYLE, 'display: none;');
         $elem->AttacherCellule(1, 1, $divConsult);
         $elem->AttacherCellule(2, 1, $divModif);
         $elem->AttacherCellule(1, 2, $divMenu);
     } else {
         if ($elemConsult !== NULL) {
             $elem = new SElemOrg(1, 2, $this->prefixIdClass . LISTECLASS_ELEMENT . $this->Niveau(), true, false, false);
             $elem->AjouterClasse(LISTECLASS_ELEMENT . $this->Niveau());
             $elem->AddClass(LISTE_JQ_ELEMENTMODELE);
             $elem->SetCelluleDominante(1, 1);
             $elem->AjouterPropCellule(1, 2, PROP_STYLE, 'display: none;');
             $elem->AttacherCellule(1, 1, $divConsult);
             $elem->AttacherCellule(1, 2, $divMenu);
         } else {
             if ($elemModif !== NULL) {
                 $elem = new SElemOrg(1, 2, $this->prefixIdClass . LISTECLASS_ELEMENT . $this->Niveau(), true, false, false);
                 $elem->AjouterClasse(LISTECLASS_ELEMENT . $this->Niveau());
                 $elem->AddClass(LISTE_JQ_ELEMENTMODELE);
                 $elem->SetCelluleDominante(1, 1);
                 $elem->AjouterPropCellule(1, 2, PROP_STYLE, 'display: none;');
                 $elem->AttacherCellule(1, 1, $divModif);
                 $elem->AttacherCellule(1, 2, $divMenu);
             } else {
                 GLog::LeverException(EXS_0000, 'SListe::ConstruireElementModele, la liste de type [' . $this->TypeSynchro() . '] n\'a pas d\'élément modèle pour le contexte [' . $this->contexte . '].');
             }
         }
     }
     if ($elem !== NULL) {
         $elem->AddProp(PROP_STYLE, 'visibility: hidden; height:0;');
     }
     return $elem;
 }
require_once PATH_METIER . 'mTypePresentationModule.php';
$groupe = GSession::Groupe(COL_ID);
if ($groupe !== NULL && GDroit::ADroitPopErreur(FONC_PRS_CREERMODIFIER) === true) {
    $presentationModif = GSession::PresentationModif();
    if ($presentationModif != NULL) {
        // Récupération du nom de fichier que l'on va utiliser pour la sauvegarde.
        $mPresentationModule = new MPresentationModule();
        $mPresentationModule->TypePresentationModule($module);
        $mTypePresentationModule = $mPresentationModule->TypePresentationModule();
        $mTypePresentationModule->AjouterColSelection(COL_NOMFICHIER);
        $mTypePresentationModule->Charger();
        $nomFichier = $mTypePresentationModule->NomFichier();
        $cheminCss = GCss::GetCheminFichier($presentationModif);
        $cheminJs = GJs::GetCheminFichier($presentationModif);
        if ($cheminCss !== '' && $cheminJs !== '' && $nomFichier !== '') {
            $varPost = GContexte::LirePost(NULL);
            // Sauvegarde du Css.
            GCss::SauvegarderFichierCss($nomFichier, $presentationModif, $varPost);
            // Sauvegarde du JS.
            GJs::SauvegarderFichierJs($nomFichier, $presentationModif, $varPost);
            // Sauvegarde en base.
            $mPresentationModule->Presentation($presentationModif);
            $mPresentationModule->RessourceCSS($cheminCss . $nomFichier . '.css');
            $mPresentationModule->RessourceJS($cheminJs . $nomFichier . '.js');
            $mPresentationModule->ModifierSiExistantAjouterSinon();
        }
    } else {
        GLog::LeverException(EXF_0060, GSession::Libelle(LIB_PRS_PRESMODIFVIDE), true, false);
        GLog::LeverException(EXF_0061, GSession::Libelle(LIB_PRS_PRESNONSAUV), true, false);
    }
}
예제 #15
0
 public function Charger($colNom = NULL, $colCommentaire = NULL, $colDateCreation = NULL, $colDateDernierMess = NULL, $colNbVues = NULL, $colVersion = NULL, $colModeWiki = NULL, $colForumId = NULL, $colCreateurId = NULL, $colDernierPosteurId = NULL, $colTypeSujetId = NULL)
 {
     $id = $this->Id();
     if ($id != NULL) {
         $bSujet = new BSujet();
         $listeSujets = $bSujet->Charger($id, $colNom, $colCommentaire, $colDateCreation, $colDateDernierMess, $colNbVues, $colVersion, $colModeWiki, $colForumId, $colCreateurId, $colDernierPosteurId, $colTypeSujetId);
         $sujet = $this->UniqueResultatVerifie($listeSujets, WAM_0040, 'MSujet::Charger, aucun résultat pour l\'id [' . $id . '].');
         if ($sujet != NULL) {
             $bSujet->GetNomsColonnes($colId, $colNom, $colCommentaire, $colDateCreation, $colDateDernierMess, $colNbVues, $colVersion, $colModeWiki, $colForumId, $colCreateurId, $colDernierPosteurId, $colTypeSujetId);
             $this->SetObjetFromSQL($sujet, false, $colNom, $colCommentaire, $colDateCreation, $colDateDernierMess, $colNbVues, $colVersion, $colModeWiki, $colForumId, $colCreateurId, $colDernierPosteurId, $colTypeSujetId);
         }
     } else {
         GLog::LeverException(EXM_0045, 'MSujet::Charger, pas d\'id.');
     }
 }
예제 #16
0
            GSession::PresentationModif($presModif);
            GReponse::AjouterElementClasseurRechargement('pres');
            // A faire:
            // - Rechargement des onglets ou pas?
        }
    } else {
        if ($presActive !== '') {
            require_once PATH_METIER . 'mPresentationGroupe.php';
            require_once PATH_METIER . 'mPresentation.php';
            require_once PATH_METIER . 'mGroupe.php';
            $anciennePresActive = GSession::PresentationActive();
            // Suppression de l'ancienne présentation pour le groupe.
            $mPresentationGroupe = new MPresentationGroupe($anciennePresActive, $groupe);
            $retour = $mPresentationGroupe->Supprimer();
            if ($retour !== false) {
                // Ajout de la nouvelle présentation pour le groupe.
                $mPresentationGroupe->Presentation($presActive);
                $retour = $mPresentationGroupe->Ajouter();
                if ($retour !== false) {
                    GSession::PresentationActive($presActive, true);
                }
            }
            if ($retour === false) {
                GLog::LeverException(EXF_0050, GSession::Libelle(LIB_PRS_PRESACTNONMODIF), true, false);
                GLog::LeverException(EXF_0050, 'Erreur lors de la tentative de modification de la présentation active.');
            }
            // A faire:
            // - Rechargement du css.
        }
    }
}
예제 #17
0
 public function Supprimer()
 {
     // Ouverture de la transaction si on ne l'ai pas déjà.
     $dejaEnTransaction = GBase::EstEnTransaction();
     if ($dejaEnTransaction === false) {
         GBase::DemarrerTransaction();
     }
     // On récupère l'ordre de l'élément.
     $this->AjouterColSelection(COL_ORDRE);
     $retour = $this->Charger();
     // On récupère la liste relative au type d'élément afin de décrémenter l'ordre des éléments
     // possédant un ordre supérieur à celui qui va être supprimé.
     $mListe = $this->GetNouvelleListe();
     if ($mListe === NULL) {
         GLog::LeverException(EXM_0210, $this->GetNom() . '::Supprimer, impossible de récupérer un objet liste.');
         $retour = false;
     } else {
         if ($this->Ordre() === NULL) {
             GLog::LeverException(EXM_0211, $this->GetNom() . '::Supprimer, impossible de récupérer l\'ordre de l\'élément d\'id [' . $this->Id() . '].');
             $retour = false;
         }
     }
     $log = true;
     // On supprime l'élément.
     if ($retour !== false) {
         $retour = parent::Supprimer();
         // On décrémente l'ordre des éléments possédant un ordre supérieur à celui qui a été supprimé.
         if ($retour !== false) {
             $mListe->AjouterColModificationExt(0, COL_ORDRE, COL_ORDRE, -1);
             $mListe->AjouterFiltreSuperieur(COL_ORDRE, $this->Ordre());
             $retour = $mListe->Modifier();
         } else {
             $log = false;
         }
     }
     // Si on a créé nous même la transaction dans cette fonction, on commit ou rollback suivant le résultat.
     if ($dejaEnTransaction === false) {
         if ($retour === false) {
             GBase::AnnulerTransaction();
         } else {
             GBase::ValiderTransaction();
         }
     }
     if ($retour === false && $log === true) {
         GLog::LeverException(EXM_0212, $this->GetNom() . '::Supprimer, échec de la suppression en base.');
     }
     return $retour;
 }
예제 #18
0
<?php

require_once 'cst.php';
require_once INC_GSESSION;
require_once INC_SFORM;
require_once PATH_METIER . 'mJoueur.php';
$codeActivation = GContexte::LireVariablePost($nomContexte, 'codeActivation');
$mJoueur = new MJoueur(GSession::Joueur(COL_ID));
$mJoueur->AjouterColSelection(COL_CODEACTIVATION);
$compteActive = false;
if ($mJoueur->Charger() !== false) {
    if ($mJoueur->CodeActivation() !== $codeActivation) {
        GLog::LeverException(EXF_0030, GSession::Libelle(LIB_ACT_CODEACTIVATIONFAUX), true, false);
    } else {
        $mJoueur->Actif(true);
        $compteActive = $mJoueur->Modifier();
    }
}
if ($compteActive === false) {
    GLog::LeverException(EXF_0031, GSession::Libelle(LIB_ACT_ACTIVCOMPTEERREUR), true, false);
} else {
    GContexte::SetContexte(CONT_AIDE, true);
}
$pasDeRechargement = true;
예제 #19
0
require_once 'cst.php';
require_once INC_GSESSION;
require_once PATH_METIER . 'mJoueur.php';
$login = GContexte::LireVariablePost($nomContexte, 'login');
$motDePasse = GContexte::LireVariablePost($nomContexte, 'motDePasse');
$mJoueur = new MJoueur(NULL, $login, $motDePasse);
$formulaireValide = true;
// On vérifie qu'un compte existe pour cette adresse email.
$mJoueur->ChargerFromLoginEtMotDePasse();
if ($mJoueur->Id() === NULL || $mJoueur->Supprime() === true) {
    GLog::LeverException(EXF_0020, GSession::Libelle(LIB_CON_COMPTENONEXISTANT), true, false);
    $formulaireValide = false;
} else {
    if ($mJoueur->Banni() === true) {
        GLog::LeverException(EXF_0021, GSession::Libelle(LIB_CON_COMPTEBANNI), true, false);
        $formulaireValide = false;
    }
}
if ($formulaireValide === true) {
    GSession::Joueur(COL_ID, $mJoueur->Id());
    GSession::Joueur(COL_PSEUDO, $mJoueur->Pseudo());
    GSession::Joueur(COL_SUPERADMIN, $mJoueur->SuperAdmin());
    // On vérifie si le compte a été activé ou non.
    if ($mJoueur->Actif() === false) {
        GContexte::SetContexte(CONT_ACTIVATION);
    } else {
        GContexte::SetContexte(CONT_ADMINISTRATION, false);
    }
} else {
    GContexte::SupprimerContexte(CONT_CONNEXION);
예제 #20
0
 public function ChargerFromPseudo()
 {
     if ($this->Pseudo() !== NULL) {
         $this->AjouterColSelection(COL_ID);
         $this->Charger(false);
     } else {
         if ($this->Pseudo() == NULL) {
             GLog::LeverException(EXM_0064, 'MJoueur::ChargerFromPseudo, pas de pseudo.');
         }
     }
 }