エクラの裏新着日記 3.0

■ソース
[diary:172196]
[beforeExec]
selChange = function(o){
var n = o.options[o.selectedIndex].value;
sub_articleLinkCreate(Number(n));
};
articleLink = function(){


var str = "<form>\x3cspan>全" + modeArticle + "件\x3c/span> <select onchange='selChange(this)'>";
var i,a,b;

var gnum = Math.floor(modeArticle / 10000);
for(i = gnum; i >= 0; i--){
str += "<option value='" + i + "' " +
(i == modeGroup ? "selected='selected'" : "") +
">" + i + "万番台</option>";
}
str += "</select></form>";
echo("articleLinkDisp", str);
sub_articleLinkCreate(isMode ? modeGroup : gnum);
};

articleLink2 = function(){
var gnum = Math.floor(modeArticle / 10000);
var str = "";
for(var j = gnum; j >= 0; j--) str += sub_gu(j);
echo("listDisp", str);
};
gu_lab = function(n){
var a = ("0" + n).slice(-2);
return a + "20 - " + a + "01";
};
sub_gu = function(n){
var s = '\x3cdiv class="gu">\x3cdiv class="gu1">' +
'\x3ca href="main.html?diary=172196&page=gu' + n + '">' + gu_lab(n) +
'\x3c/a>\x3c/div>\x3cdiv class="gu2">';
for(var i = 19; i >= 0; i--){
var a = 10000 * n + 500 * i;
var b = ("0" + n).slice(-2) + ("0" + (i + 1)).slice(-2);
s += '\x3cspan>' + (a > modeArticle ? b : '\x3ca href="main.html?diary=172196&page=' + b + '" class="link_' + (b == mode ? "a" : "b") + '">' + b + '\x3c/a>') + '\x3c/span>';
}
s += "\x3c/div>\x3c/div>";
return s;
};


sub_articleLinkCreate = function(n){
var str = sub_gu(n);

echo("articleLinkCont", str);
};
t2sp = function(s){ return s.replace(/^\t+|\t+$/g, ""); };
Lo.def = function(s){
var dat = key(s, "DATA").split(",");

var str = '<tr><td>' +
t2sp(dat[3]).replace(/\.|:/g, "</td><td>").replace(/\t/g, "</tr><tr><td>") + "</tr>";
echo("listDisp", "<table width='90%' cellpadding='2' cellspacing='0' border='1'><tbody>" + str + "</tbody></table>");
return;

var a;
var o = -1;
alert(t2sp(dat[2])); return;

for(var i = 0; i < dat.length; i++){
a = dat[i].split(":"), b = a[0].replace(/^0|..$/g, "") - 0;

}
return;


var n = Math.floor(dat.length / 20);
var sel = new Array(n + 1);
var a,b,c,d,c1,c2;
for(var i = 0; i <= n; i++){
sel[i] = new Array(4);
for(var j = 0; j < 4; j++) sel[i][j] = 0;
}

for(i = 0; i < dat.length; i++){
a = dat[i].replace(/^ +| +$/g, "").split(" ");
b = a[0].replace(/^0|..$/g, "") - 0;
for(j = 1; j < a.length; j++){
c = a[j]; c1 = c.charAt(0); c2 = c.substring(1) - 0;
sel[b][c1 == "+" ? 0 : c1 == "*" ? 1 : c1 == "/" ? 2 : 3] += c2;
}
}
var str = '\x3cli>全' + modeArticle + '件\x3c/li>';
var sp0 = 0,sp1 = 0,sp2 = 0,sp3 = 0;
for(i = sel.length -1; i >= 0; i--){
str +=
'\x3cli>\x3cspan class="sp">' + gu_lab(i) + '\x3c/span> ' +
'\x3cspan class="sp0">' + sel[i][0] + '\x3c/span> ' +
'\x3cspan class="sp1">' + sel[i][1] + '\x3c/span> ' +
'\x3cspan class="sp2">' + sel[i][2] + '\x3c/span> ' +
'\x3cspan class="sp3">' + sel[i][3] + '\x3c/span> ' +
'\x3c/li>';
sp0 += sel[i][0];
sp1 += sel[i][1];
sp2 += sel[i][2];
sp3 += sel[i][3];
}
str += '\x3cli>' +
'\x3cspan class="sp">小計\x3c/span> ' +
'\x3cspan class="sp0">' + sp0 + '\x3c/span> ' +
'\x3cspan class="sp1">' + sp1 + '\x3c/span> ' +
'\x3cspan class="sp2">' + sp2 + '\x3c/span> ' +
'\x3cspan class="sp3">' + sp3 + '\x3c/span> \x3c/li>';
var sp = sp0 + sp1 + sp2 + sp3;
str += '\x3cli>合計 : ' + sp + '件 ※' + (modeArticle - sp) + '件の新着日記が未集計です\x3c/li>';
echo("listDisp", "\x3cul>" + str + "\x3c/ul>");
};


