日記会員名簿 Ver4の追加コード(2)
[code]
dataCheckEntry = function(obj){
bdcCls(); obj.className = "bdc-act";
echo("entryBeforeDisp", "ok");
};



idSerchHistory = function(){
Fid("idsa0").className = "idsa-act";
indexFg = false; cat[1] = [];
cat[0] = "10/1317480251 09/1316951517 09/1315511420 09/1314904765".split(" ");
cat[2] = [4,6,1,3]; Lo.catLoad("");
};
Lo.catLoad = function(s){
if(s != ""){
var a = cat[2].shift();
cat[a] = Fx.dec(key(s, "data")).replace(/\t|^\s+|\s+$/g, "").split(" ");
}
if(cat[0].length > 0) Fx.e("diary/2011/" + cat[0].shift() + ".html", "catLoad");
else idSerchLoop();
};

idSerchEntry = function(obj){
bdcCls(); obj.className = "bdc-act";
indexFg = false;
cat = []; catTo = [];
for(var i = 0; i < 8; i++) cat[i] = [];
var s1 = ("検索・処理中 ログの足跡・リンク抽出中 処理待機・抽出中 友達登録・リンク抽出中 " +
"全現存者・抽出中 リンク切れ現存者 退会者・抽出中 退会者(痕跡不明)").split(" ");

var str = "\x3cdiv class='idsDisp-info'>会員検索 : \x3cbutton onclick='idSerch(1)'>データリストを基点に検索\x3c/button>" +
"\x3cbutton onclick='idSerch(0)'>ヤドカリを基点に検索\x3c/button> \x3cbutton onclick='idSerchStop()'>停止 / 再開\x3c/button>" +
"\x3cbutton onclick='idSerchHistory()'>前回の結果を一気に読み込む\x3c/button>\x3c/div>";
for(var i = 0; i < 8; i++){
str += "\x3cdiv class='idsDisp" + (i % 2) + "'>\x3cdiv class='ids1'>" +
"\x3cspan id='idsa" + i + "' class='idsa'>" + s1[i] + "\x3c/span> : \x3cspan id='idsb" + i + "' class='idsb'>0\x3c/span> : " +
"\x3cspan id='idsc" + i + "' class='idsc'>\x3c/span>\x3c/div>" +
"\x3cdiv class='ids2'>\x3ctextarea id='se" + i + "' cols='60' rows='3' class='ids-" +
( i == 5 || i == 7 ? "weit" : "act") + "'>\x3c/textarea>\x3c/div>\x3c/div>";
}
echo("entryBeforeDisp", "\x3cdiv class='idsDisp'>" + str + "\x3c/div>");
};

idSerch = function(fg){
cat = []; catTo = [];
for(var i = 0; i < 8; i++) cat[i] = [];
indexFg = true;
idsCnt = 0;
if(fg){ var a = userDat.join(" "); cat[2] = a.split(" "); }
else { var a = "yadokari"; cat[2].push(a); }
echo("se2", a);
nextSerch = true;
Fid("idsa0").className = "idsa-act";
idSerchLoop();
};
idSerchStop = function(){
indexFg = !indexFg;
Fid("idsa0").className = indexFg ? "idsa-act" : "idsa";
if(indexFg) idSerchLoop();
};

idSerchLoop = function(){
for(var i = 0; i < 8; i++){
echo("se" + i, cat[i].join(" "));
echo("idsb" + i, cat[i].length);
}
if(cat[0].length > 0){
indexUser = cat[0].pop();
echo("idsc0", indexUser);
catTo.push(indexUser);
Fx.e("/cgi-bin/footprint.cgi?oid=" + indexUser, "idSerchAfter");
} else {
if(cat[2].length > 0){
cat[0] = echo("se2").split(" ");
cat[2] = []; echo("se2", "");
echo("idsb0", " / " + cat[0].length);
isFriends = false;
idSerchLoop();
} else {
var a = " " + cat[1].join(" ") + " ";
var b = " " + cat[3].join(" ") + " ";
for(var i = 0; i < cat[6].length; i++) if(a.indexOf(" " + cat[6][i] + " ") == -1) cat[7].push(cat[6][i]);
for(i = 0; i < cat[4].length; i++) if((a + b).indexOf(" " + cat[4][i] + " ") == -1) cat[5].push(cat[4][i]);
for(i = 0; i < 8; i++){
cat[i].sort();
echo("se" + i, cat[i].join(" "));
echo("idsb" + i, cat[i].length);
}
Fid("idsa0").className = "idsa";
}
}
};
Lo.idSerchAfter = function(s){
++idsCnt;
// echo("idsCnt", idsCnt);
if(!s.match(/\/home\//)){
if(nextSerch) cat[6].push(indexUser);
nextSerch = false;
} else {
if(!nextSerch){ cat[4].push(indexUser); }
s.replace(/"\/home\/([a-z0-9\-]+)\/"/g, function(e0,e1){
var a = " " + e1 + " ";
if( nextSerch && (" " + cat[1].join(" ") + " ").indexOf(a) == -1) cat[1].push(e1);
if(!nextSerch && (" " + cat[3].join(" ") + " ").indexOf(a) == -1) cat[3].push(e1);
if((" " + catTo.join(" ") + " " + cat[2].join(" ") + " " + cat[0].join(" ") + " ").indexOf(a) == -1) cat[2].push(e1);
return "";
});
}
if(nextSerch){
nextSerch = false;
Fx.e("/home/" + indexUser + "/friends.html", "idSerchAfter");
} else {
nextSerch = true;
if(indexFg) idSerchLoop();
}
};
bdcCls = function(){
var o = Ftag(Fid("entryInfo"), "button");
for(var i = 0; i < o.length; i++) o[i].className = "";
};
beforeDispClose = function(){
bdcCls();
echo("entryBeforeDisp", "");
};
[/code]