日記カテゴリの取得 (2)

■ソース
[diary:174077]
[beforeExec]

dataSort = function(){
var dat,i;
for(i = 0; i < Fx.cateData.length; i++){
dat = Fx.cateData[i].split(":");
dat[0] = dat[modeType]
Fx.cateData[i] = dat.join(":");
}
Fx.cateData.sort();
if(modeType == 1 || modeType == 4 || modeType == 5) Fx.cateData.reverse();
};

showList = function(mode){
modeType = mode;
var o1 = Fid("listDisp").style;
var o2 = Fid("mode0Disp").style;
if(mode == 0){
o1.display = "none";
o2.display = "block";
} else {
o2.display = "none";
o1.display = "block";
if(modeType != showListPage) showListDisp();
showListPage = mode;
}
echo("menuEx1", modeData[mode]);
};

showListDisp = function(){
dataSort();
var str = "";
var page_cnt = 1;
var dat,a,b;
var len = Fx.cateData.length;
for(i = 0; i < len; i++){
dat = Fx.cateData[i].split(":");
if(i % 25 == 0){
str += '<tr><th>P' + page_cnt + '</th>' +
'<th>\x3ca href="javascript:showList(1)">num\x3c/a></th>' +
'<th>\x3ca href="javascript:showList(2)">category_name\x3c/a></th>' +
'<th>\x3ca href="javascript:showList(3)">user_id\x3c/a></th>' +
'<th>\x3ca href="javascript:showList(4)">last_update\x3c/a></th>' +
'<th>\x3ca href="javascript:showList(5)">max\x3c/a></th></tr>';
page_cnt++;
}
str += '<tr><td class="num">' + (i + 1) + '</td>' +
'<td class="cate_num">\x3ca href="main.html?diary=174001&uri=/cgi-bin/diary.cgi?oid=all;n=100;c=' + dat[1].replace(/C0*/, "") + '">' + dat[1] + '\x3c/a></td>' +
'<td class="cate_title"><input class="cate_name" type="text" size="20" value="' + dat[2] + '" title="' + dat[2] + '" /></td>' +
'<td class="user_id">\x3ca href="main.html?diary=172198&uri=/cgi-bin/diary.cgi?oid=' + dat[3] + ';n=25;c=' + dat[1].replace(/C0*/, "") + '">' + dat[3] + '\x3c/a></td>' +
'<td class="date">' + dat[4] + '</td>' +
'<td class="cate_length">' + dat[5].replace(/^0+/,"") + '</td></tr>';
}
echo("listBody", str);
};
Lo.page1 = function(respon){
Fx.cateNameData = keyDec(respon, "cateData");
Fx.e("/home/yadokari/diary/2010/07/1279807283.html", "page2");
};
Lo.page2 = function(respon){
Fx.cateUserData = keyDec(respon, "cateUser");
var len = Fx.cateUserData.length;
if(Fx.cateNameData.length != len){
alert("データが一致しません"); return;
}
echo(Ftag(Fid("mode1"), "span")[0], len + "件)");
var a,b,c = 0;
for(var i = 0; i < len; i++){
a = Fx.cateNameData[i].split(":");
b = Fx.cateUserData[i].split(":");
Fx.cateData[i] = " :" + a[0] + ":" + a[1] + ":" + b[1] + ":" + b[2] + ":" + a[2];
c += Number(a[2].replace(/^0+/, ""));
}
echo(Ftag(Fid("mode5"), "span")[0], c + "件)");
menuExEntry(3);
showList(modeType);
};
menuExEntry = function(no){
var str = "", n = 1;
for(var i = 0; i < Fx.cateUserData.length; i++){
if(Fx.cateUserData[i].match(/:([\w\-]+):/)) str += RegExp.$1 + " ";
}
str = str.replace(/^\s+|\s+$/g, "").split(" ").sort().join(" ") + " ";
 str = str.replace(/([\w\-]+ )(\1{0,})/g, function(e0,e1,e2){
  var f = e2.split(" ").length;
  return '<li>\x3cspan class="Res">E:' + ('0' + (n++)).slice(-2) + '\x3c/span> \x3cspan class="all_oid">\x3ca href="main.html?diary=172198&user=' + e1 + '">' + e1 + '\x3c/a>\x3c/span> \x3cspan class="D2">' + f + '件)\x3c/span></li>';}
 );
str = '\x3cdiv class="m2ex_box"><ul class="user_entry">' + str + '</ul>\x3c/div>';
modeData[no] = str;
};

entry = function(){
cateActive = 553;
modeType = Fx.loc.match(/mode=(\d)/) ? RegExp.$1 - 0 : 4;
showListPage = -1;
Fx.cateData = [];
Fx.is_f = true;
modeData = ["はじめに","番号順","名前順","投稿者順","投稿日順","保存件数順"];
Fx.e("/home/yadokari/diary/2010/05/1273545377.html", "page1");
};

keyDec = function(s1,s2){
var s = Fx.dec(key(s1,s2)).replace(/\t/g, "\n");
s = s.replace(/^\s*\n|\n$/g,"").split("\n");
return s;
};

cateNameEntry = function(){
Fx.e("/cgi-bin/diary.cgi?oid=all;n=0", "cateName");
};
Lo.cateName = function(s){
var n = s.match(/c=\d+">[^<]*/g);
n = n.join(",");
n = n.replace(/c=(\d+)">/g, function(e0,e1){ return "C" + ("00" + e1).slice(-3) + ":";});
n = n.split(","); n.sort(); n.reverse();
n = n.join("\n");
echo("txt3", n);
};
[/beforeExec]
[cssText]
html { background-attachment:scroll; }
a { text-decoration:none; }
#showDisp {
font-size:90%; font-family:"Times New Roman";
}
#menu { width:30%; float:right; }
#main { margin-right:30%; }

#header {
margin:1em 2em;
background:url(files/yosei_0.gif) no-repeat;
padding-left:60px;
}
.logo {
padding:.25em 0;
font:180%/1.2 "Times New Roman";
}
.logo span { font-size:10px; color:#808080; }
#header div.msg {
font-size:90%; color:#808080; padding:.5em 0;
}

.top_menu {
text-align:center; font-size:80%;
}
.top_menu a { color:steelblue; }
.top_menu a:hover { color:red; background-color:yellow; }
.menu_box {
background-color:#ffefff; margin:.5em;
border:1px dashed orange;
border-radius:8px; -moz-border-radius:8px;
}

.menu_box ul { margin:.5em .5em .5em 0; }
.menu_box li {
font:90%/1.2 "Times New Roman";
}
.menu_box li a { color:#000; }
.menu_box li a:hover { color:red; }
.menu_logo { margin:1em .5em .25em; text-align:center; }

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

.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 { border:1px solid tomato; -moz-border-radius:4px; border-radius:4px;
padding-left:.25em; padding-right:.25em; background-color:orange; color:#000;
font-family:"Times New Roman"; font-size:90%;
}
.bottom { margin-bottom:1em; }
#modeDisp div.link_info {
margin-left:1em; font-weight:bold;
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 { color:red; }

#modeDisp ul { margin-top:.5em; margin-bottom:.5em; }
#modeDisp li { border-bottom:1px solid #ccc; line-height:1.3em; }
#modeDisp a { text-decoration:none; color:#000; }
#modeDisp a:hover { color:blue; }

#menuEx1 ul { padding:0; margin:.5em; }
#menuEx1 li { list-style:none; border-bottom:1px solid #ccc; }



#listDisp {
margin:1em 0em;
}
#listTable { width:100%; }
#listDisp td, #listDisp th {
font-family:"Times New Roman";
font-size:90%; border-bottom:1px solid #ccc;
}
#listTable th { color:#000; font-weight:normal; background-color:orange; }
#listDisp tr:hover td { border-bottom:1px solid tomato; }
td.num {
text-align:right;
}
.cate_title { }
input.cate_name {
border:none; font-family:"Times New Roman"; color:#808080;
cursor:default;
}
td.cate_num {
padding-left:.5em; padding-right:.5em;
text-align:center;
}
td.date {
color:#808080;
text-align:center;
}
td.cate_length {
text-align:right;
}
#listDisp th a { color:#000; }
#listDisp th a:hover { color:#fff; }
#listDisp td a:link { color:steelblue; }
#listDisp td a:hover { color:magenta !important; background-color:#ff9; }
#listDisp td a:visited { color:#deb887; }
#listDisp td a:active { color:red; }
span.D2 { float:right; color:#000; }
#mode0Disp {
margin:1em; line-height:1.4em;
}
[/cssText]
[body]