Lo.gu = function(s){
var dat = key(s, "DATA").replace(/^\t+|\t+$/g, "").split("\t");
};
getData = function(n,s){
Fx.e(["/cgi-bin/diary_form.cgi?mode=edit;oid=",Vis.oid,";article_id=",n], s);
};
Lo.entry = function(str){
mode = Fx.loc.match(/page=([a-z0-9_]+)/) ? RegExp.$1 : "";
modeGroup = mode.match(/^(\d\d)\d\d$/) ? RegExp.$1.replace(/^0/, "") - 0 : -1;
modePage = mode.match(/^\d\d(\d\d)$/) ? RegExp.$1.replace(/^0/, "") - 0 : 0;
isMode = modePage > 0;
modeArticle = key(str,"articleId") - 0;
if(Fx.loc.match(/page=([a-z]+[0-9]*)/)){
var s = RegExp.$1;
if(s == "def") getData(175170,"def");
if(s.match(/gu(\d+)/)) getData(175575 - Number(RegExp.$1), "gu");
} else {
isMode ? articleLink() : articleLink2();
}
Fx.up = isMode ? false : true;
Fx.upCNT = 0;
modeMax = isMode ? 500 : 100;
if(isMode){
modeId = modeGroup * 20 + modePage + 175170;
echo("diaryInfo", '\x3ca href="main.html?diary=172231&page=' + modeId + '">eDisp(' + modeId + ')\x3c/a> \x3cspan id="diaryCnt">\x3c/span>');
Fx.e("/cgi-bin/diary.cgi?oid=yadokari;n=1;s=" + modeId, "mo1");
}
};
Lo.mo1 = function(s){
var dat = key(Fx.dec(s).replace(/\r?\n/g, "\t"), "DATA");
if(dat != ""){
dat = dat.replace(/\t/g, "\n");
dat = dat.replace(/(.)A(\d+)( :.+)$/gm, function(e0,e1,e2,e3){
return '\x3cli>\x3ca href="main.html?diary=172231&page=' + e2 + '">A' + e2 + '\x3c/a>' + (e1 != '+' ? ' \x3cspan class="non">(非公開)\x3c/span>' : '') + e3 + '\x3c/li>';}
);
dat = dat.replace(/(^A\d+)\s*$/gm, '\x3cli class="tr2">$1 : \x3cspan class="non">\-\x3c/span>\x3c/li>');
dat = dat.replace(/^(A\d+)( \- )(.+)$/gm ,'\x3cli class="tr2">$1\x3cspan class="non">$2\x3c/span>$3\x3c/li>');
echo("listDisp", "<ul>" + dat + "</ul>");
} else Fx.main();
};


ent1 = function(){
Fx.main();
};

