File size: 6.23Kb
<?php
include('config.php');
include('functions.php');
// прелог
echo $top;
echo '</head><body>';
$action="";
if(isset($_GET['action'])) $action=trim(htmlspecialchars($_GET['action']));
switch($action)
{
case 'myphone':
// определение телефона посетителя
$browser=explode("/",htmlspecialchars($_SERVER['HTTP_USER_AGENT']));
$browser=$browser[0];
// $browser="SIE-CX65";
$sql="SELECT `ua`";
foreach($data_names as $index=>$value)
{
$sql.=", `$index`";
}
$sql.=" FROM `top_models_data` WHERE `ua`='$browser' LIMIT 1;";
$result=mysql_query($sql);
$row_array=mysql_fetch_array($result);
if(empty($row_array))
{
$xml_data=get_xml(@$HTTP_SERVER_VARS["HTTP_X_WAP_PROFILE"]);
if($xml_data['http_code']==200)
{
$telinfo_array=array();
// получение данных
$data=$xml_data['page'];
$data=str_replace("<rdf:li>","",$data);
$data=str_replace("</rdf:li>","",$data);
$data=str_replace("<rdf:Bag>","",$data);
$data=str_replace("</rdf:Bag>","",$data);
$data=str_replace("\r\n","",$data);
// обработка
$xml_parser=xml_parser_create();
// установка функций обработки
xml_set_element_handler($xml_parser,"startElement","endElement");
// начального, конечного тега и данных
xml_set_character_data_handler($xml_parser,"CharacterData");
if(!xml_parse($xml_parser,$data))
{
// начало разбора и обработка ошибок
die(sprintf("ошибка : %s строка %d",xml_error_string(xml_get_error_code($xml_parser)),xml_get_current_line_number($xml_parser)));
}
// освобождение обработчика событий
xml_parser_free($xml_parser);
$sql="INSERT INTO `top_models_data` VALUES ('$browser'";
foreach($data_names as $index=>$value)
{
$sql.=", '".$telinfo_array[$index]."'";
}
$sql.=");";
mysql_query($sql);
// заголовок
echo '<b>Характеристики Вашего телефона:</b><br>';
foreach($data_names as $index=>$value)
{
if($index=='bitsperpixel')
{
if($telinfo_array[$index]==0) echo $value.": n/a<br>";
else echo $value.": ".pow(2,$telinfo_array[$index])."<br>";
}
else echo $value.": ".$telinfo_array[$index]."<br>";
}
}
else
{
echo 'Телефон не обнаружен!<br>';
echo '<a href="index_telinfo.php">Назад</a><br>';
}
}
else
{
// заголовок
echo '<b>Характеристики Вашего телефона:</b><br>';
// Вывод информации из базы
foreach($data_names as $index=>$value)
{
if($index=='bitsperpixel')
{
if($row_array[$index]==0) echo $value.": n/a<br>";
else echo $value.": ".pow(2,$row_array[$index])."<br>";
}
else echo $value.": ".$row_array[$index]."<br>";
}
}
break;
default:
// вывод всех телефонов из базы
$firm="";
if(isset($_GET['f'])) $firm=trim(htmlspecialchars($_GET['f']));
$model="";
if(isset($_GET['m'])) $model=trim(htmlspecialchars($_GET['m']));
// заголовок
if(empty($_GET['m']))
{
echo '<b>Характеристики мобильных телефонов</b><br>';
echo 'Данный сервис построен на основе автоматического заполнения данными от производителя,<br>';
echo 'то есть - если Вашего телефона нет в этой базе, то просто попробуйте перейти по ссылке <br>';
echo '<a href="index_telinfo.php?action=myphone">AUTO-Определение характеристик Вашего телефона</a> и если операция пройдет успешно,<br>';
echo 'Ваши данные телефона окажутся в данной базе!<br>';
}
if($model!="" && $firm!="")
{
echo '<b>Характеристики выбранной модели:</b><br>';
$result=mysql_query("SELECT * FROM `top_models_data` WHERE (`model`='".$model."' AND UPPER(`vendor`)='".strtoupper($firm)."')");
$row_array=mysql_fetch_array($result);
if(!empty($row_array))
{
// Вывод информации
foreach($data_names as $index=>$value)
{
if($row_array[$index]=="") $row_array[$index]="n/a";
if($index=='bitsperpixel')
{
if($row_array[$index]==0) echo $value.": n/a<br>";
else echo $value.": ".pow(2,$row_array[$index])."<br>";
}
else echo $value.": ".$row_array[$index]."<br>";
}
}
else echo 'По данной модели нет данных!<br>';
}
echo '<br>';
// дерево телефонов
echo '<b>Выберете производителя:</b><br>';
$vendor_result=mysql_query("SELECT DISTINCT CONCAT(UPPER(SUBSTRING(`vendor`,1,1)),LOWER(SUBSTRING(`vendor`,2,LENGTH(`vendor`)-1))) FROM `top_models_data` WHERE 1;");
$count_vendor_rows=mysql_num_rows($vendor_result);
for($i=0;$i<$count_vendor_rows;$i++)
{
$vendor_array=mysql_fetch_row($vendor_result);
if(!empty($vendor_array))
{
$models_count_result=mysql_query("SELECT COUNT(DISTINCT UPPER(`model`)) FROM `top_models_data` WHERE UPPER(`vendor`)='".strtoupper($vendor_array[0])."'");
$count_model=mysql_fetch_row($models_count_result);
if($firm==$vendor_array[0])
{
$models_result=mysql_query("SELECT DISTINCT UPPER(`model`) FROM `top_models_data` WHERE UPPER(`vendor`)='".strtoupper($vendor_array[0])."'");
echo '<img src="img/minus.png" alt=""> '.$vendor_array[0].'('.$count_model[0].')<br>';
$count_model_rows=mysql_num_rows($models_result);
$phone_pict="phone.png";
for($j=0;$j<$count_model_rows;$j++)
{
if($j==$count_model_rows-1)
$phone_pict="phone_end.png";
$models_array=mysql_fetch_row($models_result);
if($model==$models_array[0])
echo '<img src="img/'.$phone_pict.'" alt=""> '.$models_array[0].'<br>';
else echo '<img src="img/'.$phone_pict.'" alt=""> <a href="index.php?f='.$vendor_array[0].'&m='.$models_array[0].'">'.$models_array[0].'</a><br>';
}
echo '<br>';
}
else echo '<img src="img/plus.png" alt=""> <a href="index.php?f='.$vendor_array[0].'">'.$vendor_array[0].'</a>('.$count_model[0].')<br>';
}
else echo 'Категории отсутствуют!<br>';
}
}
echo '</body></html>';
?>