<?php
include('config.php');
include('functions.php');
// проверка ввода id
if(empty($_GET['uid'])) exit;
$uid=intval($_GET['uid']);
// проверка существования учетной записи
$result=mysql_query("SELECT `link` FROM `top_users` WHERE `uid`='".$uid."';");
$row=mysql_fetch_row($result);
if(empty($row)) exit;
$week_day=date("w");
$today=date("Ymd");
// параметры диаграммы
$r=45;
$cx=50;
$cy=50;
$g1=0;
$g2=0;
// параметры сносок
$x_leg=10;
$y_leg=110;
$w_h=5;
$step=10;
// созданире изображения
$img=ImageCreate(100,235);
$colorWhite=ImageColorAllocate($img,255,255,255);
$colorBlack=ImageColorAllocate($img,0,0,0);
$colorGrey=ImageColorAllocate($img,180,180,180);
for($i=0;$i<6;$i++)
{
ImageArc($img,$cx,$cy,2*$r+$i,2*$r+$i,0,360,ImageColorAllocate($img,180+($i*10),180+($i*10),180+($i*10)));
}
ImageFill($img,$cx,$cy,$colorGrey);
$color=array(
ImageColorAllocate($img,237,27,35),
ImageColorAllocate($img,255,172,72),
ImageColorAllocate($img,56,181,73),
ImageColorAllocate($img,0,174,239),
ImageColorAllocate($img,255,0,255),
ImageColorAllocate($img,255,242,0),
ImageColorAllocate($img,0,0,255),
ImageColorAllocate($img,166,124,81),
ImageColorAllocate($img,183,183,183),
ImageColorAllocate($img,0,255,0),
ImageColorAllocate($img,255,0,0),
ImageColorAllocate($img,0,90,100),
);
$tel=array(
"Siemens",
"Nokia",
"Samsung",
"Motorola",
"LG",
"Sagem",
"SonyEricsson",
"Alcatel",
"Sharp",
"Pantech",
"Panasonic",
"Other",
);
// данные телов
$result=mysql_query("SELECT `Siemens`,`Nokia`,`Samsung`,`Motorola`,`LG`,`Sagem`,`SonyEricsson`,`Alcatel`,`Sharp`,`Pantech`,`Panasonic`,`Other` FROM `top_weeks` WHERE `date`='".$today."' AND `day_week`='".$week_day."' AND `uid`='".$uid."' LIMIT 1;");
$tel_data=mysql_fetch_row($result);
if(empty($tel_data)) exit;
$result=mysql_query("SELECT `Siemens`+`Nokia`+`Samsung`+`Motorola`+`LG`+`Sagem`+`SonyEricsson`+`Alcatel`+`Sharp`+`Pantech`+`Panasonic`+`Other` FROM `top_weeks` WHERE `date`='".$today."' AND `day_week`='".$week_day."' AND `uid`='".$uid."' LIMIT 1;");
$row=mysql_fetch_row($result);
$sum_count=$row[0];
$percent_data=array();
$grad=array();
foreach($tel_data as $index=>$value)
{
if($sum_count>0) $percent_data[$index]=$value/$sum_count*100;
else
$percent_data[$index]=0;
$grad[$index]=$percent_data[$index]*360/100;
}
// создаём график
foreach($grad as $index=>$g)
{
$g2=$g1+$g;
ImageArc($img,$cx,$cy,2*$r,2*$r,$g1,$g2,$colorBlack);
if($g1==0)
{
$x=$cx+$r;
$y=$cy;
ImageLine($img,$cx,$cy,$x,$y,$colorBlack);
}
$x=$r*cos($g2*pi()/180)+$cx;
$y=$r*sin($g2*pi()/180)+$cy;
ImageLine($img,$cx,$cy,$x,$y,$colorBlack);
$x=($r-5)*cos(($g2+$g1)/2*pi()/180)+$cx;
$y=($r-5)*sin(($g2+$g1)/2*pi()/180)+$cy;
// закраска области
if($g>2)
{
ImageFill($img,$x,$y,$color[$index]);
}
$g1+=$g;
// вывод легенды
ImageFilledRectangle($img,$x_leg,$y_leg,$x_leg+$w_h,$y_leg+$w_h,$color[$index]);
ImageRectangle($img,$x_leg,$y_leg,$x_leg+$w_h,$y_leg+$w_h,$colorBlack);
ImageTTFtext($img,6,0,$x_leg+$w_h+5,$y_leg+$w_h,$colorBlack,"./font/font.ttf",$tel[$index]." (".(int)$percent_data[$index]."%)");
$y_leg+=$step;
}
ImageRectangle($img,0,105,99,$y_leg,$colorBlack);
ImageFilledRectangle($img,0,105,5,$y_leg,$colorGrey);
ImageRectangle($img,0,105,5,$y_leg,$colorBlack);
Header("Content-type: image/png");
ImagePNG($img);
ImageDestroy($img);
?>