コメントノート更新作業用
[beforeExec]
CALEN = 111;
entry = function(){
if(Fx.loc.match(/uri=(.+)/)){
var a = RegExp.$1;
Fx.e(a, "pageShow");
}
else {
Fx.cnt = 0;
Fx.user = Fx.loc.match(/user=([\w\-]+)/) ? RegExp.$1 : "nancyan";
Fx.e("/cgi-bin/diary.cgi?oid=" + Fx.user + ";n=100");
Fx.d = new Array();
Fx.num = -1;
Fx.cpage = 0;
Fx.cnum = 0;
Fx.mode = Fx.loc.match(/mode=(\w+)/) ? RegExp.$1 : "list";
echo("userLinks", "\x3ca href='main.html?no=" + CALEN + "&user=" + Fx.user + "&mode=list'>mode:list\x3c/a> | \x3ca href='main.html?no=" + CALEN + "&user=" + Fx.user + "&mode=show'>mode:show\x3c/a>");
}
};
counter = function(){
var n = Fid("newPostForm").comment.value.length;
echo("cntInfo", " " + n);
};

Lo.pageShow = function(){
var s = Re.pageShow.responseText.replace(/\r?\n/g, "\t");
Fx.arc = s.match(/id=(\d+)/) ? Number(RegExp.$1) : 0;
s = s.split(/\x3cdiv id="main">/)[1];
s = s.replace(/\x3c\/div>\x3c\/body.+/, "");
s = s.replace(/\x3cdiv class="entry_date">(.+?)\x3c\/div>(.+?\x3cdiv class="entry_info">)(.+?c=)(\d+)(.+?)(\x3c\/div>)/, "$2$3$4$5 \/ \x3cspan>C$4\x3c\/span> : at $1$6");
s = s.replace(/(\x3cdiv class="entry)/g, "$12");
s = s.replace(/\x3cform.+?\x3c\/form>/, function(e0){
return '\x3cform id="newPostForm" accept-charset="UTF-8">\x3cdiv class="formInfo">\n\x3cinput type="text" size="16" name="poster_name" \/> 文字数 : \x3cspan id="cntInfo">0\x3c\/span>\/200(max)\x3c\/div>\n\x3ctextarea name="comment" cols="60" rows="4" onkeypress="counter()" onchange="counter()" onclick="counter()">\x3c\/textarea>\n\x3cdiv class="formButton">\x3cinput type="button" value="投稿" onclick="newPostSubmit()" \/>\x3c\/form>';
});


echo("listDisp", s);
if(Lo.pageShow.uri.match(/#(.+)/)){
  var a = RegExp.$1,o;
  if(o = Fid(a)) o.scrollIntoView();
 }
};
updateRes = function(){
alert(req.responseText);
};

newPostSubmit = function(){
var o = Fid("newPostForm");
var dat = "article_id=" + Fx.arc +
"&" + "poster_name=" + encodeURIComponent(o.poster_name.value) +
"&" + "comment=" + encodeURIComponent(o.comment.value);
Fx.ent = updateRes;
req = Freq();
req.onreadystatechange = reqEntry;
req.open("post", "/cgi-bin/diary_comment.cgi", true);
req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
req.send(dat);
};


Lo.entry = function(){
var s = Re.entry.responseText.replace(/\r?\n/g, "\t");
if(Fx.cnt == 0){
echo("diaryInfo",
"\x3ca href='main.html?no=" + CALEN + "&user=" + Fx.user + "'>" + Fx.user + "@eclat diary commentNote.\x3c/a> \x3cspan id='cPage'>0\x3c/span>/" +
(s.match(/全カテゴリ \((\d+) 件\)/) ? RegExp.$1 : "") +
" ( \x3cspan id='cNum'>0\x3c/span> )"
);
}
var num = 0;
var title = s.match(/\x3cdiv class="entry_title">.+?\x3c\/div>/g);
var date = s.match(/\x3cdiv class="entry_date">.+?\x3c\/div>/g);
var msg = s.match(/\x3ca href="[\w\-\/]+.html#comments">コメント \(\d+\)\x3c\/a>/g);
var ac = s.match(/\x3cdiv class="entry C\d+" id="A\d+">/g);

var fu = function(s){ return s.replace(/\x3c\/?div[^>]*>/g, "");};
var str,no,o;
var obj = Fid("commentList");
for(var i = 0; i < msg.length; i++){
no = msg[i].replace(/.+\((\d+)\).+/, "$1");
if(no == "0") continue;
/* if(Fx.cpage == 10) break;*/
Fx.cnum += Number(no);
Fx.cpage++;
if(Fx.cpage % 10 == 0){
o = Fap(obj, Fce("li"));
o.style.color = "#fff";
Fap(o, Fce("hr"));
}
Fx.num++;

Fx.d.push(title[i].replace(/^.+?href="|".+$/g, ""));
o = Fap(obj, Fce("li"));
o.id = "B" + Fx.num;
echo(o, "\x3cspan class='s1'>" + fu(date[i]) + "\x3c/span> / " +
"\x3cspan class='s2'>" + fu(title[i].replace(/(.html)/, "$1#comments").replace(/(href=")/g, "$1main.html?no=111\&uri=")) + "\x3c/span> / " +
"\x3cspan class='s5'>" + ac[i].replace(/.+(C\d+).+(A\d+).+/, "$1 $2") + "\x3c/span> " +
"\x3cspan class='s3'>..... (\x3c/span> " +
"\x3cspan class='s4'>" + no + "\x3c/span> " +
"\x3cspan class='s3'>)\x3c/span>"
);
}
echo("cPage", " " + Fx.cpage);
echo("cNum", " " + Fx.cnum);
Fx.cnt++;
/*
if(Fx.num != -1){
Fx.n2 = 0;
commentEntry();
}
*/
if(s.match(/(\/cgi-bin\/diary.cgi\?oid=[\w\-]+;n=100;s=\d+)">\x3cspan title="より古い記事へ"/)){
Fx.e(RegExp.$1);

} else {
if(Fx.num != -1){
Fx.n2 = 0;
commentEntry();
}
}

};
commentEntry = function(){
Fx.e(Fx.d.shift(), "com");
};
Fx.s105 = function(s){
return s.replace(/(\x3ca.+?href=")(\/home\/)([\w\-]+)(\/" target=")(_blank|_top)([^>]+)(.+?)(\x3c\/a>)/g, function(e0,e1,e2,e3,e4,e5,e6,e7,e8){
return e1+e2 + "nancyan\/main.html?no=" + CALEN + "&user=" + e3+e6+e7 + " \x3cspan class='all_entry'>(" + e2+e3+"/)\x3c/span> " + e8 }
);
};


Lo.com = function(){
var s = Re.com.responseText.replace(/\r?\n/g, "");
var num = s.match(/id="comments">コメント \((\d+)\)/) ? Number(RegExp.$1) : 0;
if(num > 700 && Lo.com.user != "botanic"){
s = "コメントの基準値を越しています";
} else {
s = s.replace(/.+?\x3c\/form>/, "");
s = s.replace(/\s{2,}/g, "");
s = s.replace(/(\x3c\/div>)\1.+?$/, "");
s = s.replace(/\x3c!\-[^>]+>/g, "");
if(Fx.mode == "list"){
var re = s.match(/\x3ca class="comment_auther".+?\/a>/g);
s = re.join(" - ").replace(/\x3c\/?a[^>]*>/g, "");
s = "\x3cspan class='list2'> : \x3c/span>" + s;
var o = Fap(Fid("B" + Fx.n2), Fce("span"));
o.className = "list3";
echo(o, s);
} else {
s = s.replace(/(\x3ca class="comment_auther" name=")C(\d+)/g,
" \x3cspan class='Res'>R$2\x3c/span> $1$2");
s = Fx.s105(s);
var o = Fap(Fid("B" + Fx.n2), Fce("div"));
echo(o, s);
}
}

if(Fx.d.length > 0){
Fx.n2++;
commentEntry();
}
};


[/beforeExec]

[cssText]
#listDisp { margin-left:4em; margin-right:4em; }
div.entry2_title {
background:url(files/y_line_b.gif) no-repeat; padding:20px 0px 20px 60px;
font-size:12pt; font-weight:bold; margin-right:1em;
}

div.entry2_title a {
text-decoration:none; color:steelblue;
}
.entry2_info {
margin-bottom:2em; margin-left:1em;
color:#806952
}
.entry2_info a:link { color:steelblue; }
.entry2_info a:visited { color:#808080; }
.entry2_info a:hover { color:#00f; }
.entry2_info span { color:blueviolet; }
td.td0 { width:360px; text-align:center; }
td.td1 { vertical-align:top; padding-top:2em; }
.logo { font-size:14pt; color:#806952; font-family:"Times New Roman"; }
.logo2 { color:#808080; margin-top:.5em; margin-left:2em;}
span.list2 { color:darkgreen; }
span.list3 { color:#808080; }
.s3 { color:#808080; }
.s1 { color:#896952; }
.s4 { color:tomato; }
.s5 { color:blueviolet; }
.oid { font-size:16pt; color:#896952; font-weight:bold; }
#footerDisp { display:none; }
[/cssText]
[body]
<table width="100%" cellspacing="0" cellpadding="0" border="0"><tbody>
<tr><td class="td0">
<$$img src="/home/nancyan/files/bata_anime_002.gif" alt="comment_note" />
<$$form action="/home/nancyan/main.html">
<$$input type="hidden" name="no" value="111" />
userID <$$input type="text" size="16" name="user" value="" />
<$$input type="hidden" name="mode" value="list" />
<$$input type="submit" value="取得" />
<$$/form>
</td><td class="td1">
<$$div class="logo">Eclat Diary Comment Note.<$$/div>
<$$div class="logo2">大切な言葉を探して ~エクラのコメントノート~<$$/div>
<$$div id="diaryInfo"><$$/div>
<$$div id="userLinks"><$$/div>
<$$div style="color:red;">※更新作業用のページです<$$/div>
</td></tr></tbody></table>

<$$div id="listDisp">
<$$ul id="commentList"><$$/ul>
<$$/div>
<$$div id="msgDisp" style="display:none">
コメントの説明です。
<$$/div>
[/body]
[exec]
document.title = "エクラの日記コメントノート更新作業用ページ";
entry();
[/exec]