Модуль [мод] Сервис определения Яндекс.тИЦ и Google PR

Тема в разделе "DLE", создана пользователем NitroGen, 1 ноя 2008.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.1 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. NitroGen

    NitroGen Постоялец

    Регистр.:
    11 мар 2007
    Сообщения:
    80
    Симпатии:
    37
    [​IMG]

    Автор: Inrus (DleTweak.Ru)
    Тип: модуль
    Название: Сервис проверки тИЦ и PR
    Версия: 1.0
    Код: закрыт
    Снятие копирайта: $15
    Открытый код: $35
    Совместимость с Dle: 6.3 - 7.3
    Описание:
    Модуль позволяет создать на сайте сервис определения положения сайта в поисковых системах Яндекс и Google, таже получить информацию о самом сайте.

    Возможности:

    * Определение Яндекс.тИЦ в виде текста.
    * Определение Яндекс.тИЦ в виде кнопок, для вариантов домена с www и без.
    * Определение Google Page Rank в виде текста.
    * Определение Google Page Rank в виде кнопки.
    * Получение скриншота сайта (используется сервис websnapr.com)
    * Парсинг инфрмации сайта: название, описание, ключевые слова, иконка.
    * Определение IP адреса домена + раскрывающееся меню из которого можно найти еще сайты с этого IP.
    * Определение веса страницы сайта в двух вариантах: кило-байты и байты.
    * Тщательная проверка и фильтрация вводимых в фому данных.
    * Работа модуля осуществляется полностью через Ajax.

    Демо: здесь


    [​IMG]

    [​IMG]
     

    Вложения:

    pizd, masterwud, ibox и 5 другим нравится это.
  2. dos03

    dos03 -----

    Регистр.:
    9 мар 2007
    Сообщения:
    871
    Симпатии:
    428
    Это бесплатная версия с закрытым кодом?
     
  3. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    Для кого написан первый пост?
     
  4. nubic

    nubic

    Регистр.:
    29 май 2008
    Сообщения:
    382
    Симпатии:
    151
    Скрипт на демо сайте не работает
    пробовал ввлдить и так и с www и с http:// ничего не происходит

    упс извинияюсь там чтобы сработало нужно нажать кнопку проверить, а я просто ввод нажимал это кстати не есть гуд с непривычки .
     
  5. dos03

    dos03 -----

    Регистр.:
    9 мар 2007
    Сообщения:
    871
    Симпатии:
    428
    PHP_Master, видимо для тебя и написан:
    Таким образом есть 2 версии: бесплатная с закрытым кодом и платная за 35 уе с открытым кодом.
     
  6. PoMaH

    PoMaH

    Регистр.:
    8 июн 2006
    Сообщения:
    753
    Симпатии:
    142
    fail iz ajax/sitecheck.php



    Dekodiroval ja ;]

    PHP:

    @error_reporting(7);
    @
    ini_set('display_errors',true);
    @
    ini_set('html_errors',false);
    @
    session_start();
    define('DATALIFEENGINE',true);
    define('ROOT_DIR','../..');
    define('ENGINE_DIR','..');
    include 
    ENGINE_DIR.'/data/config.php';
    require_once 
    ENGINE_DIR.'/classes/templates.class.php';
    @
    header("Content-type: text/css; charset=".$config['charset']);
    $tpl = new dle_template;
    if (
    $config['http_home_url'] == "") {
    $config['http_home_url'] = explode("engine/ajax/sitecheck.php",$_SERVER['PHP_SELF']);
    $config['http_home_url'] = reset($config['http_home_url']);
    $config['http_home_url'] = "http://".$_SERVER['HTTP_HOST'].$config['http_home_url'];
    }
    $_REQUEST['skin'] = explode ("/",$_REQUEST['skin']);
    $_REQUEST['skin'] = end ($_REQUEST['skin']);
    if (
    $_REQUEST['skin']) {
    if (@
    is_dir(ROOT_DIR.'/templates/'.$_REQUEST['skin']))
    {
    $config['skin'] = $_REQUEST['skin'];
    }
    else
    {
    die (
    "Hacking attempt!");
    }
    }
    if (
    $config["lang_".$config['skin']]) {
    include_once 
    ROOT_DIR.'/language/'.$config["lang_".$config['skin']].'/website.lng';
    }else {
    include_once 
    ROOT_DIR.'/language/'.$config['langs'].'/website.lng';
    }
    $config['charset'] = ($lang['charset'] != '') ?$lang['charset'] : $config['charset'];
    $url $_POST['url'];
    $url htmlentities(htmlspecialchars($url));
    if (
    strlen($url) >40)
    die (
    "<div style=\"background: #FFEFEF;border:1px solid #9E9E9E;padding: 5px;margin-top: 7px;\">Слишком длинное доменное имя!</div>");
    $url preg_replace("/www./i","",$url);
    if(!
    $url) {die("<div style=\"background: #FFEFEF;border:1px solid #9E9E9E;padding: 5px;margin-top: 7px;\">Не указан домен!</div>");}
    if(!
    preg_match("/^(http:\/\/)/i",$url)){
    $url "http://".$url;
    }
    $zurl preg_replace("/^(http:\/\/)/i","",$url);
    $wurl preg_replace("/^(http:\/\/)/i","www.",$url);
    if (!
    preg_match('/^(http|https|ftp):\/\/([A-Z0-9][A-Z0-9_-]*(?:\.[A-Z0-9][A-Z0-9_-]*)+):?(\d+)?\/?/i',$url))
    {
    echo 
    "<div style=\"background: #FFEFEF;border:1px solid #9E9E9E;padding: 5px;margin-top: 7px;\">Адрес сайта должен быть таким: site.ru или site.ru без http://</div>";
    die (
    "");
    }
    $googlehost='toolbarqueries.google.com';
    $googleua='Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5';
    function 
    StrToNum($Str,$Check,$Magic) {
    $Int32Unit 4294967296;
    $length strlen($Str);
    for (
    $i 0;$i <$length;$i++) {
    $Check *= $Magic;
    if (
    $Check >= $Int32Unit) {
    $Check = ($Check -$Int32Unit * (int) ($Check $Int32Unit));
    $Check = ($Check <-2147483648) ?($Check +$Int32Unit) : $Check;
    }
    $Check += ord($Str{$i});
    }
    return 
    $Check;
    }
    function 
    HashURL($String) {
    $Check1 StrToNum($String,0x1505,0x21);
    $Check2 StrToNum($String,0,0x1003F);
    $Check1 >>= 2;
    $Check1 = (($Check1 >>4) &0x3FFFFC0 ) |($Check1 &0x3F);
    $Check1 = (($Check1 >>4) &0x3FFC00 ) |($Check1 &0x3FF);
    $Check1 = (($Check1 >>4) &0x3C000 ) |($Check1 &0x3FFF);
    $T1 = (((($Check1 &0x3C0) <<4) |($Check1 &0x3C)) <<) |($Check2 &0xF0F );
    $T2 = (((($Check1 &0xFFFFC000) <<4) |($Check1 &0x3C00)) <<0xA) |($Check2 &0xF0F0000 );
    return (
    $T1 |$T2);
    }
    function 
    CheckHash($Hashnum) {
    $CheckByte 0;
    $Flag 0;
    $HashStr sprintf('%u',$Hashnum);
    $length strlen($HashStr);
    for (
    $i $length -1;$i >= 0;$i --) {
    $Re $HashStr{$i};
    if (
    === ($Flag %2)) {
    $Re += $Re;
    $Re = (int)($Re 10) +($Re %10);
    }
    $CheckByte += $Re;
    $Flag ++;
    }
    $CheckByte %= 10;
    if (
    !== $CheckByte) {
    $CheckByte 10 -$CheckByte;
    if (
    === ($Flag %2) ) {
    if (
    === ($CheckByte %2)) {
    $CheckByte += 9;
    }
    $CheckByte >>= 1;
    }
    }
    return 
    '7'.$CheckByte.$HashStr;
    }
    function 
    getch($url) {return CheckHash(HashURL($url));}
    function 
    getpr($url) {
    global 
    $googlehost,$googleua;
    $ch getch($url);
    $fp fsockopen($googlehost,80,$errno,$errstr,30);
    if (
    $fp) {
    $out "GET /search?client=navclient-auto&ch=$ch&features=Rank&q=info:$url HTTP/1.1\r\n";
    $out .= "User-Agent: $googleua\r\n";
    $out .= "Host: $googlehost\r\n";
    $out .= "Connection: Close\r\n\r\n";
    fwrite($fp,$out);
    while (!
    feof($fp)) {
    $data fgets($fp,128);
    $pos strpos($data,"Rank_");
    if(
    $pos === false){}else{
    $pr=substr($data,$pos +9);
    $pr=trim($pr);
    $pr=str_replace("\n",'',$pr);
    return 
    $pr;
    }
    }
    fclose($fp);
    }
    }
    function 
    pagerank($url,$width=40,$method='style') {
    if (!
    preg_match('/^(http:\/\/)?([^\/]+)/i',$url)) {$url='http://'.$url;}
    $pr=getpr($url);
    if (
    $pr == "") {
    $pr 0;
        }
    $pagerank=$pr;
    if (
    $method == 'image') {
    $prpos=$width*$pr/10;
    $prneg=$width-$prpos;
    $html='<img src="http://www.google.com/images/pos.gif" width='.$prpos.' height=4 border=0 alt="'.$pagerank.'"><img src="http://www.google.com/images/neg.gif" width='.$prneg.' height=4 border=0 alt="'.$pagerank.'">';
    }
    if (
    $method == 'style') {
    $prpercent=100*$pr/10;
    $html='<div style="position: relative; width: '.$width.'px; padding: 0; background: #D9D9D9;"><strong style="width: '.$prpercent.'%; display: block; position: relative; background: #5EAA5E; text-align: center; color: #333; height: 4px; line-height: 4px;"><span></span></strong></div>';
    }
    $out=''.$pagerank.'';
    return 
    $out;
    }
    $getpr pagerank($url);
    function 
    pr_image($getpr) {
    global 
    $config;
    return 
    "<img src=\"".$config['http_home_url']."templates/".$config['skin']."/pr_imgs/$getpr.gif\" width=\"80\" height=\"15\" border=\"0\" align=\"absmiddle\">";
    }
    function 
    getTCY($url){
    $xml = @file_get_contents('http://bar-navig.yandex.ru/u?ver=2&show=32&url='.$url);
    return 
    $xml ?(int) substr(strstr($xml,'value="'),7) : false;
    }
    $get_head = @file_get_contents($url);
    function 
    get_title($get_head) {
    preg_match('|<title>(.*)</title>|mi',$get_head,$result);
    if (
    preg_match('//u',$result[1]))
    return 
    convert_unicode($result[1]);
    else
    return 
    $result[1];
    }
    function 
    get_keywords($get_head){
    $h1tags preg_match('/(<meta name="keywords" content="(.*)" \/>)/i',$get_head,$patterns);
    $res = array();
    array_push($res,$patterns[2]);
    array_push($res,count($patterns[2]));
    if(!empty(
    $res[0])){
    if (
    preg_match('//u',$res[0]))
    return 
    convert_unicode($res[0]);
    else
    return 
    $res[0];
    }else{
    return 
    'Нет ключевых слов';
    }
    }
    function 
    get_desc($get_head){
    $h1tags preg_match('/(<meta name="description" content="(.*)" \/>)/i',$get_head,$patterns);
    $res = array();
    array_push($res,$patterns[2]);
    array_push($res,count($patterns[2]));
    if(!empty(
    $res[0])){
            if (
    preg_match('//u',$res[0]))
    return 
    convert_unicode($res[0]);
    else
    return 
    $res[0];
    }else{
    return 
    'Нет описания';
    }
    }
    function 
    get_ip($wurl) {
    $ips=gethostbynamel($wurl);
    foreach(
    $ips as $ip)
    return 
    "<a href=\"#\" onClick=\"return dropdownmenu(this, event, MenuIp('".$ip."'), '150px')\" >$ip</a>";
    }
    function 
    get_web_size($url) {
    $fh = @fopen($url,"r");
    while((
    $str fread($fh,1024)) != null$fsize += strlen($str);
    $kbs = @ceil($fsize/1024);
    $sizeof $kbs.' кб ('.$fsize.' байт)';
    return 
    $sizeof;
    }
    function 
    tic_img($wurl){
    return 
    "<a href=\"http://search.yaca.yandex.ru/yca/cy/ch/{$wurl}\" target=\"blank\"><img src=\"http://www.yandex.ru/cycounter?{$wurl}\" alt=\"Индекс Цитирования\" width=\"88\" border=\"0\" height=\"31\"></a>";
    }
    function 
    tic_img_www($zurl){
    return 
    "<a href=\"http://search.yaca.yandex.ru/yca/cy/ch/{$zurl}\" target=\"blank\"><img src=\"http://www.yandex.ru/cycounter?{$zurl}\" alt=\"Индекс Цитирования\" width=\"88\" border=\"0\" height=\"31\"></a>";
    }
    function 
    favicon($zurl) {
    return 
    "<img src=\"http://favicon.yandex.net/favicon/{$zurl}\">";
    }
    function 
    screen_shot($url) {
    return 
    "<img class=\"img2\" alt=\"Это скриншот сайта {$url}.\" src=\"http://images.websnapr.com/?url={$url}&size=s&key=rhx5Nbtd2p8k&nocache=93\">";
    }
    function 
    convert_unicode($t,$to 'windows-1251')
    {
    $to strtolower($to);
    if (
    $to == 'utf-8') {
    return 
    urldecode($t);
    }else {
    if( 
    function_exists("get_magic_quotes_gpc") &&get_magic_quotes_gpc() ) $t stripslashes$t );
    if ( 
    function_exists('iconv') ) $t iconv("UTF-8",$to."//IGNORE",$t);
    else 
    $t "The library iconv is not supported by your server";
    }
    return 
    urldecode($t);
    }
    $tpl->dir ROOT_DIR.'/templates/'.$config['skin'];;
    define('TEMPLATE_DIR',$tpl->dir);
    $tpl->load_template('chckd_site.tpl');
    $tpl->set('{favicon}',favicon($zurl));
    $tpl->set('{link}',"<a href=\"#\" onClick=\"return dropdownmenu(this, event, MenuDomain('".$zurl."'), '150px')\" href=\"#\">$url</a>");
    $tpl->set('{title}',get_title($get_head));
    $tpl->set('{keywords}',get_keywords($get_head));
    $tpl->set('{description}',get_desc($get_head));
    $tpl->set('{siteip}',get_ip($wurl));
    $tpl->set('{size}',get_web_size($url));
    $tpl->set('{screenshot}',screen_shot($url));
    $tpl->set('{tic}',getTCY($url));
    $tpl->set('{pr}',pagerank($url).'/10');
    $tpl->set('{img_tic}',tic_img($wurl));
    $tpl->set('{img_tic_www}',tic_img($zurl));
    $tpl->set('{pr_image}',pr_image($getpr));
    $tpl->copy_template $dr_dn."\r\n".$tpl->copy_template;
    $tpl->compile('res_buffer');
    @
    header("Content-type: text/css; charset=".$config['charset']);
    echo 
    $tpl->result['res_buffer'];

    drugije poka ne smotrel faily.

    Добавлено через 3 минуты
    Fail engine/modules/sitecheck.php


    PHP:
    if(!defined('DATALIFEENGINE')) {
    die(
    "Hacking Attempt!");
    }
    function 
    cp() {
    return 
    '<center><a href="http://dletweak.ru/" target="_blank" title="Система сервиса разработана в DleTweak">&copy; DT</a></center>';
    }
    $aj"<script type=\"text/javascript\" src=\"{$config['http_home_url']}/engine/ajax/sitecheck.js\"></script>";
    $tpl->load_template('sitecheck.tpl');
    $tpl->copy_template $aj."<form  method=\"post\" name=\"dle-urlcheck-form\" id=\"dle-urlcheck-form\" action=\"\">".$tpl->copy_template."
    </form>"
    .cp();
    $tpl->set('{results}','<div id="dle-site-results"></div>');
    $tpl->compile('content');
    $tpl->clear();

    ;]

    Добавлено через 8 минут
    fail ajax/sitecheck.js


    HTML:
    
    function doCheckSite(){var form=document.getElementById('dle-urlcheck-form');var ajax=new dle_ajax();var url=ajax.encodeVAR(ajax.encodeVAR(form.url.value));ajax.onShow('');var varsString="url="+url;ajax.requestFile=dle_root+"engine/ajax/sitecheck.php";ajax.method='POST';ajax.element='dle-site-results';ajax.sendAJAX(varsString);return false;} function MenuDomain(domain){var menu=new Array() var lang_action="";menu[0]='<A onclick="document.location=\'http://www.nic.ru/whois/?query='+domain+'\'; return(false)" href="#">Whois</A>';return menu;} function MenuIp(ip){var menu=new Array() var lang_action="";menu[0]='<A onclick="document.location=\'http://search.msn.com/results.aspx?q=IP%3A'+ip+'&amp;FORM=MSNH\'; return(false)" href="#">Fm</A>';return menu;}
    
    
    

    primu donations ;]
     
    Walkman, lifediz, Max399 и 2 другим нравится это.
  7. lifediz

    lifediz Yii Framework developer

    Регистр.:
    7 июн 2008
    Сообщения:
    385
    Симпатии:
    507
    Модуль: Сервис проверки тИЦ и PR
    Снятие копирайта: $15
    Открытый код: $35
    Нулл: alexben
    Модуль С полностью открытым кодом
    СКАЧАТЬ: http://rapidshare.com/files/159672880/dt_sitecheck_v.1.0rus_null.rar.html
     
    nullik, Padonok №1 и Dark Angell нравится это.
  8. glam

    glam

    Регистр.:
    12 апр 2007
    Сообщения:
    734
    Симпатии:
    217
    lifediz, чем отличается твой нулл от Романа?
     
  9. lifediz

    lifediz Yii Framework developer

    Регистр.:
    7 июн 2008
    Сообщения:
    385
    Симпатии:
    507
    Но нул не от меня, и у Романа всё по частям... а тут архивчик собраный... а отличий не должно быть, модуль то один!
    незнаю как у Романа, в архиве открытый код декодирован... и внутри инструкция..
     
    nullik нравится это.
  10. Padonok №1

    Padonok №1 Постоялец

    Регистр.:
    20 апр 2007
    Сообщения:
    89
    Симпатии:
    51
    когда то давным давно был такой модуль...
    ну модуль интересный но узкой направленности!
     
Статус темы:
Закрыта.