<?php
require 'shaxty.php';
$align = 'left';
$title = 'Добавление сайта в белый каталог';
include_once ('shaxty/head.php');
echo '<div class="col-md-8 col-sm-12 col-xs-12">
<div class="panel panel-default">';
echo '<div class="panel-heading"> <b>Добавление сайта в каталог</b></div>
<div class="panel-body">';
if(!isset($_POST['url'])){
echo '<form method="post" action="?">';
echo ' <b>Адрес сайта:</b><br />
' . (isset($_SESSION['domain_err']) ? '<div class="alert alert-danger alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>'.$_SESSION['domain_err'].'</div>' : '') . '
<input class="form-control" type="text" name="url" value="http://'.$_SESSION['domain'].'"/><dl></dl>';
//echo '<input style="padding: 2px;" type="checkbox" value="1" name="web"/> WEB сайт <br />';
echo '<b>Версия сайта:</b><br/>
<div class="form-group">
<div class="radio">
<label>
<input type="radio" name="web" id="optionsRadios1" value="0" checked>Для мобильных (WAP)
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="web" id="optionsRadios2" value="1">Для ПК (WEB)
</label>
</div>
</div> ';
echo ' <b>Название сайта:</b> <a href="#name">(<i data-container="body" data-toggle="popover" data-placement="top" data-content="Название сайта выступает и в качестве заголовка (тег title), который является ключевым в SEO-структуре сайта. Тот заголовок, который прописан в теге title, и выдаётся в результатах поисковой машины.
Текст, который является заголовком страницы, обязательно должен нести полную информативность, чёткость, быть уникальным и варьироваться в размере от 10 до 70 символов." class="fa fa-question"></i>)</a> <br />
' . (isset($_SESSION['name_err']) ? '<div class="alert alert-danger alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>'.$_SESSION['name_err'].'</div>' : '') . '
<input class="form-control" type="text" name="name" value="'.$_SESSION['name'].'" placeholder="Название вашего сайта в каталоге"/><dl></dl>
';
echo '<b>Описание:</b> <a href="#description">(<i data-container="body" data-toggle="popover" data-placement="top" data-content="Описание сайта отображается на странице информации о сайте и в мета-теге description. Важность описания в том, что поисковая система может использовать его для создания сниппетов. Описание имеет влияние на ранжирование результатов в поисковике. Напишите описание длиною от 70 до 160 символов (включая пробелы). Сделайте текст уникальным." class="fa fa-question"></i>)</a> <br />
' . (isset($_SESSION['abaut_err']) ? '<div class="alert alert-danger alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>'.$_SESSION['abaut_err'].'</div>' : '') . '
<textarea class="form-control" cols="50" rows="3" name="abaut" placeholder="Описание вашего сайта, будет выводиться на странице информации о сайте и в ее мета тагах. Если оставить пустым, описание будет загружено из мета тега сайта ">'.$_SESSION['abaut'].'</textarea>';
echo '<dl></dl><b>Ключевые слова:</b> <a href="#keywords">(<i data-container="body" data-toggle="popover" data-placement="top" data-content="Используйте ключевые слова, которые максимально отображают суть текста написанного в описании. Наиболее важные ключевые слова расположите в начале. Данные из этого поля используются в теге keywords. От 70 до 160 символов (включая пробелы)." class="fa fa-question"></i>)</a> <br />
' . (isset($_SESSION['key_err']) ? '<div class="alert alert-danger alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>'.$_SESSION['key_err'].'</div>' : '') . '
<textarea class="form-control" cols="50" rows="3" name="key" placeholder="Ключевые слова, будут выводиться на странице информации о сайте и в ее мета тагах. Если оставить пустым, ключи будут загружены из мета тега сайта ">'.$_SESSION['key'].'</textarea><dl></dl>';
echo '<b>Выберите категории, к которым относится ваш сайт:</b> <a href="#cat">(<i data-container="body" data-toggle="popover" data-placement="top" data-content="Будьте внимательны при выборе категорий, за несоответствие сайта указанной вами категории, сайт может быть удален из каталога." class="fa fa-question"></i>)</a>' . (isset($_SESSION['cat_err']) ? '<div class="alert alert-danger alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>'.$_SESSION['cat_err'].'</div>' : '') . '';
$k_post = core:: $db -> querySingle("SELECT count(*) FROM `categorii`;");
if ($k_post==0)echo 'Категорий нет<br />';
$r = core:: $db -> query("SELECT * FROM `categorii`;");
$i=0;
echo '<div class="scr"> <div class="checkbox">';
while ($raz= $r -> fetch()) {
if ( !preg_match("/[^0-9]/s", ($i/9)) )echo '<div style="display: table-cell;padding: 10px;">';
$i++;
//checked
echo '<label><input type="checkbox" value="'.$raz['id'].'" name="cat[]"/>'.$raz['name'].' </label> <br />';
if ( !preg_match("/[^0-9]/s", ($i/9)) )echo "</div>";
}
echo "</div></div>";
//if(core::$user['level']<9){
echo '<img src="/shaxty_code.php?r='.rand(1000, 9999).'" alt="Проверочный код"/><br />';
echo '<b>Код с картинки:</b><br/>
' . (isset($_SESSION['code_err']) ? '<div class="alert alert-danger alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>'.$_SESSION['code_err'].'</div>' : '') . '
<input class="form-control" type="text" size="6" maxlength="6" name="kode" ' . (isset($_SESSION['code_err']) ? ' style="background-color: #FFCCCC"' : '') . '/><br />';
//}
echo ' <input class="btn btn-primary" type="submit" value="Добавить сайт" />';
echo '</form>';
}else{
unset($_SESSION['domain_err']);
unset($_SESSION['code_err']);
unset($_SESSION['pass_err']);
unset($_SESSION['domain_err']);
unset($_SESSION['code_err']);
unset($_SESSION['about_err']);
unset($_SESSION['cat_err']);
//if(core::$user['level']<9){
// Проверка кода CAPTCHA
if ($reg_kod != $_SESSION['kode']){
$_SESSION['code_err'] = 'Проверочный код неверен';
$err = 'err';
}
//}
if (empty($_POST['cat'])){
$_SESSION['cat_err'] = 'Выберите хоть одну категорию';
$err = 'err';
}
$cats .= '|';
// формируем список категорий сайтов
foreach ($_POST['cat'] as $v) {
$cats .= func::checkin(intval($v)).'|';
}
$url = func::checkin($_POST['url']);
$web = func::checkin($_POST['web']);
$name = func::checkin($_POST['name']);
$title = func::checkin($_POST['title']);
$abaut = func::checkin($_POST['abaut']);
$description = func::checkin($_POST['description']);
$key = func::checkin($_POST['key']);
$keywords = func::checkin($_POST['keywords']);
$url = str_replace("http://","",$url);
$url = str_replace("www.","",$url);
$url = str_replace("https://","",$url);
$_SESSION['domain'] = $url;
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;
}
$answer0 = check_http_status('https://'.$url);
if($answer0>=400){
$answer = check_http_status('http://'.$url);
if($answer>=400){
$_SESSION['domain_err'] .= 'Сайт недоступен. <b>HTTP: '.$answer.'</b><br />';
$err = 'err';
}
}
// Проверка домена
if(ctype_digit($url)){
$_SESSION['lat_nick_err'] .= 'Адрес сайта не может состоять только из цифр.<br />';
$err = 'err';
}
if (empty($url)){
$_SESSION['domain_err'] .= 'Не указан адрес<br />';
$err = 'err';;
}
if (!preg_match('|^[0-9a-zA-Zа-яА-Я\-\.]+$|i', $url)){
$_SESSION['domain_err'] .= 'Недопустимые символы в адресе <br />';
$err = 'err';
}
$m= core::$db -> queryFetch("SELECT * FROM `sites` WHERE `url`=?;", array($url));
if ($m > 0) {
$_SESSION['domain_err'] = '<b>Этот сайт уже есть в нашем каталоге.</b> <br />Ссылка на страницу информации <a href="/cat/'.$url.'">http://'.$_SERVER['HTTP_HOST'].'/cat/'.$url.'</a><br />Если это ваш сайт, вы можете изменить его название и описание, пройдя <a href="/reg.php">регистрацию</a>.<br />';
$err = 'err';
}
if (empty($name))$name = getTitle($url);
$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];
if (empty($key))$key = $sites[0];
if (empty($abaut))$abaut = $sites[1];
if(!isset(core::$user['id']))$user_ids =0;
else $user_ids = core::$user['id'];
if (func::utf_strlen($name) < 10 || func::utf_strlen($name) > 70){
$_SESSION['name_err'] = 'Название сайта должно быть <b>от 10 до 70</b> символов';
$err = 'err';
}
if (func::utf_strlen($abaut) < 70 || func::utf_strlen($abaut) > 300){
$_SESSION['abaut_err'] = 'Описание сайта должно быть <b>от 70 до 300</b> символов';
$err = 'err';
}
if (func::utf_strlen($key) < 70 || func::utf_strlen($key) > 160){
$_SESSION['key_err'] = 'Это поле должно содержать <b>от 70 до 160</b> символов';
$err = 'err';
}
$_SESSION['name'] = $name;
$_SESSION['abaut'] = $abaut;
$_SESSION['key'] = $key;
if($err=='err'){
header('Location: ?');
exit();
}
$dbi = core::$db -> prepare("INSERT INTO `sites` SET `web`=?, `url`=?, `name`=?, `title`=?, `abaut`=?, `key`=?, `description`=?, `keywords`=?, `time_add`=?,`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`=?,`cat`=?,`user_id`=?");
$dbi -> execute($web,$url,func::checkin($name),getTitle($url),func::checkin($abaut),func::checkin($key),func::checkin($sites[1]),func::checkin($sites[0]),core::$realtime,$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,$cats,$user_ids);
$sid = core::$db -> lastInsertId();
unset($_SESSION['key_err']);
unset($_SESSION['abaut_err']);
unset($_SESSION['name_err']);
unset($_SESSION['key']);
unset($_SESSION['abaut']);
unset($_SESSION['name']);
unset($_SESSION['domain']);
unset($_SESSION['domain_err']);
unset($_SESSION['code_err']);
unset($_SESSION['pass_err']);
unset($_SESSION['domain_err']);
unset($_SESSION['code_err']);
unset($_SESSION['about_err']);
unset($_SESSION['cat_err']);
// открываем карту
$file = H.'sitemap3.xml';
$fil = file($file);
$timesp=date("Y-m-j", core::$realtime);
$timesp2=date("H:i:s", core::$realtime);
//<lastmod>'.$timesp.'T'.$timesp2.'+01:00</lastmod>
$sitemap = '<url>
<loc>http://wapxl.ru/cat/'.$url.'</loc>
<changefreq>monthly</changefreq>
</url>';
$fil = file($file);
$fp=fopen($file,"a+");
$total=count($fil);
if (!$total){ $total=''; }
for ($i=0; $i<$total; $i++){
if(($total-2)==$i){
flock ($fp,LOCK_EX);
ftruncate($fp,0);
for($i=0; $i<sizeof($fil); $i++){
if (($total-2)!=$i){
fputs($fp,$fil[$i]);
}else{
$bizname=$fil[$i]; fputs($fp,$bizname.$sitemap."\r\n");
}}
fflush ($fp); flock($fp,LOCK_UN);
fclose($fp);
}
}
echo '<div class="alert alert-success alert-dismissable"><b>Ваш сайт успешно добавлен в каталог! <br />Ссылка на страницу информации <a href="/cat/'.$url.'">http://'.$_SERVER['HTTP_HOST'].'/cat/'.$url.'</a></b>.<br /><br />
Для получения подробной статистики посещений вашего сайта, разместите на нем <b><a href="/top/code.php?url='.$url.'">код счетчика</a></b>.</div>';
}
echo '</div></div> ';
include_once ('shaxty/foot.php');
?>