2009-11-01 11:00:00 +00:00
< ? 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 ,
2020-11-15 15:12:30 +00:00
$permissions_alliance ,
2009-11-01 11:00:00 +00:00
$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 )) {
2020-11-15 15:12:30 +00:00
global $technologiesVAR , $table_user ;
2009-11-01 11:00:00 +00:00
$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.' );
}
}
2020-11-15 15:12:30 +00:00
function loadPermissions ( $fondateur = 0 )
{
if ( $fondateur == $this -> id_user )
$this -> permissions_alliance = 1023 ;
else
{
global $table_alliances_grade ;
$bdd = new BDD ();
$grade = $bdd -> unique_query ( " SELECT * FROM $table_alliances_grade WHERE id = " . $this -> id_grade_alliance . " ; " );
$bdd -> deconnexion ();
$this -> permissions_alliance = intval ( $grade [ 'auth' ]);
}
}
2009-11-01 11:00:00 +00:00
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 ();
}
}
?>