game/htdocs/sign.php

234 lines
8.6 KiB
PHP

<?php
define("INDEX", 1);
$chrono_start = microtime();
$onyx = @file_get_contents('./.onyx') or die("Configuration introuvable.");
define("_FCORE",trim($onyx));
require_once(_FCORE."common.php");
$id = gpc('i');
if (!is_numeric($id)) $id = 0;
$f = gpc('f');
$s = gpc('s');
header ("Content-type: image/png");
if (file_exists(_FCORE."hb_game/signatures/cache/".$id.".".$f.$s.".sign") && time() - filemtime(_FCORE."hb_game/signatures/cache/".$id.".".$f.$s.".sign") < $config['cache']['signatures']) {
readfile(_FCORE."hb_game/signatures/cache/".$id.".".$f.$s.".sign");
}
else {
$fontfile = _FCORE."hb_game/signatures/ARIAL.TTF";
$bdd->connexion();
$bdd->escape($id);
$joueur = $bdd->unique_query("SELECT $table_user.pseudo, $table_user.auth_level, $table_user.race, $table_user.place_points, $table_user.points, $table_user.batiments, $table_user.flotte, $table_alliances.tag, $table_alliances.nom FROM $table_user INNER JOIN $table_alliances ON $table_user.id_alliance = $table_alliances.id WHERE $table_user.id = $id;");
if ($joueur == false) $joueur = $bdd->unique_query("SELECT pseudo, auth_level, race, place_points, points, batiments, flotte FROM $table_user WHERE id = $id;");
$nomjoueur = $joueur['pseudo'];
$raid = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM $table_mail WHERE destinataire = '$nomjoueur' AND contenu LIKE '<b>Le combat contre % est termi%';");
$transport = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM $table_mail WHERE contenu LIKE 'Les vaisseaux de $nomjoueur %';");
$bdd->deconnexion();
if (!empty($s) && $joueur['auth_level'] >= 1) {
switch($s){
case 1:
$img = 'mixte1userbarju7.png';
$_img = imagecreatefrompng(_FCORE."hb_game/signatures/".$img);
$entete = imagecolorallocate($_img, 255, 255, 255);
$contenu = imagecolorallocate($_img, 255, 255, 255);
$infos = array(
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($raid['nombre'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['flotte'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($transport['nombre'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['batiments'])
)
);
break;
default:
$img = 'mixte1userbarju7.png';
$_img = imagecreatefrompng(_FCORE."hb_game/signatures/".$img);
$entete = imagecolorallocate($_img, 255, 255, 255);
$contenu = imagecolorallocate($_img, 255, 255, 255);
$infos = array(
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($raid['nombre'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['flotte'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($transport['nombre'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['batiments'])
)
);
}
if ($joueur['race'] == 'covenant') $_imgavatar = imagecreatefrompng(_FCORE."hb_game/signatures/covi.png");
else $_imgavatar = imagecreatefrompng(_FCORE."hb_game/signatures/hum.png");
}
elseif ($joueur['race'] == 'covenant') {
switch($f){
case 1:
$img = 'userbarallicopygs1.png';
$_img = imagecreatefrompng(_FCORE."hb_game/signatures/".$img);
$entete = imagecolorallocate($_img, 255, 255, 255);
$contenu = imagecolorallocate($_img, 255, 255, 255);
$infos = array(
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($raid['nombre'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['batiments'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['flotte'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($transport['nombre'])
)
);
break;
default:
$img = 'covenantuserbarus1.png';
$_img = imagecreatefrompng(_FCORE."hb_game/signatures/".$img);
$entete = imagecolorallocate($_img, 255, 255, 255);
$contenu = imagecolorallocate($_img, 0, 0, 0);
$infos = array(
array(
imagecolorallocate($_img, 0, 0, 0),
separerNombres($raid['nombre'])
),
array(
imagecolorallocate($_img, 0, 0, 0),
separerNombres($joueur['flotte'])
),
array(
imagecolorallocate($_img, 0, 0, 0),
separerNombres($transport['nombre'])
),
array(
imagecolorallocate($_img, 0, 0, 0),
separerNombres($joueur['batiments'])
)
);
}
$_imgavatar = imagecreatefrompng(_FCORE."hb_game/signatures/covi.png");
}
else {
switch($f){
case 1:
$img = 'userbarallicopygs1.png';
$_img = imagecreatefrompng(_FCORE."hb_game/signatures/".$img);
$entete = imagecolorallocate($_img, 255, 255, 255);
$contenu = imagecolorallocate($_img, 255, 255, 255);
$infos = array(
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($raid['nombre'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['batiments'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['flotte'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($transport['nombre'])
)
);
break;
default:
$img = 'humainuserbarhz2.png';
$_img = imagecreatefrompng(_FCORE."hb_game/signatures/".$img);
$entete = imagecolorallocate($_img, 255, 255, 255);
//$contenu = imagecolorallocate($_img, 160, 160, 0);
$contenu = imagecolorallocate($_img, 255, 255, 255);
$infos = array(
array(
imagecolorallocate($_img, 0, 0, 0),
separerNombres($raid['nombre'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['flotte'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($transport['nombre'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['batiments'])
)
);
}
$_imgavatar = imagecreatefrompng(_FCORE."hb_game/signatures/hum.png");
}
$blanc = imagecolorallocate($_img, 255, 255, 255);
$noir = imagecolorallocate($_img, 0, 0, 0);
$rouge = imagecolorallocate($_img, 255, 0, 0);
$vert = imagecolorallocate($_img, 0, 255, 0);
$bleu = imagecolorallocate($_img, 0, 0, 255);
$jaune = imagecolorallocate($_img, 255, 255, 0);
if ($joueur == false) {
ImageTTFText($_img, 20, -20, 123, 17, $rouge, $fontfile, 'Joueur introuvable !');
if (file_exists(_FCORE."hb_game/signatures/cache/".$id.".".$f.$s.".sign")) unlink(_FCORE."hb_game/signatures/cache/".$id.".".$f.$s.".sign");
}
else {
if ($joueur['auth_level'] > 4) ImageTTFText($_img, 12, 0, 45, 23, $vert, $fontfile, ucfirst($joueur['pseudo']));
elseif ($joueur['auth_level'] >= 1) ImageTTFText($_img, 12, 0, 45, 23, $jaune, $fontfile, ucfirst($joueur['pseudo']));
else ImageTTFText($_img, 12, 0, 45, 23, $entete, $fontfile, ucfirst($joueur['pseudo']));
ImageTTFText($_img, 12, 0, 255, 23, $entete, $fontfile, $config['serveur_name']);
if (isset($joueur['tag'])) {
ImageTTFText($_img, 11, 0, 32, 47, $contenu, $fontfile, "Classement : ".separerNombres($joueur['place_points']).($joueur['place_points']==1?'er':'ème'));
ImageTTFText($_img, 11, 0, 32, 64, $contenu, $fontfile, "Points : ".separerNombres($joueur['points']));
ImageTTFText($_img, 11, 0, 32, 82, $contenu, $fontfile, "Alliance : [".$joueur['tag']."] ".substr($joueur['nom'],0,9).(strlen($joueur['nom'])>9?'...':''));
}
else {
ImageTTFText($_img, 11, 0, 32, 55, $contenu, $fontfile, "Classement : ".separerNombres($joueur['place_points']).($joueur['place_points']==1?'er':'ème'));
ImageTTFText($_img, 11, 0, 32, 75, $contenu, $fontfile, "Points : ".separerNombres($joueur['points']));
}
ImageTTFText($_img, 12, 0, 272, 51, $infos[0][0], $fontfile, $infos[0][1]);
ImageTTFText($_img, 12, 0, 272, 78, $infos[1][0], $fontfile, $infos[1][1]);
ImageTTFText($_img, 12, 0, 355, 50, $infos[2][0], $fontfile, $infos[2][1]);
ImageTTFText($_img, 12, 0, 355, 78, $infos[3][0], $fontfile, $infos[3][1]);
}
imagecopy($_img, $_imgavatar, 435, 0, 0, 0, 98, 100);
imagealphablending($_img, false);
imagesavealpha($_img, true);
if ($joueur == false) imagepng($_img);
else {
imagepng($_img, _FCORE."hb_game/signatures/cache/".$id.".".$f.$s.".sign");
readfile(_FCORE."hb_game/signatures/cache/".$id.".".$f.$s.".sign");
}
}
?>