Альтернативный способ вывода чсётчика

Тема в разделе "CNStats", создана пользователем dmbltro, 19 мар 2010.

  1. dmbltro

    dmbltro Создатель

    Регистр.:
    18 фев 2010
    Сообщения:
    47
    Симпатии:
    4
    Вот чё подумал...
    Что если в конце файла cnt.php дописать строку
    PHP:
    include_once "./cnt-show.php";
    и выводить этот файл на сайте картинкой
    HTML:
    <img src="http://site/cnstats/cnt.php" alt=""/>
    ? Будет ли статистика собираться правильно и какой тип счётчика при этом надо поставить в config.php?
     
  2. Tutankhamon

    Tutankhamon Создатель

    Регистр.:
    24 июл 2007
    Сообщения:
    39
    Симпатии:
    0
    ничего собиратся не будет
     
  3. dmbltro

    dmbltro Создатель

    Регистр.:
    18 фев 2010
    Сообщения:
    47
    Симпатии:
    4
    Собираться оно собирается, но насколько правильно
     
  4. Fast3r

    Fast3r

    Регистр.:
    30 июн 2008
    Сообщения:
    329
    Симпатии:
    39
    а в чем фишка такого вывода счетчика?
     
  5. GetAway

    GetAway

    Регистр.:
    2 апр 2010
    Сообщения:
    170
    Симпатии:
    29
    Ув. товарищи вопрос следующий раньше в версиях например 3.3 можно было выводить расширенный счетчик он назывался cnt-big.php и там можно было указывать больше параметров, например посещения за неделю, месяц и тд. Кто знает как можно реализовать показ расширенной статистике на версиях старше чем 4.2? Мне нужно чтобы счетчик показывал хиты всего, хосты всего, хосты за сутки, хиты за сутки, как расширенный liveinternet.
     
  6. Antik

    Antik Постоялец

    Регистр.:
    15 сен 2006
    Сообщения:
    103
    Симпатии:
    5
    Уже описано. Вот содержание cnts-big.php :
    Код:
    <?
    error_reporting(E_ALL & ~E_NOTICE);
    include "config.php";
     
    // Эта функция позволяет определить длину строки в пикселях
    function width($text) {
        $box=imagettfbbox(7, 0, FONT_TAHOMA, $text);
        return($box[2]-$box[1]);
        }
     
    // Шрифт, который мы используем для вывода счетчика.
    // Можно взять из C:\Windows\Fonts
    define('FONT_TAHOMA', 'tahoma.ttf');
     
    // Внимание ! Изображение должно быть True-Color (24 бита)
    $im=ImageCreateFromPng("button-big.png");
     
    $CONN=@mysql_connect($STATS_CONF["sqlhost"],
                        $STATS_CONF["sqluser"],
                        $STATS_CONFs["sqlpassword"]);
     
    if (mysql_errno()==0) {
        @mysql_select_db($STATS_CONF["dbname"]);
     
        if (mysql_errno()==0) {
     
            $r=@mysql_query("SELECT t_hits,t_hosts,t_users,hits,hosts,users,u_hits FROM cns_counter");
            $res=@mysql_fetch_array($r,MYSQL_ASSOC);
            @mysql_free_result($r);
     
            $text = number_format($res["t_hits"],0,","," ");
            Imagettftext($im,7, 0, 86-width($text), 11, 0xCCCCCC, FONT_TAHOMA, $text);
            Imagettftext($im,7, 0, 85-width($text), 10, 0x03314A, FONT_TAHOMA, $text);
     
            $text = number_format($res["hits"],0,","," ");
            Imagettftext($im,7, 0, 86-width($text), 20, 0xCCCCCC, FONT_TAHOMA, $text);
            Imagettftext($im,7, 0, 85-width($text), 19, 0x0331FF, FONT_TAHOMA, $text);
     
            $text = number_format($res["t_hosts"],0,","," ");
            Imagettftext($im,7, 0, 86-width($text), 31, 0xCCCCCC, FONT_TAHOMA, $text);
            Imagettftext($im,7, 0, 85-width($text), 30, 0x03314A, FONT_TAHOMA, $text);
     
            $text = number_format($res["hosts"],0,","," ");
            Imagettftext($im,7, 0, 86-width($text), 40, 0xCCCCCC, FONT_TAHOMA, $text);
            Imagettftext($im,7, 0, 85-width($text), 39, 0x0331FF, FONT_TAHOMA, $text);
     
            $text = number_format($res["t_users"],0,","," ");
            Imagettftext($im,7, 0, 86-width($text), 51, 0xCCCCCC, FONT_TAHOMA, $text);
            Imagettftext($im,7, 0, 85-width($text), 50, 0x03314A, FONT_TAHOMA, $text);
     
            $text = number_format($res["users"],0,","," ");
            Imagettftext($im,7, 0, 86-width($text), 60, 0xCCCCCC, FONT_TAHOMA, $text);
            Imagettftext($im,7, 0, 85-width($text), 59, 0x0331FF, FONT_TAHOMA, $text);
     
            $r=mysql_query("SELECT count(DISTINCT hid) as online
                            FROM cns_log
                            WHERE date>NOW() - INTERVAL 3 MINUTE;");
            $text = mysql_result($r,0,0);
            Imagettftext($im,7, 0, 86-width($text), 70, 0xCCCCCC, FONT_TAHOMA, $text);
            Imagettftext($im,7, 0, 85-width($text), 69, 0xC0314A, FONT_TAHOMA, $text);
     
            $text = sprintf("%.2f%%",(1-$res["u_hits"]/$res["hits"])*100);
            Imagettftext($im,7, 0, 86-width($text), 82, 0xCCCCCC, FONT_TAHOMA, $text);
            Imagettftext($im,7, 0, 85-width($text), 81, 0x03804A, FONT_TAHOMA, $text);
            }
        }
    ImagePng($im);
    ImageDestroy($im);
    ?>
     
  7. GetAway

    GetAway

    Регистр.:
    2 апр 2010
    Сообщения:
    170
    Симпатии:
    29
    Ты видел что я просил? Эта код для старых версий, на 4.3 она не работает.
     
  8. Antik

    Antik Постоялец

    Регистр.:
    15 сен 2006
    Сообщения:
    103
    Симпатии:
    5
    Для переделки под новую версию требуются минимальные знания по PHP и SQL.
     
  9. GetAway

    GetAway

    Регистр.:
    2 апр 2010
    Сообщения:
    170
    Симпатии:
    29
    Вас не затруднит помочь с этим вопросом? я слабо разбираюсь в обфусцированном коде Cnstats
     
  10. Antik

    Antik Постоялец

    Регистр.:
    15 сен 2006
    Сообщения:
    103
    Симпатии:
    5
    Специально этим заниматься нет времени. Если буду делать для себя, поделюсь.