Fx.main = function(){
modeStr = "";
Fx.pageNum = isMode ? modeGroup * 10000 + 500 * modePage - 1 : modeArticle;
Fx.cnt = 0;
Fx.diaryGet();
};
Fx.diaryGet = function(){
Fx.e(["/cgi-bin/diary_form.cgi?oid=",Vis.oid,";mode=edit;article_id=",Fx.pageNum], "sub");
};
Lo.sub_r = function(){};
Lo.sub = function(s){
isDelete = s.indexOf("\x3cform") == -1;
if(Fx.up && isDelete){
/* 投稿記事の終わりのサイン */
var n = Fx.upCNT - 1;
Fx.e("diary_editor",
diaryEditor(EDIT_ID, "[" + "articleId]" + (Fx.pageNum -1) + "[/" + "articleId]"), "sub_r"
);
echo("diaryInfo", n ? n + "件の追加がありましたので数値を書き換えました。" : "新たな日記の投稿はありません");
Fx.up = false; Fx.pageNum -= Fx.upCNT;
Fx.upCNT = 0;
} else {
var isNotify = s.indexOf('name="article_notify" value="1" checked="checked"') != -1;
var title = s.replace(/^.+name="article_title" value="([^"]*)".+$/, "$1");
if(title == "") title = "無題";
/*
var msg = s.replace(/^.+textarea[^>]+>(.+?)\x3c\/textarea>.+$/, "$1");

msg = msg.replace(/\x26lt;.+?\x26gt;/g, "");
msg = msg.replace(/(\x26)amp;/g, "$1");
*/
var a = Fid("listDisp");
var o = Fce("div");
o.className = "content tr" + (isDelete ? 2 : isNotify ? 1 : 0);
Fx.up ? a.insertBefore(o, a.firstChild) : Fap(a,o);
modeStr += "A" + Fx.pageNum + " : " +
(isDelete ? "-" : isNotify ? title : title.replace(/^ +/g, "").replace(/ {2,}/g, " ").substring(0,30) + "...(非公開)") + "\n";
echo(o,
"\x3ca href='main.html?diary=172231&page=" + Fx.pageNum + "'>\x3cspan class='post_no'>A" + Fx.pageNum + "\x3c/span>\x3c/a> : " +
(isDelete ? "-" : isNotify ?
"\x3ca href='main.html?diary=174001&uri=/cgi-bin/diary.cgi?oid=all;n=1;s=" + Fx.pageNum + "'>" + title + "\x3c/a>" :
"\x3cspan class='post_title'>" + title.replace(/^ +/g, "").replace(/ {2,}/g, " ").substring(0,30) + "\x3c/span>(\x3cspan class='non'>非公開\x3c/span>)")
);
/*
(isNotify ? "" : "\x3cdiv>" + msg.replace(/(^.{100}).+$/, "$1...") + "\x3c/div>")
*/
}

Fx.upCNT++; Fx.cnt++;
Fx.pageNum -= Fx.up ? -1 : 1;
if(isMode) echo("diaryCnt", Fx.cnt + "/500");
if(Fx.cnt < modeMax) Fx.diaryGet();
else {
echo("diaryCnt", "submit now...");
if(isMode){
Fx.e('diary_form', diaryForm(modeId, 'diary of ' + Fx.loc.slice(-4),
'\x3cdiv class="data">\n[' + 'DATA]\n' + modeStr + '[' + '/DATA]\n\x3c/div>\n', 0, 909), "uE2"
);
}
}

};
Lo.uE2 = function(){
echo("diaryCnt", "done.");
/*
var n = Fx.loc.slice(-4).replace(/^0+/, "") - 0;
var m = Math.floor(n / 100);
var d = n % 100;
d--;
if(d == 0){ m--; d = 20; }

if(m >= 0){
var uri = "main.html?diary=172196&page=" + ("0" + m).slice(-2) + ("0" + d).slice(-2);
location.href = uri;
}
*/
};
entry = function(){
echo("fxUri", "\x3ca href='" + Fx.loc + "'>Fx.uri\x3c/a>");
EDIT_ID = 44765;
Fx.e("/cgi-bin/diary_editor.cgi?oid=yadokari;type=comments;id=" + EDIT_ID);
};



s1Change = function(o){

var str = "";
for(var i = 0; i < 200; i++){
str += "\x3ca href='main.html?diary=172196&articleId=" +
(((n + 1) * 10000) - (50 * i) - 1) + "' class='link_a'>" +
String.fromCharCode(65 + n) + ("00" + (i + 1)).slice(-3) + "\x3c/a> ";

}
echo("articleLinkCont", str);
};


