エクラ会員名簿Ver1.0
[cssText]
#menuDisp { text-align:center; }
.listInfo { margin-left:16px; padding-left:60px;
background:url(files/yosei_2.gif) no-repeat; padding-top:10px;
line-height:1.3em; padding-bottom:8px;
}
.listInfo span { color:red; }
#listDisp { text-align:center;}
#listDisp table { margin:auto; width:90%;}
#listDisp th { border-width:1px; border-style:solid;
border-color:#eee #808080; padding:.25em;
background-color:#333399; color:yellow;
}
.tr0 { background-color:ivory; }
.tr1 { background-color:#f0f0ff; }
#listDisp td { border-left:1px solid #ccc; padding:.25em;
border-bottom:1px solid #ccc; line-height:1em;
}
.d0 { text-align:right; font-weight:bold;}
.d0 a { display:block; width:100%;}
.d0 a:hover { background-color:yellow; }
.d1 { text-align:left; }
.num { text-align:right;}

#listDisp td a { color:#000; }
#listDisp td.sel { color:darkgreen; border-bottom:1px solid tomato; }
#listDisp td.sel a { color:darkgreen;; }

th a { color:#fff; display:block;}
th a:hover { color:magenta; background-color:snow; }
#listDisp th.sel { background-color:darkgreen; }
#listDisp th.sel a { color:white; }
#listDisp th.sel a:hover { color:#333399; }
#listDisp tr.tr2 td { border:none; text-align:right; }
#listDisp tr.tr2 td a { color:steelblue; }
#listDisp tr.tr2 td a:hover { color:magenta; }

.show { display:block; }
.hide { display:none; }
#mainDisp a { text-decoration:underline; }
#msgDisp { height:20em; }
#outDisp { margin-top:2em; }
.outData {
margin:.25em 4em; color:#000; border:1px solid skyblue;
line-height:1.4em; padding:.25em; font-family:Verdana;
}
[/cssText]
[beforeExec]

list = function(n){
var a;
var header = "<tr class='th'><th class='th'>番号</th>" +
"<th><$$a href='javascript:listChg(0)'>ID<$$/a></th>" +
"<th><$$a href='javascript:listChg(1)'>訪問数<$$/a></th>" +
"<th><$$a href='javascript:listChg(2)'>登録日<$$/a></th>" +
"<th><$$a href='javascript:listChg(3)'>日記<$$/a></th>" +
"<th><$$a href='javascript:listChg(4)'>最新の投稿<$$/a></th>" +
"<th><$$a href='javascript:listChg(5)'>掲示板<$$/a></th>" +
"<th><$$a href='javascript:listChg(6)'>最新の投稿<$$/a></th></tr>";

if(Fx.li == n){
Fx.anc.reverse();
} else {
for(var i = 0; i < Fx.anc.length; i++){
Fx.anc[i] = Fx.anc[i].replace(/^[a-z0-9\-]*\s/, "");
a = es(Fx.anc[i]).split(" ")[n];
Fx.anc[i] = (n ? ("000000000" + a).slice(-10) : a) + " " + es(Fx.anc[i]);
}
Fx.anc.sort();
if(n != 0 && n != 2) Fx.anc.reverse();
}
var s1 = "",a,b,cn = 1;
for(var i = 0; i < Fx.anc.length; i++){

a = es(Fx.anc[i]).split(" ");
s1 += "<tr class='tr" + (i % 2) + "'>";
s1 += "<td class='d0'><" + "a href='#' onclick='makeLinks(this); return false;'>" + (i + 1) + "<" + "/a></td>";
s1 += "<td class='d1" + (n == 0 ? " sel" : "") + "'><" +
"a href='main.html?sys_footprint&user=" + a[1] + "'>" +
a[1] + "<" + "/a></td>";
for(var j = 2; j < a.length; j++){
b = a[j].replace(/^0+(\d)/, "$1");
s1 += "<td class='num" + (n == j - 1 ? " sel" : "") + "'>" +
(j == 3 || j == 5 || j == 7? gt(b) : b) + "</td>";
}
s1 += "</tr>";
if(i % 20 == 19){
s1 += "<tr class='tr2'><td colspan='8' id='TR" + cn + "'>上へのリンク</td></tr>" +
header;
cn++;
}
}
Fx.li = n;
Fid("listDisp").innerHTML =
"<table border='0' cellpadding='0' cellspacing='0'><tbody>" +
header + Fx.dec(s1) + "</tbody></table>";

};
gt = function(n){
if(n == "-") return "....";
var a = new Date();
a.setTime(Number(n) * 10000);
return (
a.getFullYear() + "/" +
("0" + (a.getMonth() + 1)).slice(-2) + "/" +
("0" + a.getDate()).slice(-2) + " " + ("0" + a.getHours()).slice(-2) + ":" +
("0" + a.getMinutes()).slice(-2)
);
};

makeLinks = function(o){
var obj = Ftag(o.parentNode.parentNode, "td");
var u = obj[1].firstChild.firstChild.nodeValue;
var s = obj[5].innerHTML;
if(s.indexOf(">") != -1) return;
obj[5].innerHTML = "<" + "a href='main.html?no=103&user=" + u + "' target='_blank'>" +
s + "<" + "/a>";
};

dataEntry = function(n){
list(n);
var a = Ftag(Fid("listDisp"), "tr");
var o;
for(var i = 0; i < a.length; i++){
if(a[i].className == "th") Ftag(a[i], "th")[n + 1].className = "sel";
if(a[i].className == "tr2"){
Ftag(a[i], "td")[0].innerHTML =
"<$$a href='javascript:history.go(-1)'>JS:履歴で戻る<$$/a> | " +
"<$$a href='#menuDisp'>■ページの上へ<$$/a>";
}
}
var s = "名前 訪問者数 サイト登録日 日記の投稿件数 日記の最新投稿日 掲示板の投稿件数 掲示板の最新投稿日".split(" ");
var s1 = "■P0 ";
var c = Math.floor(Fx.ancLen / 20);
for(i = 1; i < c; i++){
s1 += "<" + "a href='#TR" + i + "'>P" + i + "<" + "/a> ";
}
Fid("listDispInfo").innerHTML =
"■エクラ会員名簿です。<" + "span>" + s[n] + "<" + "/span>で並び替えを行っています。<" + "br />■現在は<" + "a href='main.html?no=142' target='_blank'>(A)<" + "/a>が<" + "span>" + Fx.aLen + "名<" + "/span>で<" + "a href='main.html?no=143' target='_blank'>(B)<" + "/a>の<" + "span>" + Fx.bLen + "名<" + "/span>と合わせて<" + "span>" + Fx.ancLen + "名<" + "/span>の登録者リストが保存されています。<" + "div id='listLinks'>" + s1 + "<" + "/div>";
};

Fx.add = function(){
Fx.aLen = Fx.dat.split(",").length;
Fx.bDat = es(Fx.dec(cr(key(Fx.str, "act"))));
Fx.dat += "," + Fx.bDat;
var n = Fx.loc.match(/type=(\d)/) ? RegExp.$1 - 0 : 0;
var s = Fx.dat;
Fx.anc = s.split(",");
Fx.ancLen = Fx.anc.length;
Fx.bLen = Fx.ancLen - Fx.aLen;
for(var i = 0; i < Fx.ancLen; i++){
Fx.anc[i] = " " + Fx.anc[i];
}
Fx.li = "7";
dataEntry(n);
Fx.ent = Fx.out;
Fx.uri = "/cgi-bin/diary.cgi?oid=nancyan;n=1;s=146439";
Fget();
};

Fx.out = function(){
var s = es(Fx.dec(cr(key(Fx.str, "slp"))));
Fid("outDisp").innerHTML = "<" + "div class='listInfo'>■退会者リストです。現在<" + "span>" + s.split(" ").length + "名<" + "/span>が保存されています。<" + "br />■ <" + "br />■<" + "/div><" + "div class='outData'>" + s + "<" + "/div>";
};

Fx.ini = function(){
Fx.dat = es(Fx.dec(cr(key(Fx.str, "act"))));
Fx.aDat = Fx.dat;
Fx.ent = Fx.add;
Fx.uri = "/cgi-bin/diary.cgi?oid=nancyan;n=1;s=146438";
Fget();
};

entry = function(){
Fx.ent = Fx.ini;
Fx.uri = "/cgi-bin/diary.cgi?oid=nancyan;n=1;s=146437";
Fget();
};

es = function(s){ return s.replace(/^\s+|\s+$/g, ""); };
cr = function(s){ return s.replace(/\r?\n/g, ""); };

Fx.getUserDat = function(o,c){
var d = 0;
Foo = Freq();
Foo.open("get", "/cgi-bin/" + c + ".cgi?n=1;oid=" + o, false);
Foo.send(null);
var s = cr(Foo.responseText);
var a;
switch(c){
case "diary" : if(s.match(/全カテゴリ \((\d+) 件\).+?(\d+) (\d+\/\d+ \d+:\d+)/)){
a = new Date(RegExp.$2 + "/" + RegExp.$3 + ":00");
d = RegExp.$1 + " " + (a.getTime() / 10000);
} break;
case "bbs" : if(s.match(/\(総件数: (\d+) 件\).+?(\d+) (\d+\/\d+ \d+:\d+)/)){
a = new Date(RegExp.$2 + "/" + RegExp.$3 + ":00");
d = RegExp.$1 + " " + (a.getTime() / 10000);
} break;
case "footprint" : if(s.match(/総アクセス数: (\d+) HIT \(since (\d+) (\d+\/\d+ \d+:\d+)\)/)){
a = new Date(RegExp.$2 + "/" + RegExp.$3 + ":00");
d = RegExp.$1 + " " + (a.getTime() / 10000);
} break;
default : break;
}
if(d == 0) d = "0 -";
return d;
};

UserEnt = function(){
if(User.length > 0){
var a = es(User.shift());
var b = a.split(" ")[0];
var d1 = Fx.getUserDat(b, "footprint");
if(d1 == "0 -"){
Fid("T2").value += b + " ";
} else {
UserDat += b + " " + d1 + " " +
Fx.getUserDat(b, "diary") + " " + Fx.getUserDat(b, "bbs") + ",\n";
}

UserCnt++;
Fid("S1").value = UserCnt + "/" + UserMax;
if(F0Fg){
setTimeout("UserEnt()", 100);
} else {
F0Show();
}
} else {
F0Show();
if(Fx.ab){
Fx.ab = false;
}
}
};

F0Show = function(){
Fid("T1").value = UserDat;
};
F0Stop = function(){
F0Fg = false;
};

F0Entry = function(){
Fx.ab = true;
var s = Fx.bDat;
F0Fg = true;
UserDat = "";
User = s.split(",");
UserMax = User.length;
UserCnt = 0;
Fid("S1").value = UserCnt + "/" + UserMax;
Fid("T1").value = "";
Fid("T2").value = "";
Fid("T3").value = "";
UserEnt();
};
listChg = function(n){
dataEntry(n);
};

[/beforeExec]
[body]
<$$div id="menuDisp">
<$$img yukikko /><$$br/ >
<$$a href="main.html?no=141">エクラ会員名簿 Ver1.0<$$/a><$$br />
外部へのリンク:
<$$a href="main.html?no=141&type=0">名前<$$/a> |
<$$a href="main.html?no=141&type=1">訪問数</$$/a> |
<$$a href="main.html?no=141&type=2">サイト登録<$$/a> |
<$$a href="main.html?no=141&type=3">日記投稿数<$$/a> |
<$$a href="main.html?no=141&type=4">最新記事<$$/a> |
<$$a href="main.html?no=141&type=5">掲示板投稿数<$$/a> |
<$$a href="main.html?no=141&type=6">最新記事<$$/a>
<$$/div>
<$$div id="listDispInfo" class="listInfo">
■登録者名簿のデータ(A)を取得しています・・・<$$br />
■登録者名簿のデータ(B)を取得しています・・・<$$br />
■登録者名簿のデータ(退会者リスト)を取得しています・・・
<$$/div>
<$$div id="listDisp"><$$/div>
<$$div id="outDisp"><$$/div>
<$$div id="msgDisp">



<$$/div>

<form name="F0" id="F0Form">
<table><tbody>
<tr><td colspan="2">
リスト取得状況:<input type="text" size="10" id="S1" />
<input type="button" value="状況の表示" onclick="F0Show()" />
<input type="button" value="停止" onclick="F0Stop()" />
</td></tr>
<tr><td>
■有効リスト(A)<$$br /><$$textarea id="T1" cols="60" rows="10"><$$/textarea></td>
<td rowspan="2" valign="top">■無効リスト<$$br /><$$textarea id="T2" cols="30" rows="10"><$$/textarea></td></tr>
<tr><td>
■有効リスト(B)<$$br /><$$textarea id="T3" cols="60" rows="10"><$$/textarea></td></tr>

<tr><td colspan="2"><input type="button" value="データの取得" onclick="F0Entry()" /></td></tr>

</tbody></table>
</form>
[/body]
[exec]
document.title = "エクラ会員名簿 Ver1.0";
entry();
[/exec]