* @copyright 2009 FeedBlog Project (http://sourceforge.jp/projects/feedblog/)\r
* @author Kureha Hisame (http://lunardial.sakura.ne.jp/) & Yui Naruse (http://airemix.com/)\r
* @since 2009/06/03\r
- * @version 3.1.1.0\r
+ * @version 4.1.0.1\r
*/\r
// Feex XMLの<content>要素で、<br>を使用しているか?\r
var inputValidateMode = 1;\r
feedInfo = applyFeedinfo();\r
pageAddr = feedInfo.alternate;\r
\r
- if(document.getElementById("entry_title").value == "" || document.getElementById("entry_stdin").value == "") {\r
- if(confirm("タイトルか記事が空白です!FeedBlogでの表示時にエラーが出ますがよろしいですか?") == false) {\r
+ if (document.getElementById("entry_title").value == "" || document.getElementById("entry_stdin").value == "") {\r
+ if (confirm("タイトルか記事が空白です!FeedBlogでの表示時にエラーが出ますがよろしいですか?") == false) {\r
return;\r
}\r
}\r
\r
- if(editIndex < 0) {\r
+ if (editIndex < 0) {\r
var entry = new Object();\r
var dateRfc3339 = getDate();\r
entry.id = pageAddr + "?" + dateRfc3339;\r
*/\r
function openMixiWindow() {\r
// 日記が選択されていない場合は何もしない\r
- if(editIndex < 0) {\r
+ if (editIndex < 0) {\r
return;\r
}\r
\r
var target_element;\r
\r
// ニコニコ動画のタグを置換\r
- while( target_tag = contents.match(/<iframe[^>]*src=["']http:\/\/ext.nicovideo.jp\/thumb\/[A-Za-z]*\d*["'][^>]*>[^<]*<\/iframe>/i)) {\r
+ while ( target_tag = contents.match(/<iframe[^>]*src=["']http:\/\/ext.nicovideo.jp\/thumb\/[A-Za-z]*\d*["'][^>]*>[^<]*<\/iframe>/i)) {\r
// src="..."の部分だけ抜き出す\r
target_element = target_tag[0].match(/src=["'][^"']*["']/i);\r
target_element = '<externalvideo src="NC:' + target_element[0].replace(/src=["']http:\/\/ext.nicovideo.jp\/thumb\/|["']/ig, "") + ':D">';\r
}\r
\r
// Aタグを変換する\r
- while(contents.match(/<a[^>]*>/)) {\r
+ while (contents.match(/<a[^>]*>/)) {\r
// 置換対象のAタグを抽出する\r
target_tag = contents.match(/<a[^>]*>/i);\r
// href="..."の部分のみを抜き出す\r
}\r
\r
// ブロック要素のタグが存在した場合、改行をその後に挿入します。\r
- if(document.getElementById("isCoverBlockTag").checked) {\r
+ if (document.getElementById("isCoverBlockTag").checked) {\r
contents = contents.replace(/<(div|h\d)[^>]*>/ig, "-----------------------------------------------------------------------------\n");\r
contents = contents.replace(/(\n|)<\/(div|h\d)>/ig, "\n-----------------------------------------------------------------------------\n");\r
} else {\r
* @param {int} index entryListから削除される記事のインデックス\r
*/\r
function removeEntry(index) {\r
- if(editIndex == 0) {\r
+ if (editIndex == 0) {\r
entryList.splice(editIndex, 1);\r
refleshEntrylistBox();\r
editIndex = -1;\r
\r
- document.getElementById("stdout").value = ""\r
+ document.getElementById("stdout").value = "";\r
document.getElementById("entry_title").value = "";\r
document.getElementById("entry_stdin").value = "";\r
}\r
- if(editIndex > 0) {\r
+ if (editIndex > 0) {\r
var prevIndex = document.getElementById("logBox").selectedIndex - 1;\r
entryList.splice(editIndex, 1);\r
refleshEntrylistBox();\r
editIndex = -1;\r
refleshEntrylistBox();\r
\r
- document.getElementById("stdout").value = ""\r
+ document.getElementById("stdout").value = "";\r
document.getElementById("entry_title").value = "";\r
document.getElementById("entry_stdin").value = "";\r
}\r
outputValidateMode = $("#feedblog_outputvalidatemode").val();\r
logXmlUrl = $("#feedblog_loglistxmlurl").val();\r
\r
- if(outputValidateMode == "1") {\r
+ if (outputValidateMode == "1") {\r
document.getElementById("feedblog_addcontentbr").checked = true;\r
} else {\r
document.getElementById("feedblog_addcontentbr").checked = false;\r
// 読み込んだ要素をStoreに格納して表示\r
var boxBuffer = [];\r
boxBuffer.push("<form name='logform'><select name='logbox' onchange='xmlLoader(this.options[this.selectedIndex].value)'>");\r
- for(var i = 0; i < separateTag.length; i++) {\r
- if(i == 0) {\r
+ for (var i = 0; i < separateTag.length; i++) {\r
+ if (i == 0) {\r
initUrl = separateTag[i].getElementsByTagName("path")[0].firstChild.nodeValue;\r
}\r
boxBuffer.push("<option value='" + separateTag[i].getElementsByTagName("path")[0].firstChild.nodeValue + "'/>" + separateTag[i].getElementsByTagName("display")[0].firstChild.nodeValue + " (" + separateTag[i].getElementsByTagName("path")[0].firstChild.nodeValue + ")" + "</option>");\r
entryList = [];\r
\r
feedInfo = new FeedInfo(rootTag[0]);\r
- for(var i = 0; i < entryTag.length; i++) {\r
+ for (var i = 0; i < entryTag.length; i++) {\r
entryList.push(new Entry(entryTag[i]));\r
}\r
\r
refleshEntrylistBox();\r
document.getElementById("entry_title").value = "";\r
document.getElementById("entry_stdin").value = "";\r
+ document.getElementById("entry_category").innerHTML = "";\r
document.getElementById("stdout").value = "";\r
editIndex = -1;\r
\r
* @param {int} index\r
*/\r
function entryLoader(index) {\r
- if(index < 0) {\r
+ if (index < 0) {\r
document.getElementById("entry_title").value = "";\r
document.getElementById("entry_stdin").value = "";\r
addTagSelectBoxFromCategory([]);\r
var stringBuffer = [];\r
stringBuffer.push("<form name='logform'><select id='logBox' onchange='entryLoader(this.options[this.selectedIndex].value)'>");\r
stringBuffer.push("<option value='-1'>新規作成</option>");\r
- for(var i = 0; i < entryList.length; i++) {\r
+ for (var i = 0; i < entryList.length; i++) {\r
stringBuffer.push("<option value='" + i + "'/>" + entryList[i].title + "</option>");\r
}\r
stringBuffer.push("</select></form>");\r
var categoryList = [];\r
var categories = $("category", obj);\r
var tempCategory = {};\r
- for(var i = 0; i < categories.length; i++) {\r
+ for (var i = 0; i < categories.length; i++) {\r
tempCategory = {\r
"term" : categories.eq(i).attr("term"),\r
"label" : categories.eq(i).attr("label")\r
};\r
categoryList.push(tempCategory);\r
}\r
- this.category = categoryList\r
+ this.category = categoryList;\r
\r
- if(inputValidateMode == 1) {\r
+ if (inputValidateMode == 1) {\r
this.content = this.content.replace(/[\r\n]|\r\n/g, "");\r
this.content = this.content.replace(/<br[ \/]*>/ig, "\n");\r
this.content = this.content.replace(/^[ \t]*/mg, "");\r
stringBuffer.push('</author>');\r
stringBuffer.push('');\r
\r
- for(var i = 0; i < elist.length; i++) {\r
+ for (var i = 0; i < elist.length; i++) {\r
var temp_content;\r
- if(document.getElementById("feedblog_addcontentbr").checked) {\r
+ if (document.getElementById("feedblog_addcontentbr").checked) {\r
temp_content = xmlAttrContentEscape(convertContent(elist[i].content));\r
} else {\r
temp_content = xmlAttrContentEscape(elist[i].content);\r
stringBuffer.push('<link href="' + elist[i].link + '" />');\r
stringBuffer.push('<content type="html">' + temp_content + '</content>');\r
\r
- for(var j = 0; j < elist[i].category.length; j++) {\r
+ for (var j = 0; j < elist[i].category.length; j++) {\r
var tmpElist = elist[i].category[j];\r
stringBuffer.push('<category term="' + tmpElist["term"] + '" label="' + tmpElist["label"] + '"/>');\r
}\r
* @param {String} content\r
*/\r
function convertContent(content) {\r
- if(document.getElementById("feedblog_addcontentbr").checked) {\r
+ if (document.getElementById("feedblog_addcontentbr").checked) {\r
content = content.replace(/[\n\r]|\r\n/g, "<br>\n");\r
} else {\r
content = content.replace(/<br>/ig, "\n");\r
var sSecond = dNow.getSeconds();\r
\r
// 10以下の時は頭に"0"を挿入\r
- if(sMonth < 10)\r
+ if (sMonth < 10)\r
sMonth = "0" + sMonth;\r
- if(sDate < 10)\r
+ if (sDate < 10)\r
sDate = "0" + sDate;\r
- if(sHour < 10)\r
+ if (sHour < 10)\r
sHour = "0" + sHour;\r
- if(sMinute < 10)\r
+ if (sMinute < 10)\r
sMinute = "0" + sMinute;\r
- if(sSecond < 10)\r
+ if (sSecond < 10)\r
sSecond = "0" + sSecond;\r
\r
return sYear + "-" + sMonth + "-" + sDate + "T" + sHour + ":" + sMinute + ":" + sSecond + "+09:00";\r
var tagList = [];\r
var tagListHtml = $("*[name=tag]");\r
var tagTemp = {};\r
- for(var i = 0; i < tagListHtml.length; i++) {\r
+ for (var i = 0; i < tagListHtml.length; i++) {\r
// 各tag要素を取得して配列に格納\r
- if(tagListHtml.eq(i).val() != "") {\r
+ if (tagListHtml.eq(i).val() != "") {\r
tagTemp = {\r
"term" : tagListHtml.eq(i).val(),\r
"label" : tagListHtml.eq(i).find(":selected").text()\r
*/\r
function getDefaultTags() {\r
// デフォルトのタグ一覧を取得\r
+ // $term1,$label1|$term2,$label2 ... で定義されている\r
var plainTagText = $("#feedblog_tagdefine").val();\r
var tagList = [];\r
var tagTemp = {};\r
+ // 値が空のタグを初期値として先頭に追加\r
tagList.push({\r
"term" : "",\r
"label" : "タグを選択してください"\r
});\r
- for(var i = 0; i < plainTagText.split('/').length; i++) {\r
+ for (var i = 0; i < plainTagText.split('|').length; i++) {\r
// 各tag要素を取得して配列に格納\r
tagTemp = {\r
- "term" : plainTagText.split('/')[i].split(',')[0],\r
- "label" : plainTagText.split('/')[i].split(',')[1]\r
+ "term" : plainTagText.split('|')[i].split(',')[0],\r
+ "label" : plainTagText.split('|')[i].split(',')[1]\r
};\r
tagList.push(tagTemp);\r
}\r
var addHtml = [];\r
\r
addHtml.push('<select name="tag">');\r
- for(var i = 0; i < tagList.length; i++) {\r
+ for (var i = 0; i < tagList.length; i++) {\r
addHtml.push('<option value="' + tagList[i]["term"] + '">' + tagList[i]["label"] + '</option>');\r
}\r
addHtml.push('</select>');\r
*/\r
function addTagSelectBoxFromCategory(categoryList) {\r
$("#entry_category").html("");\r
- for(var j = 0; j < categoryList.length; j++) {\r
+ for (var j = 0; j < categoryList.length; j++) {\r
// 選択対象を取得\r
var selectedTagTerm = categoryList[j]["term"];\r
var selectedTagLabel = categoryList[j]["label"];\r
var tagList = getDefaultTags();\r
var addHtml = [];\r
addHtml.push('<select name="tag">');\r
- for(var i = 0; i < tagList.length; i++) {\r
- if(tagList[i]["term"] == selectedTagTerm && tagList[i]["label"] == selectedTagLabel) {\r
+ for (var i = 0; i < tagList.length; i++) {\r
+ if (tagList[i]["term"] == selectedTagTerm && tagList[i]["label"] == selectedTagLabel) {\r
addHtml.push('<option value="' + tagList[i]["term"] + '" selected="selected">' + tagList[i]["label"] + '</option>');\r
selectedTagSetFlag = true;\r
} else {\r
}\r
}\r
\r
- if(!selectedTagSetFlag) {\r
+ if (!selectedTagSetFlag) {\r
addHtml.push('<option value="' + selectedTagTerm + '" selected="selected">' + selectedTagLabel + '</option>');\r
}\r
\r