[/beforeExec]

[cssText]

#head_left {

}
.sp,.sp0,.sp1,.sp2,.sp3,.sp4 {
width:3em; display:inline-block; padding-right:.25em; text-align:right;
border-right:1px solid #ccc;
}

.sp { width:6em; font-family:Georgia; text-align:center; }

div.msg { color:#896952; }
.content { border-bottom:1px solid #ccc;
margin-bottom:.25em;
}
.msg span { color:darkgreen; }
.non { color:red; }

.tr0 { }
.tr1 { background-color:ivory; }
.tr2 { background-color:#f8f8f8; color:#808080;}
.content a:link { color:darkgreen; }
.content a:hover { color:magenta; }
.content a:visited { color:brown; }
.up_num2 { background-color:#add8e6; border:1px solid orange; line-height:1.1em;
border-radius:8px; -moz-border-radius:8px; padding:0px 4px;
text-align:center; display:inline-block; width:2em; }


#articleLinkCont { margin-top:.5em; }
option { text-align:right; }
.link_group {
margin-bottom:.5em;
}

hr { display:none; }
a { text-decoration:none; }



.link {
border:1px dashed orange; margin-bottom:1em;
border-radius:10px; -moz-border-radius:10px;
}
.link a { font-size:90%; }
.link_title { margin:.25em .5em; }

ul {
padding:0px; margin-left:26px; margin-top:0px;
margin-bottom:0px;
}
li { margin:0px; border-bottom:1px solid #ccc; line-height:1.2em; }
li:hover { border-bottom:1px solid tomato; }

#menu ul { margin-top:0px; margin-right:.5em; }
.menuBox { margin:1em .5em 1em 1em; }

#link_here,.link_here {
list-style-image:url(files/listitem.png);
}
#modeDisp {
padding:.5em 0 .25em 0;
background-color:#ffefff;
border:1px dashed orange;
-moz-border-radius:10px; border-radius:10px;
}
#menuMsg, .m2ex_box {
padding:.5em; margin-bottom:1em;
background-color:#ffefff;
border:1px dashed orange; font:90%/1.2 "Times New Roman"; color:#808080;
-moz-border-radius:10px; border-radius:10px;
}
#modeDisp div.link_info {
margin-left:1em;
padding-left:40px; line-height:35px;
font-family:"Times New Roman"; color:#808080;
background:url(files/hamu_folder2.gif) no-repeat;
}
#modeDisp div.link_info span.user_oid { color:red; font-weight:bold; }
#modeDisp div.link_info span.ver { color:#808080; font-size:80%; }

#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; }


.user_entry li:hover {

}

#mainExDisp {

}

.t1 { margin-top:1em; font-size:80%; text-align:right;}

#m2ex .link {
margin-bottom:1em;
}
.nonUser { background:url(files/yukikko2b.gif) no-repeat center top;
padding-top:200px; text-align:center; padding-bottom:2em;
color:#808080;
}
.nonUser span { color:tomato; }

.form3 {
padding:.25em .5em; border:2px outset white;
border-radius:3px; -moz-border-radius:3px;
background-color:orange; color:#000; margin-bottom:1em;
}

.form3 a { color:gold; }

