Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
solo
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
solo
Commits
295132c3
Commit
295132c3
authored
Jun 20, 2012
by
Liang Ding
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
后台验证已加,for #23
parent
c8e34a60
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
176 additions
and
22 deletions
+176
-22
CHANGE_LOGS.html
CHANGE_LOGS.html
+8
-0
core/src/main/java/org/b3log/solo/processor/ErrorProcessor.java
...rc/main/java/org/b3log/solo/processor/ErrorProcessor.java
+10
-1
core/src/main/java/org/b3log/solo/processor/console/PreferenceConsole.java
...a/org/b3log/solo/processor/console/PreferenceConsole.java
+124
-17
war/src/main/resources/lang_en_US.properties
war/src/main/resources/lang_en_US.properties
+12
-1
war/src/main/resources/lang_zh_CN.properties
war/src/main/resources/lang_zh_CN.properties
+14
-3
war/src/main/webapp/CHANGE_LOGS.html
war/src/main/webapp/CHANGE_LOGS.html
+8
-0
No files found.
CHANGE_LOGS.html
View file @
295132c3
...
@@ -5,6 +5,14 @@
...
@@ -5,6 +5,14 @@
<meta
http-equiv=
"Content-Type"
content=
"text/html; charset=UTF-8"
>
<meta
http-equiv=
"Content-Type"
content=
"text/html; charset=UTF-8"
>
</head>
</head>
<body>
<body>
<h2>
Release 0.4.6 - Jul 1, 2012
</h2>
<ul>
<li><a
href=
"https://github.com/b3log/b3log-solo/issues/10"
>
10 评论表情后台管理不显示
</a></li>
<li><a
href=
"https://github.com/b3log/b3log-solo/issues/12"
>
12 编辑自定义导航报错
</a></li>
<li><a
href=
"https://github.com/b3log/b3log-solo/issues/15"
>
15 sitemap.xml 导航生成重复
</a></li>
<li><a
href=
"https://github.com/b3log/b3log-solo/issues/17"
>
17 默认皮肤改为 ease
</a></li>
<li><a
href=
"https://github.com/b3log/b3log-solo/issues/27"
>
27 自定义导航后台链接问题
</a></li>
</ul>
<h2>
Release 0.4.5 - Jun 1, 2012
</h2>
<h2>
Release 0.4.5 - Jun 1, 2012
</h2>
<ul>
<ul>
<li><a
href=
"http://code.google.com/p/b3log-solo/issues/detail?id=302"
>
302 文章加密
</a></li>
<li><a
href=
"http://code.google.com/p/b3log-solo/issues/detail?id=302"
>
302 文章加密
</a></li>
...
...
core/src/main/java/org/b3log/solo/processor/ErrorProcessor.java
View file @
295132c3
...
@@ -28,7 +28,10 @@ import org.b3log.latke.annotation.RequestProcessor;
...
@@ -28,7 +28,10 @@ import org.b3log.latke.annotation.RequestProcessor;
import
org.b3log.latke.service.LangPropsService
;
import
org.b3log.latke.service.LangPropsService
;
import
org.b3log.latke.servlet.HTTPRequestContext
;
import
org.b3log.latke.servlet.HTTPRequestContext
;
import
org.b3log.latke.servlet.HTTPRequestMethod
;
import
org.b3log.latke.servlet.HTTPRequestMethod
;
import
org.b3log.latke.user.UserService
;
import
org.b3log.latke.user.UserServiceFactory
;
import
org.b3log.latke.util.Locales
;
import
org.b3log.latke.util.Locales
;
import
org.b3log.solo.model.Common
;
import
org.b3log.solo.processor.renderer.ConsoleRenderer
;
import
org.b3log.solo.processor.renderer.ConsoleRenderer
;
import
org.b3log.solo.processor.util.Filler
;
import
org.b3log.solo.processor.util.Filler
;
import
org.b3log.solo.service.PreferenceQueryService
;
import
org.b3log.solo.service.PreferenceQueryService
;
...
@@ -38,7 +41,7 @@ import org.json.JSONObject;
...
@@ -38,7 +41,7 @@ import org.json.JSONObject;
* Error processor.
* Error processor.
*
*
* @author <a href="mailto:DL88250@gmail.com">Liang Ding</a>
* @author <a href="mailto:DL88250@gmail.com">Liang Ding</a>
* @version 1.0.0.
0, May 18
, 2012
* @version 1.0.0.
1, Jun 20
, 2012
* @since 0.4.5
* @since 0.4.5
*/
*/
@RequestProcessor
@RequestProcessor
...
@@ -60,6 +63,10 @@ public final class ErrorProcessor {
...
@@ -60,6 +63,10 @@ public final class ErrorProcessor {
* Language service.
* Language service.
*/
*/
private
LangPropsService
langPropsService
=
LangPropsService
.
getInstance
();
private
LangPropsService
langPropsService
=
LangPropsService
.
getInstance
();
/**
* User service.
*/
private
static
UserService
userService
=
UserServiceFactory
.
getUserService
();
/**
/**
* Shows the user template page.
* Shows the user template page.
...
@@ -90,6 +97,8 @@ public final class ErrorProcessor {
...
@@ -90,6 +97,8 @@ public final class ErrorProcessor {
filler
.
fillBlogHeader
(
request
,
dataModel
,
preference
);
filler
.
fillBlogHeader
(
request
,
dataModel
,
preference
);
filler
.
fillBlogFooter
(
dataModel
,
preference
);
filler
.
fillBlogFooter
(
dataModel
,
preference
);
dataModel
.
put
(
Common
.
LOGIN_URL
,
userService
.
createLoginURL
(
Common
.
ADMIN_INDEX_URI
));
}
catch
(
final
Exception
e
)
{
}
catch
(
final
Exception
e
)
{
LOGGER
.
log
(
Level
.
SEVERE
,
e
.
getMessage
(),
e
);
LOGGER
.
log
(
Level
.
SEVERE
,
e
.
getMessage
(),
e
);
...
...
core/src/main/java/org/b3log/solo/processor/console/PreferenceConsole.java
View file @
295132c3
...
@@ -41,7 +41,7 @@ import org.json.JSONObject;
...
@@ -41,7 +41,7 @@ import org.json.JSONObject;
* Preference console request processing.
* Preference console request processing.
*
*
* @author <a href="mailto:DL88250@gmail.com">Liang Ding</a>
* @author <a href="mailto:DL88250@gmail.com">Liang Ding</a>
* @version 1.0.0.
2, Mar 28
, 2012
* @version 1.0.0.
3, Jun 20
, 2012
* @since 0.4.0
* @since 0.4.0
*/
*/
@RequestProcessor
@RequestProcessor
...
@@ -213,7 +213,7 @@ public final class PreferenceConsole {
...
@@ -213,7 +213,7 @@ public final class PreferenceConsole {
final
JSONArray
signs
=
new
JSONArray
();
final
JSONArray
signs
=
new
JSONArray
();
final
JSONArray
allSigns
=
// includes the empty sign(id=0)
final
JSONArray
allSigns
=
// includes the empty sign(id=0)
new
JSONArray
(
preference
.
getString
(
Preference
.
SIGNS
));
new
JSONArray
(
preference
.
getString
(
Preference
.
SIGNS
));
for
(
int
i
=
1
;
i
<
allSigns
.
length
();
i
++)
{
// excludes the empty sign
for
(
int
i
=
1
;
i
<
allSigns
.
length
();
i
++)
{
// excludes the empty sign
signs
.
put
(
allSigns
.
getJSONObject
(
i
));
signs
.
put
(
allSigns
.
getJSONObject
(
i
));
}
}
...
@@ -241,13 +241,17 @@ public final class PreferenceConsole {
...
@@ -241,13 +241,17 @@ public final class PreferenceConsole {
* {
* {
* "sc": boolean,
* "sc": boolean,
* "preference": {
* "preference": {
* "recentArticleDisplayCount": int,
* "mostViewArticleDisplayCount": int,
* "recentCommentDisplayCount": int,
* "mostUsedTagDisplayCount": int,
* "mostUsedTagDisplayCount": int,
* "articleListDisplayCount": int,
* "articleListDisplayCount": int,
* "articleListPaginationWindowSize": int,
* "articleListPaginationWindowSize": int,
* "mostCommentArticleDisplayCount": int,
* "externalRelevantArticlesDisplayCount": int,
* "relevantArticlesDisplayCount": int,
* "randomArticlesDisplayCount": int,
* "blogTitle": "",
* "blogTitle": "",
* "blogSubtitle": "",
* "blogSubtitle": "",
* "mostCommentArticleDisplayCount": int,
* "blogHost": "",
* "blogHost": "",
* "localeString": "",
* "localeString": "",
* "timeZoneId": "",
* "timeZoneId": "",
...
@@ -259,9 +263,6 @@ public final class PreferenceConsole {
...
@@ -259,9 +263,6 @@ public final class PreferenceConsole {
* }, ....]",
* }, ....]",
* "noticeBoard": "",
* "noticeBoard": "",
* "htmlHead": "",
* "htmlHead": "",
* "externalRelevantArticlesDisplayCount": int,
* "relevantArticlesDisplayCount": int,
* "randomArticlesDisplayCount": int,
* "adminEmail": "",
* "adminEmail": "",
* "metaKeywords": "",
* "metaKeywords": "",
* "metaDescription": "",
* "metaDescription": "",
...
@@ -326,22 +327,23 @@ public final class PreferenceConsole {
...
@@ -326,22 +327,23 @@ public final class PreferenceConsole {
* <pre>
* <pre>
* {
* {
* "preference": {
* "preference": {
* "recentArticleDisplayCount": int,
* "mostViewArticleDisplayCount": int,
* "recentCommentDisplayCount": int,
* "mostUsedTagDisplayCount": int,
* "mostUsedTagDisplayCount": int,
* "articleListDisplayCount": int,
* "articleListDisplayCount": int,
* "articleListPaginationWindowSize": int
* "articleListPaginationWindowSize": int,
* "mostCommentArticleDisplayCount": int,
* "externalRelevantArticlesDisplayCount": int,
* "relevantArticlesDisplayCount": int,
* "randomArticlesDisplayCount": int,
* "blogTitle": "",
* "blogTitle": "",
* "blogSubtitle": "",
* "blogSubtitle": "",
* "mostCommentArticleDisplayCount": int,
* "skinDirName": "",
* "skinDirName": "",
* "blogHost": "",
* "blogHost": "",
* "localeString": "",
* "localeString": "",
* "timeZoneId": "",
* "timeZoneId": "",
* "noticeBoard": "",
* "noticeBoard": "",
* "htmlHead": "",
* "htmlHead": "",
* "externalRelevantArticlesDisplayCount": int,
* "relevantArticlesDisplayCount": int,
* "randomArticlesDisplayCount": int,
* "metaKeywords": "",
* "metaKeywords": "",
* "metaDescription": "",
* "metaDescription": "",
* "enableArticleUpdateHint": boolean,
* "enableArticleUpdateHint": boolean,
...
@@ -376,14 +378,17 @@ public final class PreferenceConsole {
...
@@ -376,14 +378,17 @@ public final class PreferenceConsole {
final
JSONObject
preference
=
requestJSONObject
.
getJSONObject
(
Preference
.
PREFERENCE
);
final
JSONObject
preference
=
requestJSONObject
.
getJSONObject
(
Preference
.
PREFERENCE
);
preferenceMgmtService
.
updatePreference
(
preference
);
final
JSONObject
ret
=
new
JSONObject
();
final
JSONObject
ret
=
new
JSONObject
();
renderer
.
setJSONObject
(
ret
);
if
(
isInvalid
(
preference
,
ret
))
{
return
;
}
preferenceMgmtService
.
updatePreference
(
preference
);
ret
.
put
(
Keys
.
STATUS_CODE
,
true
);
ret
.
put
(
Keys
.
STATUS_CODE
,
true
);
ret
.
put
(
Keys
.
MSG
,
langPropsService
.
get
(
"updateSuccLabel"
));
ret
.
put
(
Keys
.
MSG
,
langPropsService
.
get
(
"updateSuccLabel"
));
renderer
.
setJSONObject
(
ret
);
}
catch
(
final
ServiceException
e
)
{
}
catch
(
final
ServiceException
e
)
{
LOGGER
.
log
(
Level
.
SEVERE
,
e
.
getMessage
(),
e
);
LOGGER
.
log
(
Level
.
SEVERE
,
e
.
getMessage
(),
e
);
...
@@ -392,4 +397,106 @@ public final class PreferenceConsole {
...
@@ -392,4 +397,106 @@ public final class PreferenceConsole {
jsonObject
.
put
(
Keys
.
MSG
,
e
.
getMessage
());
jsonObject
.
put
(
Keys
.
MSG
,
e
.
getMessage
());
}
}
}
}
/**
* Checks whether the specified preference is invalid and sets the specified response object.
*
* @param preference the specified preference
* @param responseObject the specified response object
* @return {@code true} if the specified preference is invalid, returns {@code false} otherwise
*/
private
boolean
isInvalid
(
final
JSONObject
preference
,
final
JSONObject
responseObject
)
{
responseObject
.
put
(
Keys
.
STATUS_CODE
,
false
);
final
StringBuilder
errMsgBuilder
=
new
StringBuilder
(
'['
+
langPropsService
.
get
(
"paramSettingsLabel"
));
errMsgBuilder
.
append
(
" - "
);
String
input
=
preference
.
optString
(
Preference
.
EXTERNAL_RELEVANT_ARTICLES_DISPLAY_CNT
);
if
(!
isNonNegativeInteger
(
input
))
{
errMsgBuilder
.
append
(
langPropsService
.
get
(
"externalRelevantArticlesDisplayCntLabel"
)).
append
(
"] "
).
append
(
langPropsService
.
get
(
"nonNegativeIntegerOnlyLabel"
));
responseObject
.
put
(
Keys
.
MSG
,
errMsgBuilder
.
toString
());
return
true
;
}
input
=
preference
.
optString
(
Preference
.
RELEVANT_ARTICLES_DISPLAY_CNT
);
if
(!
isNonNegativeInteger
(
input
))
{
errMsgBuilder
.
append
(
langPropsService
.
get
(
"relevantArticlesDisplayCntLabel"
)).
append
(
"] "
).
append
(
langPropsService
.
get
(
"nonNegativeIntegerOnlyLabel"
));
responseObject
.
put
(
Keys
.
MSG
,
errMsgBuilder
.
toString
());
return
true
;
}
input
=
preference
.
optString
(
Preference
.
RANDOM_ARTICLES_DISPLAY_CNT
);
if
(!
isNonNegativeInteger
(
input
))
{
errMsgBuilder
.
append
(
langPropsService
.
get
(
"randomArticlesDisplayCntLabel"
)).
append
(
"] "
).
append
(
langPropsService
.
get
(
"nonNegativeIntegerOnlyLabel"
));
responseObject
.
put
(
Keys
.
MSG
,
errMsgBuilder
.
toString
());
return
true
;
}
input
=
preference
.
optString
(
Preference
.
MOST_COMMENT_ARTICLE_DISPLAY_CNT
);
if
(!
isNonNegativeInteger
(
input
))
{
errMsgBuilder
.
append
(
langPropsService
.
get
(
"indexMostCommentArticleDisplayCntLabel"
)).
append
(
"] "
).
append
(
langPropsService
.
get
(
"nonNegativeIntegerOnlyLabel"
));
responseObject
.
put
(
Keys
.
MSG
,
errMsgBuilder
.
toString
());
return
true
;
}
input
=
preference
.
optString
(
Preference
.
MOST_VIEW_ARTICLE_DISPLAY_CNT
);
if
(!
isNonNegativeInteger
(
input
))
{
errMsgBuilder
.
append
(
langPropsService
.
get
(
"indexMostViewArticleDisplayCntLabel"
)).
append
(
"] "
).
append
(
langPropsService
.
get
(
"nonNegativeIntegerOnlyLabel"
));
responseObject
.
put
(
Keys
.
MSG
,
errMsgBuilder
.
toString
());
return
true
;
}
input
=
preference
.
optString
(
Preference
.
RECENT_COMMENT_DISPLAY_CNT
);
if
(!
isNonNegativeInteger
(
input
))
{
errMsgBuilder
.
append
(
langPropsService
.
get
(
"indexRecentCommentDisplayCntLabel"
)).
append
(
"] "
).
append
(
langPropsService
.
get
(
"nonNegativeIntegerOnlyLabel"
));
responseObject
.
put
(
Keys
.
MSG
,
errMsgBuilder
.
toString
());
return
true
;
}
input
=
preference
.
optString
(
Preference
.
MOST_USED_TAG_DISPLAY_CNT
);
if
(!
isNonNegativeInteger
(
input
))
{
errMsgBuilder
.
append
(
langPropsService
.
get
(
"indexTagDisplayCntLabel"
)).
append
(
"] "
).
append
(
langPropsService
.
get
(
"nonNegativeIntegerOnlyLabel"
));
responseObject
.
put
(
Keys
.
MSG
,
errMsgBuilder
.
toString
());
return
true
;
}
input
=
preference
.
optString
(
Preference
.
ARTICLE_LIST_DISPLAY_COUNT
);
if
(!
isNonNegativeInteger
(
input
))
{
errMsgBuilder
.
append
(
langPropsService
.
get
(
"pageSizeLabel"
)).
append
(
"] "
).
append
(
langPropsService
.
get
(
"nonNegativeIntegerOnlyLabel"
));
responseObject
.
put
(
Keys
.
MSG
,
errMsgBuilder
.
toString
());
return
true
;
}
input
=
preference
.
optString
(
Preference
.
ARTICLE_LIST_PAGINATION_WINDOW_SIZE
);
if
(!
isNonNegativeInteger
(
input
))
{
errMsgBuilder
.
append
(
langPropsService
.
get
(
"windowSizeLabel"
)).
append
(
"] "
).
append
(
langPropsService
.
get
(
"nonNegativeIntegerOnlyLabel"
));
responseObject
.
put
(
Keys
.
MSG
,
errMsgBuilder
.
toString
());
return
true
;
}
return
false
;
}
/**
* Checks whether the specified input is a non-negative integer.
*
* @param input the specified input
* @return {@code true} if it is, returns {@code false} otherwise
*/
private
boolean
isNonNegativeInteger
(
final
String
input
)
{
try
{
return
0
<=
Integer
.
valueOf
(
input
);
}
catch
(
final
Exception
e
)
{
return
false
;
}
}
}
}
war/src/main/resources/lang_en_US.properties
View file @
295132c3
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
#
#
# Description: B3log Solo language configurations(en_US).
# Description: B3log Solo language configurations(en_US).
# Version: 2.0.9.
2, May 22
, 2012
# Version: 2.0.9.
3, Jun 20
, 2012
# Author: Liang Ding
# Author: Liang Ding
# Author: Liyuan Li
# Author: Liyuan Li
#
#
...
@@ -184,15 +184,25 @@ categoryLabel=Category
...
@@ -184,15 +184,25 @@ categoryLabel=Category
noticeBoard1Label
=
Notice Board:
noticeBoard1Label
=
Notice Board:
noticeBoardLabel
=
Notice Board
noticeBoardLabel
=
Notice Board
htmlhead1Label
=
HTML head:
htmlhead1Label
=
HTML head:
indexTagDisplayCntLabel
=
Index Tag Display Count
indexTagDisplayCnt1Label
=
Index Tag Display Count:
indexTagDisplayCnt1Label
=
Index Tag Display Count:
indexRecentArticleDisplayCntLabel
=
Recent Article Display Count
indexRecentArticleDisplayCnt1Label
=
Recent Article Display Count:
indexRecentArticleDisplayCnt1Label
=
Recent Article Display Count:
indexRecentCommentDisplayCntLabel
=
Recent Comment Display Count
indexRecentCommentDisplayCnt1Label
=
Recent Comment Display Count:
indexRecentCommentDisplayCnt1Label
=
Recent Comment Display Count:
indexMostCommentArticleDisplayCntLabel
=
Most Comment Article Display Count
indexMostCommentArticleDisplayCnt1Label
=
Most Comment Article Display Count:
indexMostCommentArticleDisplayCnt1Label
=
Most Comment Article Display Count:
indexMostViewArticleDisplayCntLabel
=
Most View Article Display Count
indexMostViewArticleDisplayCnt1Label
=
Most View Article Display Count:
indexMostViewArticleDisplayCnt1Label
=
Most View Article Display Count:
relevantArticlesDisplayCntLabel
=
Relevant Article Display Count
relevantArticlesDisplayCnt1Label
=
Relevant Article Display Count:
relevantArticlesDisplayCnt1Label
=
Relevant Article Display Count:
randomArticlesDisplayCntLabel
=
Random Article Display Count
randomArticlesDisplayCnt1Label
=
Random Article Display Count:
randomArticlesDisplayCnt1Label
=
Random Article Display Count:
externalRelevantArticlesDisplayCntLabel
=
External Relevant Article Display Count
externalRelevantArticlesDisplayCnt1Label
=
External Relevant Article Display Count:
externalRelevantArticlesDisplayCnt1Label
=
External Relevant Article Display Count:
windowSizeLabel
=
Pagination Window Size
windowSize1Label
=
Pagination Window Size:
windowSize1Label
=
Pagination Window Size:
pageSizeLabel
=
Pagination Page Size
pageSize1Label
=
Pagination Page Size:
pageSize1Label
=
Pagination Page Size:
blogTitle1Label
=
Blog Title:
blogTitle1Label
=
Blog Title:
blogSubtitle1Label
=
Blog Subtitle:
blogSubtitle1Label
=
Blog Subtitle:
...
@@ -298,6 +308,7 @@ nameTooLongLabel=Sorry, your username must be between 2 and 20 characters long.
...
@@ -298,6 +308,7 @@ nameTooLongLabel=Sorry, your username must be between 2 and 20 characters long.
mailCannotEmptyLabel
=
Mail is empty
mailCannotEmptyLabel
=
Mail is empty
mailInvalidLabel
=
Mail is invalid
mailInvalidLabel
=
Mail is invalid
urlInvalidLabel
=
URL is invalid
urlInvalidLabel
=
URL is invalid
nonNegativeIntegerOnlyLabel
=
Non-Negative integer only
commentContentCannotEmptyLabel
=
Sorry, your content must be between 2 and 500 characters long.
commentContentCannotEmptyLabel
=
Sorry, your content must be between 2 and 500 characters long.
captchaCannotEmptyLabel
=
Captcha is empty
captchaCannotEmptyLabel
=
Captcha is empty
loadingLabel
=
Loading....
loadingLabel
=
Loading....
...
...
war/src/main/resources/lang_zh_CN.properties
View file @
295132c3
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
#
#
# Description: B3log Solo default language configurations(zh_CN).
# Description: B3log Solo default language configurations(zh_CN).
# Version: 2.0.9.
8, May 22
, 2012
# Version: 2.0.9.
9, Jun 20
, 2012
# Author: Liang Ding
# Author: Liang Ding
# Author: Liyuan Li
# Author: Liyuan Li
#
#
...
@@ -184,15 +184,25 @@ categoryLabel=\u5206\u7c7b
...
@@ -184,15 +184,25 @@ categoryLabel=\u5206\u7c7b
noticeBoard1Label
=
\u
516c
\u
544a
\u
ff1a
noticeBoard1Label
=
\u
516c
\u
544a
\u
ff1a
noticeBoardLabel
=
\u
516c
\u
544a
noticeBoardLabel
=
\u
516c
\u
544a
htmlhead1Label
=
HTML head
\u
ff1a
htmlhead1Label
=
HTML head
\u
ff1a
indexTagDisplayCnt1Label
=
\u9996\u9875\u6807\u
7b7e
\u
663e
\u
793a
\u6570\u
ff1a
indexTagDisplayCntLabel
=
\u9996\u9875\u6807\u
7b7e
\u
663e
\u
793a
\u6570
indexTagDisplayCnt1Label=
\u9996\u9875\u6807\u
7b7e
\u
663e
\u
793a
\u6570\u
ff1a
indexRecentArticleDisplayCntLabel
=
\u6700\u
65b0
\u6587\u
7ae0
\u
663e
\u
793a
\u6570\u
76ee
indexRecentArticleDisplayCnt1Label
=
\u6700\u
65b0
\u6587\u
7ae0
\u
663e
\u
793a
\u6570\u
76ee
\u
ff1a
indexRecentArticleDisplayCnt1Label
=
\u6700\u
65b0
\u6587\u
7ae0
\u
663e
\u
793a
\u6570\u
76ee
\u
ff1a
indexRecentCommentDisplayCntLabel
=
\u6700\u
65b0
\u
8bc4
\u
8bba
\u
663e
\u
793a
\u6570\u
76ee
indexRecentCommentDisplayCnt1Label
=
\u6700\u
65b0
\u
8bc4
\u
8bba
\u
663e
\u
793a
\u6570\u
76ee
\u
ff1a
indexRecentCommentDisplayCnt1Label
=
\u6700\u
65b0
\u
8bc4
\u
8bba
\u
663e
\u
793a
\u6570\u
76ee
\u
ff1a
indexMostCommentArticleDisplayCntLabel
=
\u
8bc4
\u
8bba
\u6700\u
591a
\u6587\u
7ae0
\u
663e
\u
793a
\u6570\u
76ee
indexMostCommentArticleDisplayCnt1Label
=
\u
8bc4
\u
8bba
\u6700\u
591a
\u6587\u
7ae0
\u
663e
\u
793a
\u6570\u
76ee
\u
ff1a
indexMostCommentArticleDisplayCnt1Label
=
\u
8bc4
\u
8bba
\u6700\u
591a
\u6587\u
7ae0
\u
663e
\u
793a
\u6570\u
76ee
\u
ff1a
indexMostViewArticleDisplayCnt1Label
=
\u
8bbf
\u
95ee
\u6700\u
591a
\u6700\u
591a
\u6587\u
7ae0
\u
663e
\u
793a
\u6570\u
76ee
\u
ff1a
indexMostViewArticleDisplayCntLabel
=
\u
8bbf
\u
95ee
\u6700\u
591a
\u6587\u
7ae0
\u
663e
\u
793a
\u6570\u
76ee
indexMostViewArticleDisplayCnt1Label
=
\u
8bbf
\u
95ee
\u6700\u
591a
\u6587\u
7ae0
\u
663e
\u
793a
\u6570\u
76ee
\u
ff1a
relevantArticlesDisplayCntLabel
=
\u
76f8
\u5173\u9605\u
8bfb
\u
663e
\u
793a
\u6570\u
76ee
relevantArticlesDisplayCnt1Label
=
\u
76f8
\u5173\u9605\u
8bfb
\u
663e
\u
793a
\u6570\u
76ee
\u
ff1a
relevantArticlesDisplayCnt1Label
=
\u
76f8
\u5173\u9605\u
8bfb
\u
663e
\u
793a
\u6570\u
76ee
\u
ff1a
randomArticlesDisplayCntLabel
=
\u
968f
\u
673a
\u9605\u
8bfb
\u
663e
\u
793a
\u6570\u
76ee
randomArticlesDisplayCnt1Label
=
\u
968f
\u
673a
\u9605\u
8bfb
\u
663e
\u
793a
\u6570\u
76ee
\u
ff1a
randomArticlesDisplayCnt1Label
=
\u
968f
\u
673a
\u9605\u
8bfb
\u
663e
\u
793a
\u6570\u
76ee
\u
ff1a
externalRelevantArticlesDisplayCntLabel
=
\u
7ad9
\u5916\u
76f8
\u5173\u9605\u
8bfb
\u
663e
\u
793a
\u6570\u
76ee
externalRelevantArticlesDisplayCnt1Label
=
\u
7ad9
\u5916\u
76f8
\u5173\u9605\u
8bfb
\u
663e
\u
793a
\u6570\u
76ee
\u
ff1a
externalRelevantArticlesDisplayCnt1Label
=
\u
7ad9
\u5916\u
76f8
\u5173\u9605\u
8bfb
\u
663e
\u
793a
\u6570\u
76ee
\u
ff1a
windowSizeLabel
=
\u5206\u9875\u9875\u7801\u6700\u5927\u
5bbd
\u
5ea6
windowSize1Label
=
\u5206\u9875\u9875\u7801\u6700\u5927\u
5bbd
\u
5ea6
\u
ff1a
windowSize1Label
=
\u5206\u9875\u9875\u7801\u6700\u5927\u
5bbd
\u
5ea6
\u
ff1a
pageSizeLabel
=
\u5206\u9875\u
6bcf
\u9875\u
663e
\u
793a
\u6587\u
7ae0
\u6570
pageSize1Label=
\u5206\u9875\u
6bcf
\u9875\u
663e
\u
793a
\u6587\u
7ae0
\u6570\u
ff1a
pageSize1Label=
\u5206\u9875\u
6bcf
\u9875\u
663e
\u
793a
\u6587\u
7ae0
\u6570\u
ff1a
blogTitle1Label
=
\u
535a
\u
5ba2
\u6807\u9898\u
ff1a
blogTitle1Label
=
\u
535a
\u
5ba2
\u6807\u9898\u
ff1a
blogSubtitle1Label
=
\u
535a
\u
5ba2
\u
5b50
\u6807\u9898\u
ff1a
blogSubtitle1Label
=
\u
535a
\u
5ba2
\u
5b50
\u6807\u9898\u
ff1a
...
@@ -298,6 +308,7 @@ nameTooLongLabel=\u59d3\u540d\u53ea\u80fd\u4e3a 2 \u5230 20 \u4e2a\u5b57\u7b26\u
...
@@ -298,6 +308,7 @@ nameTooLongLabel=\u59d3\u540d\u53ea\u80fd\u4e3a 2 \u5230 20 \u4e2a\u5b57\u7b26\u
mailCannotEmptyLabel
=
\u
90ae
\u
7bb1
\u
4e0d
\u
80fd
\u
4e3a
\u
7a7a
\u
ff01
mailCannotEmptyLabel
=
\u
90ae
\u
7bb1
\u
4e0d
\u
80fd
\u
4e3a
\u
7a7a
\u
ff01
mailInvalidLabel
=
\u
90ae
\u
7bb1
\u
683c
\u
5f0f
\u
4e0d
\u
6b63
\u
786e
\u
ff01
mailInvalidLabel
=
\u
90ae
\u
7bb1
\u
683c
\u
5f0f
\u
4e0d
\u
6b63
\u
786e
\u
ff01
urlInvalidLabel
=
\u
94fe
\u
63a5
\u
683c
\u
5f0f
\u
4e0d
\u
6b63
\u
786e
\u
ff01
urlInvalidLabel
=
\u
94fe
\u
63a5
\u
683c
\u
5f0f
\u
4e0d
\u
6b63
\u
786e
\u
ff01
nonNegativeIntegerOnlyLabel
=
\u
53ea
\u
80fd
\u
4e3a
\u
975e
\u
8d1f
\u6574\u6570\u
ff01
commentContentCannotEmptyLabel
=
\u
8bc4
\u
8bba
\u5185\u
5bb9
\u
53ea
\u
80fd
\u
4e3a 2
\u5230
500
\u
4e2a
\u
5b57
\u
7b26
\u
ff01
commentContentCannotEmptyLabel
=
\u
8bc4
\u
8bba
\u5185\u
5bb9
\u
53ea
\u
80fd
\u
4e3a 2
\u5230
500
\u
4e2a
\u
5b57
\u
7b26
\u
ff01
captchaCannotEmptyLabel
=
\u
9a8c
\u
8bc1
\u7801\u
4e0d
\u
80fd
\u
4e3a
\u
7a7a
\u
ff01
captchaCannotEmptyLabel
=
\u
9a8c
\u
8bc1
\u7801\u
4e0d
\u
80fd
\u
4e3a
\u
7a7a
\u
ff01
loadingLabel
=
\u
8f7d
\u5165\u
4e2d....
loadingLabel
=
\u
8f7d
\u5165\u
4e2d....
...
...
war/src/main/webapp/CHANGE_LOGS.html
View file @
295132c3
...
@@ -5,6 +5,14 @@
...
@@ -5,6 +5,14 @@
<meta
http-equiv=
"Content-Type"
content=
"text/html; charset=UTF-8"
>
<meta
http-equiv=
"Content-Type"
content=
"text/html; charset=UTF-8"
>
</head>
</head>
<body>
<body>
<h2>
Release 0.4.6 - Jul 1, 2012
</h2>
<ul>
<li><a
href=
"https://github.com/b3log/b3log-solo/issues/10"
>
10 评论表情后台管理不显示
</a></li>
<li><a
href=
"https://github.com/b3log/b3log-solo/issues/12"
>
12 编辑自定义导航报错
</a></li>
<li><a
href=
"https://github.com/b3log/b3log-solo/issues/15"
>
15 sitemap.xml 导航生成重复
</a></li>
<li><a
href=
"https://github.com/b3log/b3log-solo/issues/17"
>
17 默认皮肤改为 ease
</a></li>
<li><a
href=
"https://github.com/b3log/b3log-solo/issues/27"
>
27 自定义导航后台链接问题
</a></li>
</ul>
<h2>
Release 0.4.5 - Jun 1, 2012
</h2>
<h2>
Release 0.4.5 - Jun 1, 2012
</h2>
<ul>
<ul>
<li><a
href=
"http://code.google.com/p/b3log-solo/issues/detail?id=302"
>
302 文章加密
</a></li>
<li><a
href=
"http://code.google.com/p/b3log-solo/issues/detail?id=302"
>
302 文章加密
</a></li>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment