Бормотухи.НЕТ

Вернуться   Бормотухи.НЕТ > Web-мастеру > vBulletin 3.х
Расширенный поиск

vBulletin 3.х Раздел о vBulletin и всем что касается этого скрипта

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2009, 09:59 Вверх   #1
Жудчайший Тип
 
Аватар для Kernet
Kernet вне форума
Доп. информация
По умолчанию vB Google Search Cloud- неправильное отображение

проблема как я понял в кодировке, английские буквы отображаются корректно, русские крякозябрами. если у кого есть файл: search_cloud.php уже так сказать "готовый к употреблению" выложите пожалуйста в кодировке cp-1251
  Ответить с цитированием
Старый 28.03.2009, 19:29 Вверх   #2
Человек
 
Аватар для TAIFUN
TAIFUN вне форума
Доп. информация
По умолчанию

Kernet, ты у меня вроде спрашивал этот файл.. не нашел я у себя его... че за хак то?
  Ответить с цитированием
Старый 28.03.2009, 22:12 Вверх   #3
Жудчайший Тип
 
Аватар для Kernet
Kernet вне форума
Доп. информация
По умолчанию

vB Google Search Cloud так и называется .....на этом форуме установлен_) в самом низу отображается облако тэгов по поиску гугла)
  Ответить с цитированием
Старый 29.03.2009, 06:06 Вверх   #4
Человек
 
Аватар для TAIFUN
TAIFUN вне форума
Доп. информация
По умолчанию

Kernet,
кинь сюда содержимое твоего файла под тег CODE
  Ответить с цитированием
Старый 29.03.2009, 09:34 Вверх   #5
Коварный тип
 
Аватар для Serberg
Serberg вне форума
Доп. информация
По умолчанию

Цитата Сообщение от Kernet Посмотреть сообщение
vB Google Search Cloud так и называется .....на этом форуме установлен_) в самом низу отображается облако тэгов по поиску гугла)
У меня есть наверно если он стоит. Просто я не могу найти сам хак. Кинь сюда весь хак, а я заменю файл и выложу в хаках.
  Ответить с цитированием
Старый 03.04.2009, 18:24 Вверх   #6
Жудчайший Тип
 
Аватар для Kernet
Kernet вне форума
Доп. информация
По умолчанию

Ошибку нашёл


PHP код:
<?php

  
/*  
    ******************************************************************************
    vB Google Search Cloud v1.0.5
    by NeutralizeR - msxlabs.org, for vBulletin Integration, in May 2008
    with the permission of Dan Fletcher to share @ vbulletin.org
    ******************************************************************************        
      Simple Search Cloud
    Written by Dan Fletcher, for buymyscripts.net, in April 2008
    This script does not have resell rights!
    You have the right to use it on your website (personal or commercial), but NOT
    to sell it, or give it away free
    ******************************************************************************
  */
  
require_once('./global.php');

class 
SearchCloud
{
    
// Varables you can set (if you want), but the defaults are fine.

    
var $m_minFont     75;   // The minimum font size. No keywords will be smaller than this. This is a %
    
var $m_maxFont     150;  // The maximum font size. No keywords will be bigger than this. This is a %
    
var $m_averageFont 100;   // The font size of an average searhced for keyword. This is a %
    
var $m_maxEntries  50;   // Maximum number of entries displayed in the cloud
    
var $m_showCount   0;    // Whether counts are shown along with each entry

    
var $m_blackList   = array();   // list of disallowed words. An example is commented out below...
    //var $m_blackList   = array("sex","boob","cheatz");   


    
function SearchCloud()
    {
    }

    function 
handlePageHit()
    {
        
$domain $_SERVER['HTTP_HOST'];
    
        
$ref $_SERVER['HTTP_REFERER'];

        
$datas parse_url($ref);
    
        
$queryValues $datas['query'];
        
$hostname $datas['host'];
    
        if (
strpos($hostname,".google."))
        {
            
parse_str($queryValues,$values);
        
            
$search=$values['q'];
            
$pageURL $this->_getURL();

            if (
strlen($search)>0)
            {
                
$this->_logHit(($search),$pageURL);        
            }
        }
    }


    function 
_getURL()
    {
        
$s = empty($_SERVER["HTTPS"]) ? ''
            
: ($_SERVER["HTTPS"] == "on") ? "s"
            
"";
        
$protocol $this->_strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s;
        
$port = ($_SERVER["SERVER_PORT"] == "80") ? ""
            
: (":".$_SERVER["SERVER_PORT"]);
        return 
$protocol."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI'];
    }
    function 
_strleft($s1$s2)
    {
        return 
substr($s10strpos($s1$s2));
    }

    function 
getMysqlReadyString($a)
    {
        
        if(
get_magic_quotes_gpc())
        {
            
$tmp stripslashes($a);
        }
        else
        {
            
$tmp $a;
        }
        return 
mysql_real_escape_string($tmp);
    }


    function 
_validKeyword($k)
    {
        if (!(
strpos($k,"site:") === FALSE))
        {
            return 
FALSE;
        }

        foreach (
$this->m_blackList as $w)
        {
            if (!(
strpos($k,$w) === FALSE))
            {
                return 
FALSE;
            }
        }


        return 
TRUE;
    }

    function 
_logHit($search,$pageURL)
    {
        global 
$vbulletin;
        
$pageURL $this->getMysqlReadyString($pageURL);
        
$search $this->getMysqlReadyString(trim($search));

        if (!
$this->_validKeyword($search))
        {
            return;
        }


        
$sql $vbulletin->db->query_read("SELECT hits FROM " TABLE_PREFIX "google_searches where kw='$search'");
        
$rec $sql or die($vbulletin->db->error());

        if (
$vbulletin->db->num_rows($rec)==0)
        {
            
$sql $vbulletin->db->query_write("INSERT into " TABLE_PREFIX "google_searches VALUES ('$search','$pageURL',1)");
            
$rec $sql or die($vbulletin->db->error());
        }
        else
        {
            
$datas $vbulletin->db->fetch_row($rec);
            
$count $datas[0];
            
$count++;
            
$sql $vbulletin->db->query_write("UPDATE " TABLE_PREFIX "google_searches set url='$pageURL',hits=$count where kw='$search'");
            
$rec $sql or die($vbulletin->db->error());
        }

    }


    function 
showCloud()
    {
        global 
$vbulletin;
        
$maxEntries $this->m_maxEntries;

        
        
$sql $vbulletin->db->query_read("SELECT * FROM " TABLE_PREFIX "google_searches order by hits DESC limit $maxEntries");
        
$rec $sql or die($vbulletin->db->error());

        
$numRows $vbulletin->db->num_rows($rec);
        if (
$numRows == 0)
        {
            return;
        }

        while (
$datas $vbulletin->db->fetch_array($rec))
        {
            
$d[] = $datas;
        }


        
$minFont=$this->m_minFont;
        
$maxFont=$this->m_maxFont;
        
$averageFont=$this->m_averageFont;

        
usort($d,_cmpKw);


        
$count=0;
        foreach (
$d as $datas)
        {
            
$sum += $datas['hits'];
            
$count++;
        }

        if (
$count == 0)
        {
            
$avg 1;
        }
        else
        {
            
$avg $sum $count;
        }


        foreach (
$d as $datas)
        {
            if (!
$this->_validKeyword($datas['kw']))
            {
                continue;
            }

            
$a $datas['hits'] / $avg;

            
$fontSize ceil($a $averageFont);

            if (
$fontSize $minFont)
            {
                
$fontSize $minFont;
            }
            if (
$fontSize $maxFont)
            {
                
$fontSize $maxFont;
            }
          
            if (
$this->m_showCount)
            {
                
$countText "<span style='font-size:$minFont%'>$datas[hits]</span>";
            }
            else
            {
                
$countText "";
            }
            
$temp=iconv("UTF-8""Windows-1251"$datas[kw]);
            if(
strlen($temp)>1){
            
$datas[kw] = $temp;
            }
            
// Google likes bolded keywords, so we bold the most important ones...
            
if ($a 0.8)
            {
                echo 
" <b><a href='$datas[url]' style='font-size:$fontSize%'>$datas[kw]</a></b> $countText \n";
            }
            else
            {
                echo 
" <a href='$datas[url]' style='font-size:$fontSize%'>$datas[kw]</a> $countText \n";
            }
        }        
    }
};

function 
_cmpKw($a,$b)
{
    return 
strcmp($a['kw'],$b['kw']);
}

?>
Открыли свой search_cloud.php, удалить всё что там есть и поставить это.
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Вопрос] Вопрос по хаку [AJAX] Live Search r13t vBulletin 3.х 44 05.04.2012 14:52
Отображение видео на форуме fert4fg vBulletin 3.х 13 10.02.2011 17:50
[Вопрос] Отображение разделов Dem{0} vBulletin 3.х 4 22.01.2011 22:54
Отображение разделов Bahok vBulletin 3.х 3 19.01.2011 22:50


Текущее время: 21:00. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
 

Время генерации страницы 0.19817 секунды с 14 запросами