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