足跡取得ルーチンVer3.0
[beforeExec]
es = function(s) { return s.replace(/(^\s+|\s+$)/g, ""); };
sp = function(s) { return s + " "; };
ar = function(s) { return Fid("T" + s).value; };
as = function(s) { return sp(ar(s)); };
fooError = function(){
Fid("T4").value += sp(Fx.u);
foo();
};

foo = function(){
var s = Fx.str.replace(/\r?\n/g, ""), f = "",fn = 4;
if(s.match(/"\/home\/[\w\-]+\//)){
Fri = Freq();
Fri.open("get", "/home/" + Fx.u + "/friends.html", false);
Fri.send(null);
var s1 = s + Fri.responseText.replace(/\r?\n/g, "");
s1.replace(/"\/home\/([\w\-]+)\//g, function(e0,e1){
if((" " + as(1) + as(2) + as(3) + as(4) + sp(Fx.u) + sp(f)).indexOf(sp(" " + e1)) == -1){
f += sp(e1);
}
fn = 3;
return "";
});
}
Fid("T2").value += f;
Fid("T" + fn).value += sp(Fx.u);
setTimeout("Fx.act()", 50);
};

Fx.act = function(){
if(es(ar(1)) == ""){
Fid("T1").value = ar(2);
Fid("T2").value = "";
Fid("F2").value = Number(Fid("F2").value) + 1;
}
var a = es(ar(1));
if(a == ""){
subEnd();
return;
} else {
if(a.match(/(^[\w\-]+)/)){
Fx.u = RegExp.$1;
Fx.uri = "/cgi-bin/footprint.cgi?oid=" + Fx.u;
Fid("T1").value = a.replace(/^[\w\-]+\s*/, "");
Fid("F1").value = Fx.u;
}
}
for(var i = 1; i < 5; i++){
a = es(ar(i));
Fid("S" + i).value = a == "" ? 0 : es(ar(i)).split(" ").length;
}
if(Fx.sleep) Fget();
};
subSort = function(o){
var obj = Fid(o);
var a = es(obj.value).split(" ");
a.sort();
obj.value = a.join(" ");
};

subEnd = function(){
Fid("F1").value = "";
subSort("T3");
subSort("T4");
};
Lo.me = function(){
var s = Fx.dec(key(Re.me.responseText, "list"));
var o = s.match(/A\d+\,([\w\-]+)/g);
Fid("T2").value += " " + o.join(" ").replace(/A\d+\,/g, "");
Fid("S2").value = Fid("T2").value.split(" ").length + 1;
mem2CNT++;
if(mem2CNT < 8) mem2();
};

mem2 = function(){
if(mem2CNT > 7){
alert("リフレッシュしてください");
return;
}
Fx.e("/cgi-bin/diary.cgi?oid=nancyan;n=1;s=" + (mem2CNT + 146441), "me");
};

entry = function(){
Fx.sleep = true;
Fid("T1").value = Fid("T3").value = Fid("T4").value = "";
if(Fid("T2").value == "") Fid("T2").value = "nancyan";
Fid("F2").value = 0;
Fx.act();
};

[/beforeExec]
[body]
<$$div class="info">
<$$a href="main.html?no=155">ID取得ツールVer3.0(log + friends)<$$/a>
<$$/div>
<form name="Fxform">
<table cellspacing="3" cellpadding="3" border="1"><tbody><tr><td>
<$$img hamu1 align="left"/>
FriendsのページからユーザーIDを捜し歩きます。<$$br />
<input type="button" value="取得開始" onclick="entry()" />
<input type="button" value="停止" onclick="Fx.sleep = false;" />
<input type="button" value="再開" onclick="Fx.sleep = true; Fget();" /> 取得レベル:
<input id="F2" size="4" value="0" />※階層
<input type="button" value="移行会員をリストに追加" onclick="mem2()" />
<tr><td class="d1">エントリー:<input id="S1" size="4" value="0" />人 ※検証待ち 検証中:
<input id="F1" size="20" /></td></tr>
<tr><td><$$textarea id="T1"><$$/textarea></td></tr>
<tr><td class="d1">抽出リスト:<input id="S2" size="4" value="1" />人 ※エントリー待ち</td></tr>
<tr><td><$$textarea id="T2">nancyan<$$/textarea></td></tr>
<tr><td class="d1">有効リスト:<$$input id="S3" size="4" value="0" />人 ※検証済み</td></tr>
<tr><td><$$textarea id="T3"><$$/textarea></td></tr>
<tr><td class="d1">無効リスト:<input id="S4" size="4" value="0" />人 ※退会されています。</td></tr>
<tr><td><$$textarea id="T4"><$$/textarea></td></tr>
</tbody></table>
</form>
<$$br /><$$br />
[/body]
[cssText]
table { width:80%; background-color:#ffefff; margin-left:10%;}
td.d1 { background-color:#eee; }
textarea {width:100%; height:4em; }
div.info { font-size:13pt; text-align:center;
font-weight:bold; margin-bottom:1em;
}

[/cssText]
[exec]
mem2CNT = 0;
Fx.ent = foo;
Fx.err = fooError;
document.title = "ID取得ルーチンVer3.0";
[/exec]