日記会員名簿 Ver4の追加コード(1)
[code]
userLinks = function(o,user,oid,no){
var peclat = "http://nancyan.main.jp/eclat/";
var io = "http://nancyan.main.jp/nancyan/io.php?uri=";
var eclat = "http://www.eclat.cc";
var calen = eclat + "/home/yadokari/main.html?diary=";

var str = "\x3cdiv class='links-1'>\x3cdiv class='links-oid'>" + oid + "@eclat\x3c/div>" +
"\x3ca class='cmd' href='javascript:userLinksClose(\"" + user + "\")'>close\x3c/a>";

str += "\x3c/div>\x3cdiv class='links-2'>";
var s1 = "\x3ca target='_blank' href='";
var a = s1 + eclat + "/home/" + oid + "/";
var b = s1 + eclat + "/cgi-bin/";
var c = s1 + eclat + "/home/yadokari/main.html?diary=";
str += "標準のリンク\x3cbr />";
var s =
a + "'>home\x3c/a> | " +
a + "main.html'>Main\x3c/a> | " +
a + "menu.html'>Menu\x3c/a> | " +
a + "profile.html'>Profile\x3c/a> | " +
a + "links.html'>Links\x3c/a> | " +
a + "friends.html'>Friends\x3c/a> | " +
a + "diary/'>Diary(Top)\x3c/a> | " +
a + "diary/menu.html'>Diary(menu)\x3c/a>\x3cbr />" +
b + "diary.cgi?oid=" + oid + ";n=20'>Diary(cgi)\x3c/a> | " +
b + "bbs.cgi?oid=" + oid + ";n=20'>BBS\x3c/a> | " +
b + "footprint.cgi?oid=" + oid + "'>Footprint\x3c/a>\x3cbr />";


str += s + "\x3cbr>io.phpのリンク\x3cbr />";
str += s.replace(/href='http:\/\/www\.eclat\.cc/g, "href='http://nancyan.main.jp/nancyan/io.php?uri=");
str += "\x3cbr />";
str += "calenのリンク\x3c/br />";
str += c + "175885&user=" + oid + "'>日記の索引\x3c/>\x3cbr />\x3cbr clear='all'/>";
str += "\x3c/div>";

var c = Fx[user];
c.className = "links";
echo(c, str);
var d = Fid(o).nextSibling;
d.parentNode.insertBefore(c,d);
Fx[user] = c;

};

userLinksClose = function(user){
var o = Fx[user];
o.className = "links-info";
o.parentNode.insertBefore(o, o.parentNode.firstChild);
echo(o, "done");
};

allEntry = function(){
iniCnt = 0;
allFg = true;
allExec();
};
allExec = function(){
if(iniCnt < iniDat.length){
entry(iniDat[iniCnt]);
}
};
echolist = function(s){
userDat = userDat.replace(/ \d\d(\d\d) (\d\d\/\d\d) /g, " $1/$2 ");
echo("ioDisp", userDat);
};
btnEntry = function(){
var user = echo("us");
if(user == "") retrun;
entry(user);
};
entry = function(s){
user = s;
userDat = user;
Fx.e("/cgi-bin/footprint.cgi?oid=" + user ,"e1");
};
Lo.e1 = function(s){
var s1 = s.match(/総アクセス数: (\d+) HIT \(since (\d+ \d+\/\d+) \d+:\d+\)/) ? " " + RegExp.$2 + " " + RegExp.$1 : "- -";
if(s1 == "- -"){
nonUser += user + " "; echo("txt4", nonUser);
if(allFg){
++iniCnt;
allExec();
}
} else {
userDat += s1 + " " + (s.match(/\x3ctd class="date">(\d+ \d+\/\d+) \d+:\d+/) ? RegExp.$1 : "-");
echolist();
Fx.e("/cgi-bin/diary.cgi?oid=" + user +";n=1","e2");
}
};
Lo.e2 = function(s){
userDat += " " + (s.match(/全カテゴリ \((\d+) 件\)/) ? RegExp.$1 : "-");
var num = RegExp.$1;
if(num != "0"){
userDat += " " + (s.match(/\x3cdiv class="link" id="categories"/) ? "+" : "/");
var str = s.replace(/.+\x3cdiv( class="link" | )id="categories"(.+?)\x3c\/ul>.+/,"$2");
var re = str.match(/c=\d+/g);
str = re.join(","); str = str.replace(/c=/g, ""); userDat += " " + str;

if(s.match(/entry C\d+" id="A(\d+)">[\t\s]+\x3cdiv class="entry_date">(\d+ \d+\/\d+)/)){
userDat += " " + RegExp.$1 + " " + RegExp.$2;
}
echolist();
if(num != "1"){
str = s.replace(/^(.+).+div class="link" id="categories".+/,"$1");
var yy = 0, mm = 0;
if(str.match(/title="(\d+)年(\d+)月の記事">\d+\x3c\/a>[\t\s]*\x3c\/li>[\t\s]*\x3c\/ul>/)){
yy = RegExp.$1; mm = RegExp.$2;
}
var isM1 = mm == "01";
Fx.e("/home/" + user + "/diary/" + yy + "/" + (isM1 ? "01/" : ""), "e3");
} else {
userDat += " - -"; echolist(); entry2();
}
} else {
userDat += " - - - - - -";
echolist(); entry2();
}
};
Lo.e3 = function(s){
var str = s.replace(/^.+\x3c!\-\-ARTICLE/g, "");
userDat += " " + (str.match(/id="(\d+)"/) ? RegExp.$1 : "-");
userDat += " " + (str.match(/(\d{4} \d+\/\d+) \d\d:\d\d/) ? RegExp.$1 : "-");
echolist(); entry2();
};

entry2 = function(){
Fx.e("/cgi-bin/bbs.cgi?oid=" + user + ";n=1", "e5");
};
Lo.e5 = function(s){
userDat += " " + (s.match(/過去の記事 \(総件数: (\d+) 件\)/) ? RegExp.$1 : "-");
userDat += " " + (s.match(/\x3cspan class="post_time">(\d+ \d+\/\d+)/) ? RegExp.$1 : "-");
userDat += " " + (s.match(/no="(\d+)"\-\->/) ? RegExp.$1 : "-");
echolist();
Fx.e("/home/" + user + "/menu.html", "e6");
};
Lo.e6 = function(s){
fgEntry(s);
Fx.e("/home/" + user + "/main.html", "e7");
}
Lo.e7 = function(s){
fgEntry(s);
if(allFg){
fullDat += userDat + "\n"; echo("txt2", fullDat);
actUser += user + " "; echo("txt3", actUser);
++iniCnt;
setTimeout("allExec()", 1500);
}
};

fgEntry = function(s){
var str = s.replace(/^.+\x3cbody onload="/, "");
var fg = 0;
if(str.match(/\x3cscript/i)) fg += 1;
if(str.match(/\x3ciframe/i)) fg += 2;
userDat += " " + fg;
echolist();
};

dataUpDate = function(no,type){
var str = ""; var str2 = "";
var a,b;
var re = [];
var len = listDat.length;
for(var i = 0; i < len; i++){
var o = listDat[i];
o = o.replace(/^.+:::/, "").replace(/u(\d+):(\d)/, "$2 $1");
o = o.split(" ");
a = o[0].charAt(0);
fileNo = a < "k" ? 1 : a > "r" ? 3 : 2;
if(type){
if(fileNo != no) continue;
} else {
if(Number(o[16]) != no) continue;
}

var fg = 0;
if(o[5] == "/") fg = 4;
o[5] = transDat[o[0]] || "0";

if(Number(o[11]) - Number(o[13]) != 1) fg += 32;
o[13] = o[14]; o[14] = o[15];
o[15] = Number(o[13]) + Number(o[14]) * 8 + fg;
o[16] = Number(o[16]) * 8 + fileNo;
str2 += o.join(" ") + "\n";
var re = "033322233332300112";
o = o.join(" ");
o = o.split(" ");
var s1 = o[0] + ":";
for(var j = 1; j < o.length; j++){
var n = Number(re.charAt(j));
if(n == 0) continue;
var s = o[j];
if(s.match("-")){ s1 += "?"; continue; }
if(j == 6){ s1 += txsEnc(s);continue; }
if(s.match('/')){ s1 += dtEnc(s);continue; }
s = nsEnc(s);
if(s == "0") s1 += "_";
else {
if(s.length > n) s1 += "*" + s;
else s1 += ("000" + s).slice(-n);
}
}
str += s1 + "\n";
}
str = str.replace(/^\s+|\s+$/g,"");
str2 = str2.replace(/^\s+|\s+$/g,"");
str2 = str2.replace(/(\d\d)\/(\d\d\/\d\d)/g, function(e0,e1,e2){ return (e1 == "99" ? "19" : "20") + e1 + "/" + e2;});
echo("user" + no + "list",
(type ? "File" : "List") + no + "のデータ解析 : " + str.split("\n").length + "\x3cbr />" +
"置換後 : " + str.length +
("\x3cbr />\x3ctextarea cols='80' rows='8' class='area1' id='enc" + no + "'>" + str + "\x3c/textarea>\x3cbr />") +
"置換前 : " + str2.length + " \x3cbutton onclick='recDec(" + no + ")'>復元\x3c/button> \x3cspan id='recInfo" + no + "'>\x3c/span>\x3cbr />" +
("\x3ctextarea cols='80' rows='8' class='area2' id='dec" + no + "'>" + str2 + "\x3c/textarea>"));
};

rec1Dec = function(s){
var re = [3,3,3,2,2,2,3,3,3,3,2,3,1,1,2];
var a = s.split(":");
var str = a[0] + " ";
a = a[1];
for(var j = 0; j < re.length; j++){
var b = a.charAt(0);
if(b == "?"){ str += "- "; a = a.substr(1); continue; }
if(j == 0 || j == 2 || j == 7 || j == 9 || j == 11){
str += dtDec(a.substr(0,3)) + " "; a = a.substr(3); continue;
}
if(j == 5){
var c = txsDec(a);
str += c[0] + " "; a = c[1]; continue;
}
if(j == 12){
var c = nsDec(a.charAt(0)) - 0;
if(c == 47) c = 0;
str += (c % 4) + " " + (Math.floor(c / 8) % 4) + " " + c + " ";
a = a.substr(1); continue;
}
if(b == "_"){ str += "0 "; a = a.substr(1); continue; }
if(b == "*"){ str += nsDec(a.substr(1, re[j] + 1)) + " "; a = a.substr(re[j] + 2); }
else { str += nsDec(a.substr(0, re[j])) + " "; a = a.substr(re[j]); }
}
return str.replace(/\s+$/g, "");
};




recDec = function(no){

var s1 = echo("enc" + no), s2 = echo("dec" + no);
var o = s1.split("\n");
var re = [3,3,3,2,2,2,3,3,3,3,2,3,1,1,2];
var str = "";
for(var i = 0; i < o.length; i++){

var a = o[i].split(":");
str += a[0] + " ";
a = a[1];
for(var j = 0; j < re.length; j++){
var b = a.charAt(0);
if(b == "?"){ str += "- "; a = a.substr(1); continue; }
if(j == 0 || j == 2 || j == 7 || j == 9 || j == 11){
str += dtDec(a.substr(0,3)) + " "; a = a.substr(3); continue;
}
if(j == 5){
var c = txsDec(a);
str += c[0] + " "; a = c[1]; continue;
}
if(j == 12){
var c = nsDec(a.charAt(0)) - 0;
if(c == 47) c = 0;
str += (c % 4) + " " + (Math.floor(c / 8) % 4) + " " + c + " ";
a = a.substr(1); continue;
}
if(b == "_"){ str += "0 "; a = a.substr(1); continue; }
if(b == "*"){ str += nsDec(a.substr(1, re[j] + 1)) + " "; a = a.substr(re[j] + 2); }
else { str += nsDec(a.substr(0, re[j])) + " "; a = a.substr(re[j]); }
}
str += "\n";
}
echo("dec" + no, str);
};

nsEntry = function(fg){
var o = Fid(fg ? "tx1" : "tx2");
var ds = echo(o);
if(fg && !ds.match(/^[0-9]+$/) || !fg && !ds.match(/^[0-9a-zA-Z\-\.]+$/)){
o.focus(); o.select(); return;
}
echo(fg ? "tx2" : "tx1", fg ? nsEnc(ds) : nsDec(ds));
};
nsCls = function(){ echo("tx1", ""); echo("tx2", ""); };
dtCls = function(){ echo("tx3", ""); echo("tx4", ""); };
nsEnc = function(n){
var ns = n - 0, s = "";
do {
n = ns % 64
s = String.fromCharCode(n + (n>35 && n<62 ? 61 : n>9 && n<37 ? 55 : n>61 && n<64 ? -17 : 48)) + s;
ns = Math.floor(ns / 64);
} while( ns > 0);
return s;
}

nsDec = function(s){
var a,n;
var ns = 0;
for(var i = 0, ns = 0; i < s.length; i++){
a = s.charAt(i);
n = a.charCodeAt(0) - (a.match(/[a-z]/) ? 61 : a.match(/[A-Z]/) ? 55 : a.match(/[\-\.]/) ? -17 : 48);
ns += i < s.length - 1 ? n * Math.pow(64, s.length - i - 1) : n;
}
return ns;
};
dtEntry = function(fg){
var o = Fid(fg ? "tx3" : "tx4");
var ds = echo(o);
if(fg && !ds.match(/^[0-9\/\s]+$/) || !fg && !ds.match(/^[0-9a-zA-Z\-\.]+$/)){
o.focus(); o.select(); return;
}
echo(fg ? "tx4" : "tx3", fg ? dtEnc(ds) : dtDec(ds));
};
dtEnc = function(s){
if(s.match(/^(\d?\d?)(\d\d)(\/|\s)(\d\d?)\/(\d\d?)$/)){
var s = nsEnc(RegExp.$4) + nsEnc(RegExp.$5), e1 = RegExp.$1, e2 = RegExp.$2 - 0;
if(e1 == "19" || e2 > 68) e2 = 132 - e2;
s = nsEnc(e2) + "" + s;
}
return s;
};

dtDec = function(s){
var ns = "";
if(s.match(/^(.*?)(.)(.)$/)){
var e1 = RegExp.$1, e2 = RegExp.$2, e3 = RegExp.$3;
ns = ("0" + nsDec(e2)).slice(-2) + "/" + ("0" + nsDec(e3)).slice(-2);
e1 = nsDec(e1);

ns = (e1 > 31 ? "19" : 20) + ("0" + (e1 > 31 ? 132 - e1 : e1)).slice(-2) + "/" + ns;
}
return ns;
};
ch1Entry = function(o, n){
var ns = echo("ch1Disp") - 0;
ns += o.checked ? n : -n;
echo("ch1Disp", ns); echo("ch2Disp", nsEnc(ns));
echo("ch3Disp", ns % 4); echo("ch4Disp", Math.floor(ns / 8) % 4);
echo("ch5Disp", ns > 31 ? "true" : "false");
Fid("tr11").className = ns > 31 ? "act4" : "";
Fid("dataTable").className = ns % 8 > 3 ? "nsSleep" : "";
};
txsEnc = function(s){
var o = s.split(",");
var n = o.length;
if(n == 1){
var str = s == "1" ? "_" : ("0" + nsEnc(s)).slice(-2);
} else {
var str = "+" + nsEnc(n);
for(var i = 0; i < n; i++){
str += o[i] == "1" ? "_" : ("0" + nsEnc(o[i])).slice(-2);
}
}
return str;
};

txsDec = function(s){
var a = s.charAt(0), b = s.substr(1);
if(a == "?") return [ "?", b ];
if(a == "_") return [ "1", b ];
if(a == "+"){
var ns = nsDec(s.charAt(1));
s = s.substr(2);
var str = "";
for(var i = 0; i < ns; i ++){
var b = s.charAt(0);
if(b == "_"){ str += "1,"; s = s.substr(1); continue; }
str += nsDec(s.substr(0,2)) + ","; s = s.substr(2);
}
return [ str.replace(/\,$/, ""), s ];
}
return [ nsDec(s.substr(0,2)), s.substr(2) ];
};
txsCls = function(){ echo("txs1", ""); echo("txs2", ""); echo("txsInfo", ""); };
txsEntry = function(fg){
var s = echo(fg ? "txs1" : "txs2").replace(/\n|\s/g, "");
if(s == "") return;
var str = fg ? txsEnc(s) : txsDec(s)[0];
echo(fg ? "txs2" : "txs1", str);
};

[/code]