File : PHP/Cmpt.php

<?php
/****************************
 * (c) SulphurEagle 2007    *
 ****************************/

function __autoload($ClassName)
{
    require_once(
$ClassName.".php");
}

interface 
iCmpt
{
    
/****************************************
     * Fonctions relativent à la classe     *
     ****************************************/

    //Constructeur
    
public function __construct($CmptId = -1$UserName ""$UserPass "");

    
//Destructeur
    
public function __destruct();

    
//Compte valide?
    
public function IsValid();

    
/****************************************
     * Fonctions relativent aux actions     *
     ****************************************/

    /** Mise à jour des données
      * return Booléen Réussite
      */
    
public function Update();

    
/**Déplacement de flotte
     * @arg MoveType Interger 0 : DTransport 1 : Attaque
     * @arg Coords Array ( Gal., Sys., Pla.)
     * return Booléen Réussite
     */
    
public function Move($MoveType$Coords);

    
/****************************************
     * Fonctions relativent aux Const./Rech.*
     ****************************************/

    /** Construction
      * @arg Act Interger 0 : Batiement 1 : Defensse & Flotte 2 : Recherche
      * return Bool
      */
    
public function SetBuild($Act$Id);

    
/** Information
      * @arg Act Voir SetBuild
      * return Array
      */
    
public function GetBuild($Act$Id);

    
/****************************************
     * Accesseur aux informations du jeu    *
     ****************************************/

    /** Acesseur
      * return GameInfo
      */
     
public function GetGameInfo();

    
/****************************************
     * Variables                            *
     ****************************************/

     /** Acesseur au nom d'utilisateur
       */
     
public function GetUserName();

     
/** Acesseur au mot de passe (crypter)
       */
     
public function GetPassWord();

     
/** Acesseur de l'identifiant
       */
     
public function GetID();

}

class 
Cmpt implements iCmpt
{
    
/****************************************
     * Fonctions relativent à la classe     *
     ****************************************/

    //Constructeur
    
public function __construct($ServId$UserName ""$UserPass "")
    {
        
//Serveur
        
$ReqId MYSQL_Q("SELECT `ID`,`TabPref`,`Name` FROM `ounivers_servers` WHERE `ID` = '".mysql_real_escape_string($ServId)."' LIMIT 0,1");
        if(
$ReqId && mysql_num_rows($ReqId))
        {
            
//Recupérations des informations sur le serveur
            
$ResId mysql_fetch_assoc($ReqId);
            
$this->Serv $ResId;

            
//Si informations valides
            
if($UserName != "" && $UserPass != "")
            {
                
//Tentative de connection
                
$Req MYSQL_Q("SELECT * FROM `".mysql_real_escape_string($this->Serv['TabPref'])."_ounivers_members` WHERE `UserName` LIKE '".mysql_real_escape_string($UserName)."' AND `Password` LIKE '".hash("sha512",$UserPass)."' LIMIT 0,1");
                
//Connection réussie
                
if($Req && mysql_num_rows($Req))
                {
                    
//Mémorisation de l'utilisateur
                    
$this->User mysql_fetch_assoc($Req);

                    
//Si il vien d'activer son compte
                    
if($this->User['Act'] == 0)
                    {
                        
//Création d'une planète d'origine
                        //Bon heu... voir http://www.developpez.net/forums/showthread.php?p=1998854
                    
}
                }
            }

            
//Informations sur le jeu
            
if(!isset($_SESSION['GameInfo']))
            {
                
$_SESSION['GameInfo'] = new GameInfo($this->Serv);
            }
            
$this->GameInfo = &$_SESSION['GameInfo'];
        }
    }

    
//Destructeur
    
public function __destruct()
    {}

    
//Objet valide?
    
public function IsValid()
    {
        return 
$this->User != null;
    }

    
/****************************************
     * Fonctions relativent aux actions     *
     ****************************************/

    
public function Update()
    {
        
$this->GameInfo->Update(true);
    }
    public function 
Move($MoveType$Coords)
    {}

    
/****************************************
     * Fonctions relativent aux Const./Rech.*
     ****************************************/

    
public function SetBuild($Act$Id)
    {}
    public function 
GetBuild($Act$Id)
    {}

    
/****************************************
     * Accesseur aux informations du jeu    *
     ****************************************/

     
public function GetGameInfo()
     {
         return 
$this->gameInfo;
     }

    
/****************************************
     * Variables                            *
     ****************************************/

    //Acesseur au nom d'utilisateur
    
public function GetUserName()
    {
        return 
$this->UserName;
    }

    
//Acesseur au mot de passe (crypter)
    
public function GetPassWord()
    {
        return 
$this->PassWord;
    }

     
/** Acesseur de l'identifiant
       */
    
public function GetID()
    {
        return 
$this->User['ID'];
    }

    
//Timestamp de la dernière maj
    
private $TimeLastUpdate 0;

    
//Identifiant du serveur
    
private $Serv null;

    
//Identifiants du compte
    
private $User null;

    
//Validité de l'objet
    
private $Valid false;

    
//Informations sur les elements du jeu
    
private $GameInfo null;
}
?>


Valid XHTML 1.1