Zeratul
Создатель
- Регистрация
- 17 Мар 2006
- Сообщения
- 1.321
- Реакции
- 5.595
- Автор темы
- #1
В общем вот и пощёл "финальный отсчёт" до релиза версии 2.9..
Мне уже "улыбается" весь код скрипта.. есть дефекты, но это всё правится руками и достаточно быстро...
Файлик js.php:
Итак релиз готовится, и будет в ближайшее време(я надеюсь) - посмотрим что разработчики для меня приготовили, хотя сомневаюсь что будет сложно.
Ждите...
Релиз уже в пути..
Мне уже "улыбается" весь код скрипта.. есть дефекты, но это всё правится руками и достаточно быстро...
Файлик 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);"><< \'+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]+\' >></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)+\'"> </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)+\'"> </td>\';
d+=\'</tr></table>\';
if (e) e.innerHTML=d;
}
';
?>
Итак релиз готовится, и будет в ближайшее време(я надеюсь) - посмотрим что разработчики для меня приготовили, хотя сомневаюсь что будет сложно.
Ждите...
Релиз уже в пути..