<$$div id="showDisp">
<$$div id="menu">

<$$div class="menu_logo">
<$$span id="fxUri"><$$a href="main.html?diary=174077">Fx.uri<$$/a><$$/span><$$img src="files/chou1.jpg" alt="蝶"><$$span id="userUri"><$$a href="main.html?diary=174077">User.uri<$$/a><$$/span>
<$$/div>
<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" class="menu_box">
<$$div class="link_info">新着日記のカテゴリ<$$/div>
<ul>
<li id="mode0"><$$a href="main.html?diary=174077&mode=0">はじめに<$$/a><$$/li>
<li id="mode1"><$$a href="main.html?diary=174077&mode=1">公開登録数<$$/a> <$$span class="D2"><$$/span></li>
<li id="mode2"><$$a href="main.html?diary=174077&mode=2">公開登録名<$$/a> <$$span class="D2"><$$/span></li>
<li id="mode3"><$$a href="main.html?diary=174077&mode=3">最新投稿者<$$/a> <$$span class="D2"><$$/span></li>
<li id="mode4"><$$a href="main.html?diary=174077&mode=4">最新投稿日<$$/a> <$$span class="D2"><$$/span></li>
<li id="mode5"><$$a href="main.html?diary=174077&mode=5">保存件数<$$/a> <$$span class="D2"><$$/span></li>
</ul>
<$$/div>
<$$div id="menuEx1" class="menu_box"><$$/div>
<$$div class="menu_box">
<$$a href="/home/yadokari/diary/2010/05/1273545377.html">data<$$/a> |
<$$a target="main_yadokari" href="main.html?diary=174031">update<$$/a>
<$$/div>
<$$/div>


<$$div id="main">
<$$div id="header">
<$$div class="logo">
<$$a href="main.html?diary=174077">diary of categories.<$$/a> <$$span>1.0<$$/span>
<$$/div>
<$$div class="msg">
エクラの新着日記のカテゴリを纏めています
<$$/div>
<$$/div>
<$$div class="top_menu">
<$$a href="javascript:showList(0)">はじめに<$$/a> |
<$$a href="javascript:showList(1)">番号順<$$/a> |
<$$a href="javascript:showList(2)">名前順<$$/a> |
<$$a href="javascript:showList(3)">投稿者名順<$$/a> |
<$$a href="javascript:showList(4)">投稿時刻順<$$/a> |
<$$a href="javascript:showList(5)">保存件数順<$$/a>
<$$/div>
<$$div id="listDisp">
<table id="listTable" border="0" cellspacing="1" cellpadding="1"><tbody id="listBody">
<tr><td><$$div style="margin:10em 0em 50em 0em; color:#808080; text-align:center;">loadding data.<$$/div>
</td></tr>
</tbody></table>
<$$/div>

<$$div id="mode0Disp">
<form>
<$$textarea id="txt1" cols="40" rows="5"><$$/textarea>
</form>
<$$/div>

<$$/div>
<$$/div>
[/body]
[exec]
document.title = "日記カテゴリの取得 (2)";
entry();

[/exec]
[/diary:174077]

■仕様書 Wrote 2010 08/07 18:58