CNStats 2.9 - Финальный отсчёт!

Тема в разделе "CNStats", создана пользователем Zeratul, 10 ноя 2006.

Статус темы:
Закрыта.
  1. Zeratul

    Zeratul Создатель

    Регистр.:
    17 мар 2006
    Сообщения:
    1.322
    Симпатии:
    3.857
    В общем вот и пощёл "финальный отсчёт" до релиза версии 2.9..
    Мне уже "улыбается" весь код скрипта.. есть дефекты, но это всё правится руками и достаточно быстро...

    Файлик js.php:
    PHP:
    <?
      
    error_reporting (E_ALL & ~E_NOTICE);
      
    $LANG = array ();
      include 
    'lang/lang_english.php';
      
    $eh $_GET['language'];
      if (
    ereg ('[a-zA-Z]*'$eh))
      {
        if (
    is_file ('lang/lang_' $eh '.php'))
        {
          include 
    'lang/lang_' $eh '.php';
        }
      }

      if (
    is_file ('./manual/context_' $z['language'] . '.htm'))
      {
        
    $z['context help'] = './manual/context_' $z['language'] . '.htm';
      }
      else
      {
        
    $z['context help'] = './manual/context.htm';
      }

      echo 
    'var JS=Array();
    '
    ;
      echo 
    'JS[\'context help\']=\'' $z['context help'] . '\';
    '
    ;
      echo 
    'JS[\'js_filter notitle\']=\'' $LANG['js_filter notitle'] . '\';
    '
    ;
      echo 
    'JS[\'js_filter longtitle\']=\'' $LANG['js_filter longtitle'] . '\';
    '
    ;
      echo 
    'JS[\'js_filter field\']=\'' $LANG['js_filter field'] . '\';
    '
    ;
      echo 
    'JS[\'js_filter referer\']=\'' $LANG['js_filter referer'] . '\';
    '
    ;
      echo 
    'JS[\'js_filter page\']=\'' $LANG['js_filter page'] . '\';
    '
    ;
      echo 
    'JS[\'js_filter accept-language\']=\'' $LANG['js_filter accept-language'] . '\';
    '
    ;
      echo 
    'JS[\'js_filter user_agent\']=\'' $LANG['js_filter user_agent'] . '\';
    '
    ;
      echo 
    'JS[\'js_filter pagetitle\']=\'' $LANG['js_filter pagetitle'] . '\';
    '
    ;
      echo 
    'JS[\'js_filter proxy\']=\'' $LANG['js_filter proxy'] . '\';
    '
    ;
      echo 
    'JS[\'log_ip\']=\'' $LANG['log_ip'] . '\';
    '
    ;
      echo 
    'JS[\'js_filter mustbe\']=\'' $LANG['js_filter mustbe'] . '\';
    '
    ;
      echo 
    'JS[\'js pleasewait\']=\'' $LANG['js pleasewait'] . '\';
    '
    ;
      echo 
    'var month=' $LANG['js months'] . ';
    '
    ;
      echo 
    '
    function context_help(topic) {
        wnd=window.open(JS[\'context help\']+\'#\'+topic,\'context_help\',\'resizable=yes,scrollbars=yes,menubar=no,toolbar=no,status=no,width=600,height=260,screenX=200,screenY=200,top=200,left=200\');
        if (wnd) wnd.focus();
        return(false);
        }

    function letter(n) {
        if (n<10) return(n);
        else if (n==10) return(\'A\');
        else if (n==11) return(\'B\');
        else if (n==12) return(\'C\');
        else if (n==13) return(\'D\');
        else if (n==14) return(\'E\');
        else return(\'F\');
        }

    function hex(n) {
        var n1=n&0x0F;
        var n2=(n>>4)&0x0F;
        return((\'%\'+letter(n2))+letter(n1));
        }

    function urlencode(iurl) {
        var url=\'\';

        for (i=0;i<iurl.length;i++) {
            var code=iurl.charCodeAt(i);
            if ((code>=97 && code<=122) || (code>=65 && code<=90)) url+=iurl.charAt(i);
            else if (code<256) url+=hex(code);
            else if (code>=1072 && code<=1103) url+=hex(code-1072+224);
            else if (code>=1040 && code<=1071) url+=hex(code-1040+192);
            else if (code>=1105) url+=hex(184);
            else if (code>=1025) url+=hex(168);
            }

        return(url);
        }

    function ButtonT(title) {
        var el=document.getElementById(\'fbutton\');
        el.value=title;
        }

    // Включение-выключение контролов
    function Disable(el_id) {
        var el=document.getElementById(el_id);
        el.disabled=true;
        }

    function Enable(el_id) {
        var el=document.getElementById(el_id);
        el.disabled=false;
        }

    function Check(el_id) {
        var el=document.getElementById(el_id);
        el.checked=true;
        }

    var global_response;
    var fp_title;
    var fp_stm;
    var fp_ftm;
    var fp_report;
    var fp_jump;

    function filter_process(stm,ftm) {
        var eth1=document.getElementById(\'fh_1\');
        var eth2=document.getElementById(\'fh_2\');

        title=\'$$$\';
        var z=document.getElementById(\'ftype2\');
        if (z.checked) {
            var z=document.getElementById(\'ftitle\');
            title=z.value;
            if (title.length==0) {alert(JS[\'js_filter notitle\']);return;}
            if (title.length>200) {alert(JS[\'js_filter longtitle\']);return;}
            }

        var z=document.getElementById(\'fsave2\');
        var jump=false;
        var report=\'\';
        if (z.checked) {
            var z=document.getElementById(\'freport\');
            report=z.value;
            jump=true;
            }

        fp_title=title;
        fp_stm=stm;
        fp_ftm=ftm;
        fp_jump=jump;
        fp_report=report;
        openurl(\'index.php?st=filters&action=fastsave&title=\'+urlencode(title)+\'&field=\'+eth1.value+\'&value=\'+urlencode(eth2.value)+\'&nowrap=1\',0);

        setTimeout(\'filter_process1();\', 100);
        }

    function filter_process1(jump,stm,ftm,report,title) {
        if (global_response.length < 2) setTimeout(\'filter_process1();\', 100);
        else {
            if (fp_jump) document.location=\'index.php?st=\'+fp_report+\'&stm=\'+fp_stm+\'&ftm=\'+fp_ftm+\'&filter=\'+escape(fp_title);
            filter_close();
            }
        }

    function filter_close() {
        var DivRef=document.getElementById(\'filter_div\');
        var IfrRef=document.getElementById(\'filter_iframe\');
        DivRef.style.display=\'none\';
        IfrRef.style.display=\'none\';
        }

    function verNumIE() {
        var brVer = navigator.userAgent;
        var brVerId = brVer.indexOf(\'MSIE \');
        brNum = brVer.substr(brVerId+5,8);
        return(parseInt(brNum));
        }

    function toggleDisplay(div,iframe) {

        var DivRef=document.getElementById(div);
        if (DivRef.style.display!=\'none\') return

        var IfrRef=document.getElementById(iframe);

        var posx=100;
        var posy=100;

        if (document.body.offsetWidth && document.body.offsetHeight) {
            posx=(document.body.offsetWidth-300)/2;
            posy=(document.body.offsetHeight-372)/2+document.body.scrollTop;
            }
        if (window.innerWidth && window.innerHeight) {
            posx=(window.innerWidth-300)/2;
            posy=(window.innerHeight-372)/2+document.body.scrollTop;
            }

        iframe=false;
        if (navigator.appName==\'Microsoft Internet Explorer\') if (verNumIE()>5) iframe=true;
        if (navigator.appName==\'Netscape\' && parseInt(navigator.appVersion)>4) iframe=true;

        DivRef.style.top=posy;
        DivRef.style.left=posx;

        if (iframe) {
            IfrRef.style.top=posy;
            IfrRef.style.left=posx;
            }

        DivRef.style.display=\'block\';
        if (iframe) {
            IfrRef.style.width=DivRef.offsetWidth;
            IfrRef.style.height=DivRef.offsetHeight;
            IfrRef.style.zIndex=DivRef.style.zIndex-1;
            IfrRef.style.display=\'block\';
            }
        }

    function ShowFilter(field,value,report) {
        var eth1=document.getElementById(\'fh_1\');
        var eth2=document.getElementById(\'fh_2\');
        eth1.value=field;
        eth2.value=value;

        var DivDesc=document.getElementById(\'fdescription\');
        if (!DivDesc) return;

        var showvalue=value;

        if (field==\'title\') {
            showvalue=showvalue.replace(/\\\\/g,\'\');
            showvalue=showvalue.replace(/—/g,\'—\');
            }

        var t=JS[\'js_filter field\'];
        if (field==\'referer\') t+=JS[\'js_filter referer\'];
        if (field==\'page\') t+=JS[\'js_filter page\'];
        if (field==\'lang\') t+=JS[\'js_filter accept-language\'];
        if (field==\'agent\') t+=JS[\'js_filter user_agent\'];
        if (field==\'proxy\') t+=JS[\'js_filter proxy\'];
        if (field==\'title\') t+=JS[\'js_filter pagetitle\'];
        if (field==\'ip\') t+=JS[\'log_ip\'];
        t+=JS[\'js_filter mustbe\'];
        t+=showvalue;
        t+=\'"\';

        DivDesc.value=t;

        var DivRep=document.getElementById(\'freport\');
        for (i=0;i < DivRep.options.length;i++)
            if (DivRep.options[i].value==report) DivRep.selectedIndex=i;

        toggleDisplay(\'filter_div\',\'filter_iframe\');
        }

    function SetCookie(cookieName, cookieVal) {
        var exp=new Date();
        exp.setTime(exp.getTime()+(365*24*60*60*1000));

        document.cookie=cookieName+\'=\'+cookieVal+\'; expires=\'+exp.toGMTString();
        }

    function GetCookie(cookieName) {
        if(document.cookie) {
            var index=document.cookie.indexOf(cookieName);
            if (index != -1) {
                var countbegin=(document.cookie.indexOf(cookieName+\'=\', index) + 1);
                var countend=document.cookie.indexOf(\';\', index);
                if (countend == -1) {
                    countend=document.cookie.length;
                    }
                return document.cookie.substring(countbegin + cookieName.length, countend);
                }
            }
        return null;
        }

    function ptable_ex(idpostfix) {
        var t=document.getElementById(\'t\'+idpostfix);
        var i=document.getElementById(\'i\'+idpostfix);
        if (t.className==\'vis1\') {
            t.className=\'vis2\';
            SetCookie(\'cnstats_\'+idpostfix,\'hidden\');
            i.src=\'img.php?expand.gif\';
            }
        else {
            t.className=\'vis1\';
            SetCookie(\'cnstats_\'+idpostfix,\'visible\');
            i.src=\'img.php?colapse.gif\';
            }
        }

    /* Expanded Elements */
    var processed=false;

    function getXMLObject() {
      var A=null;
      try {
        A=new ActiveXObject(\'Msxml2.XMLHTTP\')
        }
      catch(e) {
        try {
          A=new ActiveXObject(\'Microsoft.XMLHTTP\')
          }
        catch(oc) {
          A=null
          }
        }
      if (!A && typeof XMLHttpRequest!=\'undefined\') {
        A=new XMLHttpRequest()
        }
      return A
      }

    function openurl(url,o) {
      global_response=\'\';
      k=getXMLObject();
      if(k) {
        var rndnum=Math.round(Math.random() * 999111);
        k.open(\'GET\',url+\'&rnd=\'+rndnum,true);
        k.onreadystatechange=function() {
          if(k.readyState==4&&k.responseText) {
            if (o) o.innerHTML=k.responseText;
            else global_response=k.responseText
            processed=false;
            }
          }
        k.send(null);
        }
      }

    function Expand(url,num) {
      if (processed) return;

      k=getXMLObject();
      if (!k) return;

      var o=document.getElementById(\'e\'+num);
      o.innerHTML=\'<center style="color:#C0C0C0;">\'+JS[\'js pleasewait\']+\'</center>\';

      if (o.className==\'block_u\') {
        processed=true;
        o.className=\'block_v\';
        openurl(url,o);
        }
      else o.className=\'block_u\';
      }

    function IsLeapYear(Year) {
        return ((Year % 4) == 0) && (((Year % 100) != 0) || ((Year % 400) == 0))
        }

    function CalendarSD(y,m,d,input,div) {
        var ed=document.getElementById(input);
        var e=document.getElementById(div);

        if (!ed || !e) return;

        if (m<10) m=\'0\'+(m+\'-\'); else m+=\'-\';
        if (d<10) d=\'0\'+(d+\' \'); else d+=\' \';

        if (input==\'date2\') hours=\'23:59:59\'; else hours=\'00:00:00\';
        ed.value=y+\'-\'+m+d+hours;
        e.style.visibility=\'hidden\';
        }

    function ShowCalendarE(div, input, nohide) {
        var el=document.getElementById(input);
        y=parseInt(el.value.substring(0,4));
        m=el.value.substring(5,7);
        if (m=="01") m=1;if (m=="02") m=2;if (m=="03") m=3;
        if (m=="04") m=4;if (m=="05") m=5;if (m=="06") m=6;
        if (m=="07") m=7;if (m=="08") m=8;if (m=="09") m=9;

        ShowCalendar(y,m,div, input, nohide);
        }

    function ShowCalendar(y,m,div, input, nohide) {
        var mdays_noleap=Array(31,28,31,30,31,30,31,31,30,31,30,31);
        var mdays_leap=Array(31,29,31,30,31,30,31,31,30,31,30,31);

        var e=document.getElementById(div);
        if (!e) return;

        var el=document.getElementById(input);
        day=parseInt(el.value.substring(8,10));

        if (nohide==0) if (e.style.visibility==\'visible\') {e.style.visibility=\'hidden\';return;}

        if (e.style.width!=\'150px\') {
            e.style.left=e.offsetLeft-35;
            e.style.width=\'150px\';
            }
        e.style.visibility=\'visible\';

        if (IsLeapYear(y)) mdays=mdays_noleap; else mdays=mdays_leap;

        var d=\'\';
        var fday=new Date(y,m-1,1);
        var dow=fday.getDay();

        if (dow==0) dow=7;

        m=parseInt(m);
        if (m==12) {mn=1;yn=y+1;} else {mn=m+1;yn=y;}
        if (m== 1) {mp=12;yp=y-1;} else {mp=m-1;yp=y;}

        d+=\'<table border=0 cellspacing=1 cellpadding=3 width="100%"><tr class="tbl0">\';
        d+=\'<td><a href="javascript:ShowCalendar(\'+yp+\',\'+mp+\',\\\'\'+div+\'\\\',\\\'\'+input+\'\\\',1);">&lt;&lt; \'+month[mp-1]+\'</a></td>\';
        d+=\'<td>\'+month[m-1]+\' \'+y+\'</td>\';
        d+=\'<td><a href="javascript:ShowCalendar(\'+yn+\',\'+mn+\',\\\'\'+div+\'\\\',\\\'\'+input+\'\\\',1);">\'+month[mn-1]+\' &gt;&gt;</a></td>\';
        d+=\'</tr></table>\';

        d+=\'<table border=0 cellspacing=1 cellpadding=3 width="100%"><tr class="tbl1">\';
        if (dow!=1) d+=\'<td colspan="\'+(dow-1)+\'">&nbsp;</td>\'
        var i=1;
        do {
            if (i==day) style=\'class="tbl0" style="border:solid 1px #34783E;cursor:hand;"\'; else style=\'style="cursor:hand;"\';
            d+=\'<td align="right" \'+style+\' onClick="CalendarSD(\'+y+\',\'+m+\',\'+i+\',\\\'\'+input+\'\\\',\\\'\'+div+\'\\\');"><a href="javascript:CalendarSD(\'+y+\',\'+m+\',\'+i+\',\\\'\'+input+\'\\\',\\\'\'+div+\'\\\');">\'+i+"</a></td>";
            i++;
            dow++;
            if (dow>7) {d+=\'</tr>\\n<tr class="tbl1">\';dow=1;}
            } while (i<=mdays[m-1]);

        if (dow!=0) d+=\'<td colspan="\'+(8-dow)+\'">&nbsp;</td>\';

        d+=\'</tr></table>\';

        if (e) e.innerHTML=d;
        }
    '
    ;
    ?>
    Итак релиз готовится, и будет в ближайшее време(я надеюсь) - посмотрим что разработчики для меня приготовили, хотя сомневаюсь что будет сложно.
    Ждите...

    Релиз уже в пути.. ;)
     
    Tiox, Polyaxe, Rabik и 14 другим нравится это.
  2. RuiG

    RuiG Создатель

    Регистр.:
    8 ноя 2006
    Сообщения:
    17
    Симпатии:
    1
    надо уже начинать с версии 2.10
    на неофф форуме уже вовсю их клиенты тестят!
    P.S. ttp://www.cnstats.ru/showthread.php?t=36
     
  3. Zeratul

    Zeratul Создатель

    Регистр.:
    17 мар 2006
    Сообщения:
    1.322
    Симпатии:
    3.857
    Пока занулим стабильную версию системы..
    Остальные тоже занулим. :)

    Так раззенд делать не очень просто поэтому я пока копаю 2.9
     
  4. Zeratul

    Zeratul Создатель

    Регистр.:
    17 мар 2006
    Сообщения:
    1.322
    Симпатии:
    3.857
    Первая nulled версия =)

    В общем уже сделал нуль скрипта..
    Сейчас есть вполне работающая, не стучащая никуда версия.. почти все файлы в зенде.:)

    Те что не в зенде(но в них ничего страшного нет) нужно дебажить..
    Выйду в асю - буду искать кто мнев этом поможет. :rolleyes:

    Если честно мне немного маразмом показалось, что они выпускают версию 2.10 :D
    Это вроде не 3.. но и не нормально..
    Хотя после того что они сделали с ценой... :mad:
     
  5. Unlimited

    Unlimited

    Регистр.:
    13 окт 2006
    Сообщения:
    156
    Симпатии:
    65
    Re: Первая nulled версия =)

    Зер, ну как там дела? скоро релиз будет?
     
  6. Zeratul

    Zeratul Создатель

    Регистр.:
    17 мар 2006
    Сообщения:
    1.322
    Симпатии:
    3.857
    Re: Первая nulled версия =)

    Сейчас идёт дебаг системы.
    Уже есть рабочая версия в зенде(но уже не требующая лицензии:-D).
    Сейчас ищу дебагеров файлов(сам не справляюсь).

    2.10 будет тогда когда разработчикки сделают финальный релиз.
     
  7. Zeratul

    Zeratul Создатель

    Регистр.:
    17 мар 2006
    Сообщения:
    1.322
    Симпатии:
    3.857
    Дебаг!

    В общем дебаг системы закончен на 70 процентов..
    Не мной, но сделан достаточно хорошо.

    Если же всё отладить не удастся, то проблемные файлы в релизе будут в зенде..

    Кто боится шеллов и всякой хрени могут сейчас скачать ретайл скрипта с офф сайта.
    Либо же залил в аттач. ;)

    Все файлы что будут в релизе в зенде.. можно просто заменить на файлы из того что дают разработчики.
     

    Вложения:

    ontop и ivo_ivan нравится это.
  8. Sanyh

    Sanyh

    Регистр.:
    20 сен 2006
    Сообщения:
    280
    Симпатии:
    13
    Re: Дебаг!

    его можно уже использовать на своем сайте? он куда нить ща стучит?
     
  9. Tonik1

    Tonik1 Постоялец

    Регистр.:
    14 апр 2006
    Сообщения:
    92
    Симпатии:
    29
    Re: Дебаг!

    простите, а какой код для регистрации вводить? или он не нужен?
     
  10. Zeratul

    Zeratul Создатель

    Регистр.:
    17 мар 2006
    Сообщения:
    1.322
    Симпатии:
    3.857
    Re: Дебаг!

    Люди это НЕ НУЛЁНЫЙ СКРИПТ..
    Выложил для тех кто боитса шеллов..

    Как будет релиз вы об этом узнаете, я уверен...
     
Статус темы:
Закрыта.