.form_title { margin-bottom:2px; }
.form_body { text-align:right; color:red; }
.form_body input { color:#333; margin-left:2px; }
.s1 {
font-size:90%; font-family:"Comic Sans MS"; color:#000;
text-shadow:2px 2px 2px #808080;
}

.s2 {
font-size:70%; color:#ccc;
text-shadow:2px 2px 2px #808080;
}
span.Res, span.post_no, span.cate_num {
border:1px solid orange; -moz-border-radius:3px; border-radius:3px;
padding-left:.25em; padding-right:.25em; background-color:yellow; color:#000;
}

div.entry .entry_body div { font:100%/1.3 'Times New Roman'; color:steelblue; }

.page_link { text-align:center; margin-top:1em; }
span.D2 { float:right; }
span.day0 { color:red; }
span.day6 { color:steelblue; }
ul.link_text a { font-size:90%; line-height:1.3em; }
.user_entry li:hover {
list-style-image:url(files/listitem.png);
}
span.cate_num { font-size:90%; }

#listDisp li { padding-top:3px; padding-bottom:3px; }
.disp_eDisp {
font:100%/1.2 "Times New Roman"; color:#808080;
padding-bottom:.5em; text-align:right;
}

#listDisp .gu { width:32%; float:left; margin-bottom:.5em;
margin-right:4px;
}
.gu1 {
margin-left:.5em; font:90%/1.2 Georgia; color:#808080;
margin-bottom:.25em;
}
.gu2 {
padding:.25em 0em;
border:1px dashed orange; border-radius:4px; -moz-border-radius:4px;
}
.gu2 span {
width:25%; display:inline-block; text-align:center;
color:#dfdfdf; font:90%/1.2 Georgia;
}
.gu a:link { color:steelblue; }
.gu a:hover { text-decoration:underline; color:magenta !important; }
.gu a:visited { color:#000; }
.gu a:active { color:red; }
a.link_a { text-decoration:underline; color:red !important; }
[/cssText]
[body]
<$$div id="showDisp" style="padding-top:65px; font-size:90%;">
<$$div style="width:30%; float:right;">
<$$div id="menuEx1" class="menuBox">
<form method="get" action="main.html" class="form3">
<input name="diary" value="172198" type="hidden">
<$$div class="form_title">
<label title="新規タブ"><input onclick="modeDispTarget(this,this.form)" type="checkbox"><$$span class="s1">Eclat diary 103<$$/span> <$$span class="s2">4.0.1<$$/span></label>
<$$/div>
<$$div class="form_body">
<input size="14" name="user" type="text"><input value="取得" type="submit">
<$$/div>
</form>

<$$div id="modeDisp">
<$$div class="link_info">
<$$span class="user_oid">みんなの日記<$$/span> <$$span class="ver">2.1.1<$$/span>
<$$/div>
<ul>
<li><$$span class="Res">#201<$$/span> <$$a href="main.html?diary=172196&page=def">概要<$$/a></li>
<li class="link_here"><$$span class="Res">#202<$$/span> <$$a href="/home/nancyan/main.html?no=145">日記移行会員<$$/a></li>
<li><$$span class="Res">#203<$$/span> <$$a href="main.html?diary=174002">新着コメント<$$/a></li>
</ul>
<$$/div>
<$$div id="articleLinkDisp"><$$/div>
<$$div id="articleLinkCont">done.<$$/div>
<$$/div>
<$$div id="menuMsg" class="menuBox"><$$/div>
<$$div id="imgLinkDisp" class="menuBox"><$$/div>
<$$/div>

<$$div style="margin-right:30%;"><$$div id="mainExDisp">
<$$div id="mainEx1"><$$/div>
<$$textarea id="txt1" cols="80" rows="5" style="display:none"><$$/textarea>
<$$div id="listDisp"><$$/div>
<$$/div><$$/div>
</$$div>

<$$div style="position:fixed; left:0px; top:0px; width:100%; font-size:90%;">
<$$div style="margin-left:60px; background-color:#fff; height:65px;">
<$$div style="float:right; width:30%; text-align:center; font:110%/1.2 'Times New Roman'; padding-top:1em;">
<$$span id="fxUri">Fx.uri<$$/span><$$img src="files/chou1.jpg" alt="蝶"><$$span id="userUri"><$$a href="main.html?diary=172196">User.uri<$$/a><$$/span>
<$$/div>
<$$div style="margin-right:30%; padding-left:62px; background:#fff url(files/yosei_2.gif) no-repeat; height:60px; color:navy; text-shadow:3px 3px 6px #808080;">
只今、作成中です。<$$br />
ノーマル<$$/a>
<$$div id="diaryInfo"><$$/div>
<$$/div>
<$$/div>
<$$/div>
[/body]
[exec]
document.title = "エクラの裏新着日記 3.0";

entry();
[/exec]
[/diary:172196]

■仕様書 Wrote 2010 03/04 20:10

編集 なんちゃん : [articleId]175606[/articleId]