エクラ汎用日記帳 3.0.1
[beforeExec]
Fx.w = function(o){ return typeof(o) == "string" ? Fid(o) : o;};
show = function(o){
Fx.w(o).style.display = a.tagName != "SPAN" ? "block" : "inline";
};
hide = function(o){ Fx.w(o).style.display = "none";};
CALEN = Fx.no;
Fx.al = function(e){ return "main.html?no=" + CALEN + "&uri=" + e; };
Fx.s103 = function(s){
return (s.replace(/(href=")http:\/\/www\.eclat\.cc/g, "$1").
replace(/(href=")(\/home\/[\w\-]+\/diary|\/cgi\-bin\/diary.cgi)([^"]*)/g,
function(e0,e1,e2,e3){ return e1 + Fx.al(e2 + e3); }
)
);
};
Fx.s104 = function(s){
return (s.replace(/\x3c!\-\-ARTICLE id="(\d+)"\-\->(.+?\x3c\/span>)/g,
function(e0,e1,e2){
return (e2 + ' | <$$a href="' +
Fx.al("/cgi-bin/diary.cgi?oid=" + Fx.user + ";s=" + e1 + ";n=1") +
'"><$$span class="Res">A' + e1 + '<$$/span><$$/a> | '
);
})
);
};
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 }
);
};
Fx.s106 = function(s){
return ( s.replace(/(\x3cdt>)(\d{4})年(\d\d)月(\x3c\/dt>)/g,
function(e0,e1,e2,e3,e4){
return (e1 + '<$$a href="' +
Fx.al("/home/" + Fx.user + "/diary/" + e2 + "/" + e3 + "/") +
'">' + e2 + '年'+ e3 + '月<$$/a>' + e4
);
})
);
};
Fx.s107 = function(s){
s = s.replace(/(\x3ca [^>]+>)(\x3c\/a>)/g, '$1<$$span class="red">半角空白<$$/span>$2');
s = s.replace(/(\x3ca [^>]+>) {1,}(\x3c\/a>)/g, '$1<$$span class="red">全角空白<$$/span>$2');
return s;
};
Lo.addJan = function(){
var a,b,c;
var s = Re.addJan.responseText.replace(/\r?\n/g, "");
if(s.match(/\x3ch2>(\d{4})年01月/)){
var o = Ftag(Fid("sys1"), "dl")[0];
var a = Fap(o, Fce("dt"));
Fap(a, Fcea(Fx.al("/home/" + Fx.user + "/diary/" + RegExp.$1 + "/01/"), RegExp.$1 + "年01月"));
} else return;
a = Fap(Fap(o, Fce("dd")), Fce("ul"));
s = Fx.s103(s);
s = s.replace(/id="(\d+).+?\x3cdiv class="entry_date">(\d{4} \d\d\/\d\d \d\d:\d\d).+?\x3cdiv class="entry_title">(\x3ca href="[^"]+")[^>]+(>.+?\x3c\/a>)/g,
function(e0,e1,e2,e3,e4){
var b = Fap(a, Fce("li"));
var c = Fx.al("/cgi-bin/diary.cgi?oid=" + Fx.user + ";s=" + e1 + ";n=1");
echo(b, '<$$span class="time">' + e2 + '<$$/span> | <$$a href="' + c + '"><$$span class="Res">A' +
e1 + '<$$/span><$$/a> | ' + e3 + e4
);
return "";
}
);
};
Lo.addTopMenu = function(){
var s = Re.addTopMenu.responseText.replace(/\r?\n/g, "\t");
s = s.replace(/^.+?\x3cdiv id="menu"/g, "");
var re = s.match(/\x3cul.+?\x3c\/ul>/g);
Fx.addTopMenu1(re[0],re[1]);
if(Fx.ajax) Fx.sBef.p2 = echo("sys21");
};
Fx.re1 = function(s){
s = s.replace(/(\x3cli [^>]*class="C)(\d+)(">)/g, function(e0,e1,e2,e3){
return e1 + e2 + e3 + '<$$span class="Res">C' + ("000" + e2).slice(-4) + '<$$/span> '; });
return s;
};
Fx.re2 = function(s){
return s.replace(/(diary\.cgi[^"']+)("|')/g, '$1;n=20$2');
};

subMenuDisp = function(str){
var a,b,o,re,len;
re = str.match(/\x3cul.+?\x3c\/ul>/g);
len = re.length;
Fx.isAll = false;
if(len == 1){
a = Fx.s107(re[0].replace(/(\x3cli.+?n=\d+)(.+?\x3c\/li>)/, "$1;c=0$2"));
a = a.replace(/(\x3ca.+?c=)(\d+)([^>]+>)/g, function(e0,e1,e2,e3){
return "C:" + ("000" + e2).slice(-4) + e1 + e2 + e3;}
);
o = a.match(/\x3cli.+?\x3c\/li>/g);
o.sort(); o.reverse();
a = "<$$ul class='link_text'>" + o.join("") + "<$$/ul>";
a = a.replace(/(C:\d{4})(\x3ca.+?>)/g, '<$$span class="Res">$1<$$/span> $2');
echo("M4", a);
Fx.isAll = true;
}
if(Fx.user != Fx.oUser && len != 1){
echo("M3", re[len - 2].replace(/(\x3ca class="link_year"[^>]+>)(\d{4})(\x3c\/a>)/g,
"<$$span class='Res'>Y$2<$$/span> $1$2年の記事一覧$3<$$/li><$$li class='mon'>")
);
a = Fx.re1(Fx.re2(Fx.s107(re[len - 1])));
a = a.replace(/(\x3cli class="C\d+">)/, function(e0,e1){
b = Fx.al("/cgi-bin/diary.cgi?oid=" + Fx.user);
return '<$$li class="C0"><$$a href="' + b + '");>全カテゴリ<$$/a><$$/li>' + e1; }
);
echo("M4", a);
}
if(Fx.toShow1 && len == 4) Fx.addTopMenu1(re[0],re[1]);
if(len == 3) echo("M0", Fx.re1(re[0]));
};
Fx.addTopMenu1 = function(a,b){
echo("M1", Fx.re1(Fx.s103(a)));
var a = Fx.s103(b).replace(/("to">)to/g, "$1⇒");
a = a.replace(/(\x3cli>)(.+?#C)(\d+)/g, function(e0,e1,e2,e3){
return e1 + '<$$span class="Res">R' + ('0000' + e3).slice(-5) + '<$$/span> ' + e2 + e3;}
);
echo("M2", a);
Fx.toShow1 = false;
setTimeout("sys22entry()", "500");
};
subHeaderDisp = function(str){
var t0 = str.match(/\x3ctitle>(.+?)\x3c\/title/) ? RegExp.$1 : "";
t0 = t0.replace(/at eclat cyber city/, "");
var t1 = str.match(/id="site_title">(.*?)\x3c/) ? RegExp.$1 : "エクラの新着日記";
if(t1 == "") t1 = Fx.user + "’diary";
var t2 = str.match(/id="site_info">(.*?)\x3c/) ? RegExp.$1 : "";
if(t2 == "") t2 = "...";
echo("headerDisp", "<$$div class='t0'><$$span>" + t0 + "<$$/span><$$/div><$$div class='t1'>" + t1 + "<$$/div><$$div class='t2'>" + t2 + "<$$/div>"
);
};
Fx.eLinks = function(o,n){
var a = Ftag(typeof(o) == "string" ? Fid(o) : o, "a");
for(var i = 0; i < a.length; i++){
a[i].href = Fx.al(a[i].href.replace(/http:\/\/www.eclat.cc/g, ""));
}
};
Fx.noUser = function(){
hide("sys21"); hide("sys22"); hide(Ftag(Fid("modeDisp"),"ul")[0]);
Fid("sys11").className = "noUser";
echo("sys11", "退会しているかも知れません <$$a href='javascript:history.go(-1)'>履歴で戻る<$$/a>");
};
Lo.entry = function(){
var s = Re.entry.responseText.replace(/\r?\n/g, "\t");
if(s.match(/id="A\d+"\sclass="C(373|253)"/)){
s = s.replace(/<$$div\sclass="entry_info">.+?<$$\/div>/g, "");
}
s = Fx.s103(s);
s = s.split('<$$div id="menu">');
if(s.length == 1){
Fx.noUser(); return;
}
Fx.user = s[0].match(/\/home\/([a-z0-9\-]+)\//) ? RegExp.$1 : "all";
Fx.toShow1 = Fx.user != Fx.oUser;
subHeaderDisp(s[0]);
var s1 = s[1].split('<$$div id="main">');
subMenuDisp(s1[0]);
subMainDisp(s1[1]);
Fx.oUser = Fx.user;
if(Fx.toShow1 && !Fx.isAll) Fx.e("/home/" + Fx.user + "/diary/", "addTopMenu");
else setTimeout("sys22entry()", 500);
};
sys22entry = function(){
var a = Fid("sys1").offsetHeight - Fid("sys2").offsetHeight;
if(a > 0 ) Fid("sys22").style.height = a + "px";
if(Lo.entry.uri.match(/#(.+)/)){
var a = RegExp.$1,o;
if(o = Fid(a)) o.scrollIntoView();
}
};
Lo.entry.bef = function(){
var s = Lo.entry.uri.replace(/#.*$/, "");
Fid("calenUri").href = Fx.al(s);
Fid("userUri").href = s;
Fx.uri = s;
};
sub_add_entry_date = function(){
var a = Ftag(Fid("sys11"), "div");
var f,no,date,c;
for(var i = 0; i < a.length; i++){
b = a[i];
if(b.className && b.className == "entry_date"){
date = echo(b);
no = (f = Fid('responses')) ?
Ftag(f, 'form')[0].article_id.value : b.parentNode.id.substring(1);
c = Ftag(b.parentNode, "a")[0].href.replace(/no=103/,"no=116");
echo(b, '<$$span class="Res">A' + no + '<$$/span> ' + date + ' ' +
Po.dateByDay(date,1) + " " +
' <$$a href="main.html?sys_update3&page=' + no + '">編集<$$/a>' +
' | <$$a href="' + c + '">レス管理<$$/a>'
);
}
}
};
subMainDisp = function(str){
var a,b,o;
var uri = Lo.entry.uri;
var main = str.replace(/(\x3c\/div>\x3c\/body>|\x3c\/body>).+?/g, "");
main = main.replace(/\[(beforeExec|body|cssText|exec|boot)\](.+?)(\[\/\1\])/g, function(e0,e1,e2,e3){
return "<$$div class='code'>[" + e1 + "]<$$/div><$$div class='codeDef code_" + e1 + "'>" +
e2.replace(/\x20\x20/g, " ") + "<$$/div><$$div class='code'>" + e3 + "<$$/div>"
});
main = main.replace(/\[(include)\](.+?)\[\/\1\]/g, function(e0,e1,e2){return Fx.dec(e2)});
main = Fx.s105(main);
main = Fx.s104(main);
if(uri.match(/\/home\/[a-z0-9\-]+\/diary\/\d{4}\/\d\d\/$/)){
if(main.match(/\x3chr \/>/)){
var s1 = main.split("<" + "hr />");
main = s1.shift();
s1.reverse();
main += s1.join("");
}
}
if(Fx.user == "all") main = main.replace(/target="(_top|_blank)"/g, "");

main = main.replace(/(\x3ca[^<]+name="C)(\d+)/g, ' <$$span class="Res">R$2<$$/span> $1$2');

main = Fx.t2n(Fx.s106(main));
echo("sys11", main);

if(Fx.user != "all"){
sub_add_entry_date();
if(uri.match(/\.html/)){
sub_response_form();
sub_response_edit();
}
} else {
var o2 = Fcn(Fid("sys11"), "span", "all_entry");
var a = [], s = " ",n = 1;
for(var i = 0; i < o2.length; i++){
b = echo(o2[i]).replace(/(\(\/home\/|\/\)$)/g,"");
s += b + " ";
}
s = s.replace(/^\s+|\s+$/g, "").split(" ").sort().join(" ") + " ";
s = s.replace(/([\w\-]+ )(\1{0,})/g, function(e0,e1,e2){
var f = e2.split(" ").length;
return "\x3cli>\x3cspan class='Res'>E:" + ("0" + (n++)).slice(-2) + "\x3c/span> \x3cspan class='all_oid'>\x3ca href='" + Fx.al("/cgi-bin/diary.cgi?oid=" + e1) + "'>" + e1 + "\x3c/a>\x3c/span> ( \x3cspan class='all_no_" + (f > 2 ? 1 : 0) + "'>" + f + "\x3c/span>件 )\x3c/li>";}
);
var o1 = Fap(Fid("M0"), Fce("ul"));
o1.className = "all_list";
echo(o1, s);
}

if(uri.match(/(\/home\/[a-z0-9\-]+\/diary\/\d{4}\/$)/)){
Fx.e(RegExp.$1 + "01/", "addJan");
}

if(uri.match(/home\/[a-z0-9\-]+\/diary\/\d{4}\/\d\d\/$/)){
sub_month();
}
};
sub_response_form = function(){
var o = Ftag(Fid("responses"), "form")[0];
if(self != top && (window.name != "main_" + Fx.user)){
o.target = "_blank";
}
};
sub_response_edit = function(){
if(!Vis.login || Vis.oid == Fx.user) return;
var a,b,obj = Fcn(Fid("responses"), "div", "comment_element");
for(var i = 0; i < obj.length; i++){
a = Ftag(obj[i], "a");
if(a.length != 2) continue;
b = a[1].href.match(/user=([\w\-]+)/) ? RegExp.$1 : "";
if(Vis.oid == b){
a[0].href = a[0].href.replace(/(oid=)([\w\-]+)/, function(e0,e1,e2){
return e1 + b;}
);
a[0].target = "_blank";
}
}
};
sub_month = function(){
var a = Ftag(Fid("M3"), "a");
var a1 = a.length;
for(var i = 0; i < a1; i++){
if(a[i].href.replace(/(^.+?'|'.+$)/g,"") == Fx.uri) break;
}
var s1 = "次月<<";
if(i > 1){
var n1 = i - 1;
if(a[n1].className != "link_month") n1--;
s1 = "\x3ca href=" + a[n1].href + ">" + s1 + "\x3ca/a>";
}
var s2 = ">>前月";
if(i < a1 - 2){
n1 = i + 1;
if(a[n1].className != "link_month") n1++;
s2 = "\x3ca href=" + a[n1].href + ">" + s2 + "\x3c/a>";
}
var o = Ftag(Fid("sys11"), "h2")[0];
var a = Fap(Fid("sys11"), Fce("h2"));
a.innerHTML = o.innerHTML = s1 + " " + o.innerHTML + " " + s2;
};
entry = function(){
var uri = Fx.getDiaryUri(Fx.loc);
Fx.user = uri.match(/(\/home\/|oid=)([a-z0-9\-]+)/) ? RegExp.$2 : "nancyan";
var m = Fid("modeDisp");
var all = Fx.user == "all";
echo(Ftag(m, "span")[0], all ? "all 新着日記100件" : Fx.user);
if(all){
var o = Fcn(Fid("sys21"), "div", "link");
for(var i = 1; i < 4; i++) o[i].style.display = "none";
echo(Ftag(o[0], "div")[0], "エントリー一覧");
Ftag(m, "ul")[0].style.display = "none";
uri = uri.replace(/(n=)\d+/, "$1100");
} else {
var a = Ftag(m, "a");
for(var i = 0; i < a.length; i++){
a[i].href = a[i].href.replace(/(user=)([\w\-]+)/,
function(e0,e1,e2){ return e1 + Fx.user; });
}
}
Fx.e(uri);
};
[/beforeExec]
[cssText]
body {
font-size:100%;
line-height:1.3em;
margin:.5em;
}
ul {
padding:0px; margin-left:26px; margin-top:0px;
margin-bottom:0px;
}
li { margin:0px; }
#userForm {
background-color:#339; line-height:1em;
margin-right:1em; padding:.5em;
border:2px outset white;
border-radius:8px; -moz-border-radius:8px;
}
#userForm .logo {
background:url(files/hamu_folder1.gif) no-repeat;
padding-left:40px; color:#fff; height:35px;
font-weight:bold; font-family:"Times New Roman";
}
#userForm .logo_title {
font-size:12pt; padding-top:.5ex; padding-bottom:.25ex; }
.logo_title span { font-size:8pt; color:#eee; }
.logo_title a { color:gold; }
#userForm .inp { text-align:center; color:#fff; white-space:nowrap;}
#userForm a:link { color:gold; }
#userForm a:visited { color:yellow; }
#userForm a:hover {color:#fff;}
#modeDisp {
margin:1em 1em 1em 0; padding:.5em 0px;
background-color:#ffefff;
border:1px dashed tomato;
-moz-border-radius:10px; border-radius:10px;
}
#modeDisp div.link_info {
margin-left:1em; font-weight:bold;
padding-left:20px; line-height:1.1em;
font-family:Verdana; color:#808080;
background:url(files/res.gif) no-repeat;
}
#modeDisp div.link_info span { color:red; }
#modeDisp ul { margin-top:.5em; margin-bottom:.5em; }
#modeDisp ul li { margin-bottom:.25em; }
#modeDisp a { text-decoration:none; color:#000; }
#modeDisp a:hover { color:blue; }
#infoDisp a { border:1px solid #808080; background-color:#ffefff;
padding:.25em .5em; -moz-border-radius:10px; border-radius:10px;
color:steelblue;
}
.hide { display:none; }
div.entry, #archive_yearlist {
margin:1em;
background:url(files/ch2-w.gif) repeat-y;
border-radius:10px; -moz-border-radius:10px;
border:1px solid #ccc; padding-bottom:1em;
}
#sys22 {
margin-right:1em;
border-radius:10px; -moz-border-radius:10px;
background:#ffdfff;
border:1px dashed #ccc;
}
.noUser {
text-align:center;
background:url(files/yukikko2b.gif) no-repeat center 100px;
margin:8em 0em;
padding-top:300px;
}
.all_entry { color:darkgreen; }
.all_oid { font-family:"Times New Roman"; font-size:11pt; color:blue; }
.all_no_0 { color:darkgreen; }
.all_no_1 { color:red; }
[/cssText]
[body]
<$$div id="sysDisp">
<$$div id="sys2">
<form action="/home/nancyan/main.html" method="get" id="userForm">
<$$div class="logo">
<$$div class="logo_title"><$$a href="main.html?no=103">Eclat Diary<$$/a> 3.0.1<$$/div>
<$$div>
<$$span><$$a href="#" id="calenUri">Fx.uri<$$/a><$$/span> |
<$$span><$$a href="#" id="userUri" target="_blank">User.uri<$$/a> <$$/span>
<$$/div>
<$$/div>
<$$div class="inp" >
<input type="hidden" name="no" value="103" />
* <input type="text" size="12" name="user" /><input type="submit" value="取得" />
<$$/div>
</form>
<$$div id="modeDisp">

<ul>
<li class="link_here">#103
エクラの日記</li>
<li>#104
エクラの足跡</li>
<li>#105
汎用掲示板</li>
</ul>
<$$/div>

<$$div id="sys21">
<$$div class="link">
<$$div class="link_title">前後の記事<$$/div>
<$$div id="M0"><$$/div>
<$$/div>
<$$div class="link">
<$$div class="link_title">最新の記事<$$/div>
<$$div id="M1"><$$/div>
<$$/div>
<$$div class="link">
<$$div class="link_title">最新のコメント<$$/div>
<$$div id="M2"><$$/div>
<$$/div>
<$$div class="link">
<$$div class="link_title">過去記事一覧<$$/div>
<$$div id="M3"><$$/div>
<$$/div>
<$$div class="link">
<$$div class="link_title">カテゴリ一覧<$$/div>
<$$div id="M4"><$$/div>
<$$/div>
<$$/div>
<$$div id="sys22"><$$/div>
<$$/div>
<$$div id="sys1">
<$$div class="sys1_container">
<$$div id="headerDisp"><$$/div>
<$$div id="sys11"><$$/div>
<$$/div>
<$$/div>
<$$/div>
[/body]
[exec]
document.title = "エクラ汎用日記帳 3.0.1";
entry();
[/exec]

編集 b0SamueL0b : +z$8frZdyL%68pSU/:>w<:E3.lG-!XIB