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

Статус
В этой теме нельзя размещать новые ответы.

Zeratul

Создатель
Регистрация
17 Мар 2006
Сообщения
1.321
Реакции
5.595
В общем вот и пощёл "финальный отсчёт" до релиза версии 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;
	}
';
?>

Итак релиз готовится, и будет в ближайшее време(я надеюсь) - посмотрим что разработчики для меня приготовили, хотя сомневаюсь что будет сложно.
Ждите...

Релиз уже в пути.. ;)
 
надо уже начинать с версии 2.10
на неофф форуме уже вовсю их клиенты тестят!
P.S. ttp://www.cnstats.ru/showthread.php?t=36
 
RuiG написал(а):
надо уже начинать с версии 2.10
на неофф форуме уже вовсю их клиенты тестят!
P.S. ttp://www.cnstats.ru/showthread.php?t=36
Пока занулим стабильную версию системы..
Остальные тоже занулим. :)

Так раззенд делать не очень просто поэтому я пока копаю 2.9
 
Первая nulled версия =)

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

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

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

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

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

Если честно мне немного маразмом показалось, что они выпускают версию 2.10 :D
Это вроде не 3.. но и не нормально..
Хотя после того что они сделали с ценой... :mad:
Зер, ну как там дела? скоро релиз будет?
 
Re: Первая nulled версия =)

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

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

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

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

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

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

Вложения

  • cnstats-2.9-zend.zip
    2,9 MB · Просмотры: 248
Re: Дебаг!

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

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

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

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

его можно уже использовать на своем сайте? он куда нить ща стучит?
 
Re: Дебаг!

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

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

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

Все файлы что будут в релизе в зенде.. можно просто заменить на файлы из того что дают разработчики.
простите, а какой код для регистрации вводить? или он не нужен?
 
Re: Дебаг!

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

Как будет релиз вы об этом узнаете, я уверен...
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху