forked from halo-battle/game
163 lines
4.5 KiB
PHP
163 lines
4.5 KiB
PHP
|
<?php
|
||
|
//Gestion des dépendances
|
||
|
include_once("game/Class/class.tinyasteroide.php");
|
||
|
|
||
|
/***************************************************************************
|
||
|
* class.user.php
|
||
|
* ----------------
|
||
|
* begin : Dimanche 7 septembre 2008
|
||
|
* update : Vendredi 27 février 2009
|
||
|
* email : nemunaire@gmail.com
|
||
|
*
|
||
|
*
|
||
|
***************************************************************************/
|
||
|
class User{
|
||
|
var $id_user,
|
||
|
$pseudo,
|
||
|
$auth_level,
|
||
|
$race,
|
||
|
$alliance,
|
||
|
$id_alliance,
|
||
|
$id_grade_alliance,
|
||
|
$mv,
|
||
|
$mail,
|
||
|
$envoyerMail,
|
||
|
$last_visite,
|
||
|
$points,
|
||
|
$place_points,
|
||
|
$technologies = array(),
|
||
|
$credits,
|
||
|
$politique,
|
||
|
$politique_lastchange,
|
||
|
$destinationsFavoris,
|
||
|
$amis = array(),
|
||
|
$combatAT_tactique,
|
||
|
$combatDE_tactique,
|
||
|
$modifUser = array();
|
||
|
|
||
|
/**
|
||
|
* Constructeur
|
||
|
* @param int $id id de la planète à importer
|
||
|
*
|
||
|
* @return void
|
||
|
* @access public
|
||
|
*/
|
||
|
function User($id = 0){
|
||
|
if (!empty($id)) {
|
||
|
global $var___db, $config, $table_user;
|
||
|
global $technologiesVAR;
|
||
|
$bdd = new bdd();
|
||
|
$bdd->escape($id);
|
||
|
$user = $bdd->unique_query("SELECT * FROM $table_user WHERE id = $id;");
|
||
|
$bdd->deconnexion();
|
||
|
if (!empty($user)) {
|
||
|
$this->id_user = $user["id"];
|
||
|
$this->pseudo = $user["pseudo"];
|
||
|
$this->auth_level = $user["auth_level"];
|
||
|
$this->race = $user["race"];
|
||
|
$this->mv = $user["mv"];
|
||
|
$this->id_alliance = $user["id_alliance"];
|
||
|
$this->id_grade_alliance = $user["id_grade_alliance"];
|
||
|
$this->mail = $user["mail"];
|
||
|
$this->envoyerMail = $user["envoyerMail"];
|
||
|
$this->last_visite = $user["last_visite"];
|
||
|
$this->points = $user["points"];
|
||
|
$this->place_points = $user["place_points"];
|
||
|
$this->credits = $user["credits"];
|
||
|
$this->politique = $user["politique"];
|
||
|
$this->politique_lastchange = $user["politique_lastchange"];
|
||
|
if (!empty($user["amis"])) $this->amis = unserialize($user["amis"]);
|
||
|
else $this->amis = array();
|
||
|
if (!empty($user["destinationsFavoris"])) $this->destinationsFavoris = unserialize($user["destinationsFavoris"]);
|
||
|
else $this->destinationsFavoris = array();
|
||
|
$this->combatAT_tactique = $user["combatAT_tactique"];
|
||
|
$this->combatDE_tactique = $user["combatDE_tactique"];
|
||
|
|
||
|
foreach($technologiesVAR as $tech){
|
||
|
$this->technologies[] = $user[$tech];
|
||
|
}
|
||
|
|
||
|
//Si l'ID d'alliance est défini, on charge l'alliance
|
||
|
if (!empty($this->id_alliance))
|
||
|
$this->alliance = new TinyAsteroide($this->id_alliance);
|
||
|
}
|
||
|
else die('Erreur #01 : Utilisateur recherché introuvable dans la base de données. Contactez le support technique ('.$config['mail_support'].') au plus vite en précisant le code d\'erreur.');
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function addCredits($credits)
|
||
|
{
|
||
|
$this->credits += $credits;
|
||
|
$this->addModifUser("credits");
|
||
|
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
function addModifUser($modif)
|
||
|
{
|
||
|
if (!in_array($modif, $this->modifUser))
|
||
|
$this->modifUser[] = $modif;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Destructeur
|
||
|
*
|
||
|
* @return void
|
||
|
* @access public
|
||
|
*/
|
||
|
function __destruct(){
|
||
|
global $var___db, $config, $table_user;
|
||
|
$out = array();
|
||
|
$bdd = new bdd();
|
||
|
foreach($this->modifUser as $key => $modif)
|
||
|
{
|
||
|
if ($modif == "force")
|
||
|
$out[] = " ";
|
||
|
elseif (!is_array($this->{$modif}))
|
||
|
{
|
||
|
$bdd->escape($this->{$modif});
|
||
|
if (is_int($this->{$modif}) || is_float($this->{$modif})) $out[] .= $modif." = ".$this->{$modif};
|
||
|
else $out[] .= $modif." = '".$this->{$modif}."'";
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if (ereg('file', $modif))
|
||
|
{
|
||
|
$prep = implode(';', $this->{$modif});
|
||
|
$bdd->escape($prep);
|
||
|
$out[] .= $modif." = '$prep'";
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ($modif == "batiments")
|
||
|
$calc = "batiment";
|
||
|
elseif ($modif == "technologies")
|
||
|
$calc = "technologies";
|
||
|
elseif ($modif == "casernes")
|
||
|
$calc = "casernen";
|
||
|
elseif ($modif == "terrestres")
|
||
|
$calc = "nomterrn";
|
||
|
elseif ($modif == "vaisseaux")
|
||
|
$calc = "nomvaisn";
|
||
|
|
||
|
if (!isset(${$calc.'VAR'}))
|
||
|
global ${$calc.'VAR'};
|
||
|
|
||
|
$nombr = count(${$calc.'VAR'});
|
||
|
for($j = 0; $j < $nombr; $j++){
|
||
|
$bdd->escape($this->{$modif}[$j]);
|
||
|
$out[] .= ${$calc.'VAR'}[$j]." = ".$this->{$modif}[$j];
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
if (!empty($out))
|
||
|
{
|
||
|
$sql = "UPDATE $table_user SET ".implode(', ', $out)." WHERE id = ".$this->id_user.";";
|
||
|
if (DEBUG) echo '<br /><br />'.$sql;
|
||
|
$bdd->query($sql);
|
||
|
}
|
||
|
$bdd->deconnexion();
|
||
|
}
|
||
|
}
|
||
|
?>
|