<?php
require 'shaxty.php';
$url = isset ($_REQUEST['url']) ? func::checkin($_REQUEST['url']) : false;
$site = core:: $db -> queryFetch("SELECT * FROM `sites` WHERE `url`=? LIMIT 1;", array($url));
if(!isset($site['id']))header('Location: /404.php');
$align = 'left';
$title = $site['name'];
$description = $site['abaut'];
$keywords = $site['key'];
include_once ('shaxty/head.php');
$prosmotr = $site['prosmotr']+1;
core::$db->query("UPDATE `sites` SET `prosmotr`=? WHERE `id`=? LIMIT 1",array($prosmotr,$site['id']));
echo '<div class="col-md-8 col-sm-12 col-xs-12"><div class="panel panel-default">';
echo '<div class="panel-heading"> <b>'.$site['name'].'</b></div>
<div class="panel-body">';
// обновление инфы
if(isset($_GET['up'])){
if(isset(core::$user['id'])){
$url = $site['url'];
if(core::$user['level']<9){
if($site['user_id']==core::$user['id']){
if($site['time']+3600*24*1>core::$realtime){
header('Location: ?up_ok=1');
exit();
}
}else{
if($site['time']+3600*24*3>core::$realtime){
header('Location: ?up_ok=3');
exit();
}
}
}
function check_http_status($url)
{
$user_agent = 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_VERBOSE, false);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSLVERSION, 3);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$page = curl_exec($ch);
$err = curl_error($ch);
if (!empty($err))
return $err;
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
return $httpcode;
}
$answer = check_http_status('http://'.$url);
if($answer>=400){
echo '<div class="xl" align="center"><span style="color:#FF0000;">Сайт недоступен. Код статуса <b>HTTP: '.$answer.'</b></span></div>';
echo '</div>';
include_once ('shaxty/foot.php');
}
$yandex = new SimpleXMLElement('http://bar-navig.yandex.ru/u?ver=2&show=32&url=http://'.$url, NULL, TRUE);
$alexa = new SimpleXMLElement('http://data.alexa.com/data?cli=10&dat=snbamz&url='.$url, NULL, TRUE);
if(isset($alexa->SD[1]->POPULARITY['TEXT']))
{
$alexaa = $alexa->SD[1]->POPULARITY['TEXT'];
}
else
{
$alexaa = 'no';
}
$seo = new Seo();
$res['url'] = $url;
$res['google_pr'] = pr($url);
$res['yandex_cy'] = $yandex->tcy['value'];
$res['yandex_rank'] = $yandex->tcy['rang'];
$res['alexa'] = $alexaa;
$res['google_index'] = $seo->google_index($url);
$res['yandex_index'] = $seo->Yandex_Index($url);
$res['bing_index'] = getBing($url);
$res['yahoo_index'] = getYahoo($url);
$res['google_link'] = $seo->google_links($url);
$res['yandex_link'] = $seo->Yandex_Links($url);
$res['bing_link'] = getBingLink($url);
$res['yahoo_link'] = getYahooLink($url);
$res['rambler_link'] = getBackRambler($url);
$res['google_blog'] = $seo->google_blogs($url);
$res['yandex_cat'] = yaca($url);
$res['dmoz'] = getDmoz($url);
$res['time'] = time();
$res['number'] = 1;
$sites = getSite($url);
$res['keywords'] = $sites[0];
$res['description'] = $sites[1];
$dbi = core::$db -> prepare("UPDATE `sites` SET `title`=?, `description`=?, `keywords`=?, `google_pr`=?,`yandex_cy`=?,`yandex_rank`=?,`alexa`=?,`google_index`=?,`yandex_index`=?,`bing_index`=?,`yahoo_index`=?,`google_link`=?,`yandex_link`=?,`bing_link`=?,`yahoo_link`=?,`rambler_link`=?,`google_blog`=?,`yandex_cat`=?,`dmoz`=?,`number`=?,`time`=? WHERE `id`=?");
$dbi -> execute(getTitle($url),$sites[1],$sites[0],$res['google_pr'],$res['yandex_cy'],$res['yandex_rank'],$res['alexa'],$res['google_index'],$res['yandex_index'],$res['bing_index'],$res['yahoo_index'],$res['google_link'],$res['yandex_link'],$res['bing_link'],$res['yahoo_link'],$res['rambler_link'],$res['google_blog'],$res['yandex_cat'],$res['dmoz'],$res['number'],core::$realtime,$site['id']);
header('Location: ?up_ok=ok');
}else{
header('Location: ?up_ok=no');
}
}
if(core::$user['level']>=9 or $site['user_id']==core::$user['id']){
// удаление сайта
if(isset($_GET['del'])){
$danger = isset ($_REQUEST['danger']) ? trim($_REQUEST['danger']) : '';
if (empty($danger)){
echo '<form action="?del&danger=danger" method="post" enctype="multipart/form-data">';
echo '<br />Вы уверены, что желаете <b>удалить</b> этот сайт из каталога?<br />';
echo '<br /><input type="submit" class="ibutton" value="Продолжить"/> | <a href="'.htmlspecialchars(getenv("HTTP_REFERER")).'">Отмена</a></form><br /><br />';
echo '<br />';
echo '</div></div>';
include_once ('shaxty/foot.php');
}else{
core::$db->query("DELETE FROM `vote` WHERE `site` = ?", array($site['id']));
core::$db->query("DELETE FROM `sites` WHERE `id` = ?", array($site['id']));
echo '<div class="xl" align="center"><span style="color:#FF0000;">Сайт успешно удален</span></div>';
}
}
// изменение сайта
if(isset($_GET['edit'])){
if(!isset($_POST['url'])){
echo '<form method="post" action="/'.$site['url'].'?edit='.$site['id'].'">';
echo ' <b>Адрес сайта:</b><br />
' . (isset($_SESSION['domain_err']) ? '<span style="color:#DD0000">'.$_SESSION['domain_err'].'</span><br />' : '') . '
<input type="text" name="url" value="http://'.$site['url'].'"/><br />';
echo ' <b>Название сайта:</b><br />
<input type="text" name="name" value="'.$site['name'].'"/><br />';
echo '<b>Описание:</b> <br /><textarea cols="50" rows="3" name="abaut">'.$site['abaut'].'</textarea><br/>';
echo '<b>Ключевые слова:</b> <br /><textarea cols="50" rows="3" name="key" >'.$site['key'].'</textarea><br/>';
echo '<b>Выберите категории, к которым относится ваш сайт:</b>' . (isset($_SESSION['cat_err']) ? '<br /><span style="color:#DD0000">'.$_SESSION['cat_err'].'</span>' : '') . '';
$k_post = core:: $db -> querySingle("SELECT count(*) FROM `categorii`;");
if ($k_post==0)echo 'Категорий нет<br />';
$r = core:: $db -> query("SELECT * FROM `categorii`;");
$i=0;
$cats = explode("|",$site['cat']);
echo '<div class="scr">';
while ($raz= $r -> fetch()) {
if ( !preg_match("/[^0-9]/s", ($i/6)) )echo '<div style="display: table-cell;padding: 10px;">';
$i++;
if(in_array($raz['id'] ,$cats)) $checked[$raz['id']] = 'checked';
echo '<input style="padding: 2px;" type="checkbox" '.$checked[$raz['id']].' value="'.$raz['id'].'" name="cat[]"/>'.$raz['name'].' <br />';
if ( !preg_match("/[^0-9]/s", ($i/6)) )echo "</div>";
}
echo "</div>";
echo ' <input type="submit" value="Изменить" />';
echo '</form>';
echo "</div>";
}else{
if (empty($_POST['cat'])){
$_SESSION['cat_err'] = 'Выберите хоть одну кабегорию';
header('Location: ?edit');
exit();
}
$cats .= '|';
// формируем список категорий сайтов
foreach ($_POST['cat'] as $v) {
$cats .= func::checkin(intval($v)).'|';
}
$urledit = func::checkin($_POST['url']);
$name = func::checkin($_POST['name']);
$abaut = func::checkin($_POST['abaut']);
$key = func::checkin($_POST['key']);
$urledit = str_replace("http://","",$urledit);
$urledit = str_replace("www.","",$urledit);
if (empty($urledit)){
$_SESSION['domain_err'] = 'Не указан адрес';
header('Location: ?edit');
exit();
}
if (!preg_match('|^[a-z0-9\-\.\/]+$|i', $urledit)){
$_SESSION['domain_err'] = 'Недопустимые символы в адресе '.$urledit;
header('Location: ?edit');
exit();
}
if (empty($name))$name = getTitle($urledit);
$sites = getSite($urledit);
if (empty($key))$key = $sites[0];
if (empty($abaut))$abaut = $sites[1];
//echo intval($_GET['edit']);
$row = core:: $db -> queryFetch("SELECT * FROM `sites` WHERE `id`=? LIMIT 1;", array(intval($_GET['edit'])));
if($urledit != $row['url']){
$m= core::$db -> queryFetch("SELECT * FROM `sites` WHERE `url`=?;", array($urledit));
if ($m > 0) {
$_SESSION['domain_err'] = 'Этот сайт уже есть в нашем каталоге. Если это ваш сайт, вы можете измить его название и описание...';
header('Location: ?edit');
exit();
}
}
echo $row['id'];
$dbi = core::$db -> prepare("UPDATE `sites` SET `url`=?, `name`=?, `key`=?, `abaut`=?, `cat`=? WHERE `id`=?");
$dbi -> execute($urledit,$name,$key,$abaut,$cats,$row['id']);
unset($_SESSION['domain_err']);
unset($_SESSION['cat_err']);
header('Location: ?edit_ok=ok');
}
echo '</div>';
include_once ('shaxty/foot.php');
}
if(isset($_GET['edit_ok']))echo '<div class="xl" align="center"><span style="color:#008040;">Данные сайта успешно изменены</span></div>';
if($_GET['up_ok']=='ok')echo '<div class="xl" align="center"><span style="color:#008040;">Данные сайта успешно обновлены</span></div>';
if($_GET['up_ok']=='no')echo '<div class="xl" align="center"><span style="color:#FF0000;">Для обновления необходимо авторизоваться</span></div>';
if($_GET['up_ok']=='3')echo '<div class="xl" align="center"><span style="color:#FF0000;">Следующее обновление будет возможно <b>'.func::times_old($site['time']+3600*24*3).'</b><br /></span><br />Если это ваш сайт <b><a href=".my.php?prava">подтвердите права</a></b> на него и обновляйте инормацию каждый день</div>';
if($_GET['up_ok']=='1')echo '<div class="xl" align="center"><span style="color:#FF0000;">Следующее обновление будет возможно <b>'.func::times_old($site['time']+3600*24*1).'</b><br /></span></div>';
if(core::$user['level']>=9){$del = '<a href="?del"> Удалить</a> | '; }
$edit = '<a href="?edit"> Изменить</a> | ';
}
echo '<div class="xl" align="center"> <span align="left">'.$edit.''.$del.'</span> <span align="right">Обновлено: '.func::times($site['time']).' <a href="?up"> Обновить</a></span> </div>';
echo '<div class="col-md-5 col-sm-5 col-xs-12">
<div class="panel panel-blu">';
echo '<a href="skrin.php?url='.$url.'""><img class="border" src="http://mini.s-shot.ru/1440x900/240/jpeg/?http://'.$url.'" alt="Каталог лучших мобильных сайтов"></a><br />';
if (isset($_GET['vote'])){
mysql_query ("Select * from vote WHERE site='".$site[id]."' and vote_ip='".core::$ipp."'");
if (mysql_affected_rows()!=0){
echo '<div class="xl" align="center"><span style="color:#FF0000;">Вы уже голосовали за этот сайт</span></div>';
} else {
core::$db->query ("INSERT INTO vote (site,vote_ip,time) VALUES ('$site[id]','".core::$ipp."','".core::$realtime."')");
if($_GET['vote']==1)$votes = $site['vote']+1;
else $votes = $site['vote']-1;
core::$db->query("UPDATE `sites` SET `vote`=?, `votes`=? WHERE `id`=? LIMIT 1",array($votes,($site['votes']+1),$site['id']));
header ('Location: ?v=ok');
}
}
if($_GET['v']=='ok')echo '<div class="xl" align="center"><span style="color:#008040;">Спасибо, ваш голос принят.</span></div>';
if($site['vote']>0) $color = '#008000';
else if($site['vote']<0) $color = '#FF0000';
else $color = '#797979';
echo '<div class="xl" align="center"> Рейтинг: <span style="color:'.$color.';"><b>'.$site['vote'].'</b></span> | Голосов: <b>'.$site['votes'].'</b></div>
<div class="xl" align="center"> Голосовать: <a href="?vote=1"><img src="'.H.'img/plus.gif" alt="*"/> <b>Плюс</b></a> | <a href="?vote=0"> <b>Минус</b ><img src="'.H.'img/minus.gif" alt="*"/></a></b></div>';
echo '</div></div>';
echo '<div class="col-md-7 col-sm-7 col-xs-12">
<div class="panel panel-green">';
if ($site['web']==1)$web = '<i class="fa fa-laptop" style = "color:#8C8C8C;font-size: 18px;"></i> Для ПК (WEB)';
else $web = '<i class="fa fa-mobile" style = "color:#8C8C8C;font-size: 18px;"></i> Сайт для мобильных и планшетов (WAP)';
echo '<div class="xl"> <b>Сайт:</b> <b><a target="_blank" href="http://'.$site['url'].'">http://'.$site['url'].'</a></b> </div>';
echo '<div class="xl"> <b>Версия:</b> '.$web.'</div>';
echo '<div class="xl"> <b>Описание:</b> '.$site['abaut'].'</div>';
echo '<div class="xl"> <b>Ключи:</b> '.$site['key'].'</div>';
echo '<div class="xl"> <b>Добавлен:</b> '.func::times($site['time_add']).' | <b> Просмотров:</b> '.$site['prosmotr'].'</div>';
echo '</div></div>';
echo '<div class="col-md-8 col-sm-12 col-xs-12">
<div class="panel panel-blu">';
echo '<div class="panel-heading"><b>Видимость '.$site['url'].' в поисковых системах:</b></div>';
echo '<div class="xl"> <b>Яндекс ТИЦ (CY):</b> '.$site['yandex_cy'].' | <b>Google PageRank (PR):</b> '.$site['google_pr'].' | <b>Alexa Rank:</b> '.$site['alexa'].'</div>';
echo '<div class="xl"><b>Яндекс Каталог:</b> '.$site['yandex_cat'].' | <b>DMOZ.org:</b> '.$site['dmoz'].'</div>';
echo '</div></div>';
echo '<div class="col-md-4 col-sm-12 col-xs-12">
<div class="panel panel-yellow">';
echo '<div class="panel-heading"><b>Апдейты:</b></div>';
echo '<div class="xl">'.seo_news().'</div>';
echo '</div></div>';
$file = file_get_contents('http://'.$site['url']);
preg_match('#href="http://mobtop.ru/in/([.]*|[^>]*)"#i',$file,$mobtop);
$mobtop = intval($mobtop[1]);
if($mobtop!=163){
if(!empty($mobtop)){
echo '<div class="col-md-12 col-sm-12 col-xs-12">
<div class="panel panel-blu">';
echo '<div class="panel-heading"><b>Посещаемость согласно Рейтингу МобТоп:</b></div>';
$platform_id = $mobtop; // ID площадки
$offset = 1; // Смещение в днях
$xml = @simplexml_load_file("http://api.mobtop.ru/{$platform_id}/visitors_offset/{$offset}/");
foreach ($xml->stat->day as $day){
echo '<div class="xl"> На '.$day->date.' - Хостов <b>'.$day->hosts.'</b> | Хитов <b>'.$day->hits.'</b></div>';
}
echo '</div></div>';
}
}
echo '<div class="col-md-12 col-sm-12 col-xs-12">
<div class="panel panel-green">';
echo '<div class="panel-heading"><b>Мета теги:</b></div>';
echo '<div class="xl"> <b>Заголовок:</b> '.$site['title'].'</div>';
echo '<div class="xl"> <b>Описание:</b> '.$site['description'].'</div>';
echo '<div class="xl"> <b>Ключевые слова:</b> '.$site['keywords'].'</div>';
echo '</div></div>';
echo '</div></div>';
include_once ('shaxty/foot.php');
?>