├── .classpath
├── .project
├── .settings
├── .jsdtscope
├── org.eclipse.core.resources.prefs
├── org.eclipse.jdt.core.prefs
├── org.eclipse.wst.common.component
├── org.eclipse.wst.common.project.facet.core.xml
├── org.eclipse.wst.jsdt.ui.superType.container
└── org.eclipse.wst.jsdt.ui.superType.name
├── WebRoot
├── Article.jsp
├── Article_List.jsp
├── META-INF
│ └── MANIFEST.MF
├── WEB-INF
│ ├── applicationContext.xml
│ ├── classes
│ │ ├── com
│ │ │ ├── action
│ │ │ │ ├── journal
│ │ │ │ │ ├── AddJournalAction.class
│ │ │ │ │ ├── AddParagraph.class
│ │ │ │ │ ├── DeleteJournalAction.class
│ │ │ │ │ ├── DeleteParagraphAction.class
│ │ │ │ │ ├── EditJournalAction.class
│ │ │ │ │ ├── ListJournalAction.class
│ │ │ │ │ ├── ShowArticleAction.class
│ │ │ │ │ ├── modifyParagraphAction.class
│ │ │ │ │ └── showParagraph.class
│ │ │ │ └── user
│ │ │ │ │ ├── EnrollAction-validation.xml
│ │ │ │ │ ├── EnrollAction.class
│ │ │ │ │ ├── LoginAction.class
│ │ │ │ │ ├── LogoutAction.class
│ │ │ │ │ ├── ModifyUserInfoAction-validation.xml
│ │ │ │ │ ├── ModifyUserInfoAction.class
│ │ │ │ │ ├── UserManageAction.class
│ │ │ │ │ └── saveNoteAction.class
│ │ │ ├── bean
│ │ │ │ ├── Article.class
│ │ │ │ ├── Article.hbm.xml
│ │ │ │ ├── Chapter.class
│ │ │ │ ├── Chapter.hbm.xml
│ │ │ │ ├── Journal.class
│ │ │ │ ├── Journal.hbm.xml
│ │ │ │ ├── Paragraph.class
│ │ │ │ ├── Paragraph.hbm.xml
│ │ │ │ ├── User.class
│ │ │ │ └── User.hbm.xml
│ │ │ ├── dao
│ │ │ │ ├── JournalDAO.class
│ │ │ │ ├── UserDAO.class
│ │ │ │ └── impl
│ │ │ │ │ ├── JournalDAOImpl.class
│ │ │ │ │ └── UserDAOImpl.class
│ │ │ └── service
│ │ │ │ ├── JournalService.class
│ │ │ │ ├── UserService.class
│ │ │ │ └── impl
│ │ │ │ ├── JournalServiceImpl.class
│ │ │ │ └── UserServiceImpl.class
│ │ ├── hibernate.cfg.xml
│ │ └── struts.xml
│ ├── lib
│ │ ├── antlr-2.7.7.jar
│ │ ├── asm-3.3.jar
│ │ ├── asm-commons-3.3.jar
│ │ ├── asm-tree-3.3.jar
│ │ ├── commons-dbcp2-2.0.jar
│ │ ├── commons-fileupload-1.3.1.jar
│ │ ├── commons-io-2.2.jar
│ │ ├── commons-lang3-3.1.jar
│ │ ├── commons-logging-1.1.3.jar
│ │ ├── commons-pool2-2.2.jar
│ │ ├── dom4j-1.6.1.jar
│ │ ├── freemarker-2.3.19.jar
│ │ ├── hibernate-commons-annotations-4.0.4.Final.jar
│ │ ├── hibernate-core-4.3.4.Final.jar
│ │ ├── hibernate-jpa-2.1-api-1.0.0.Final.jar
│ │ ├── jandex-1.1.0.Final.jar
│ │ ├── javassist-3.18.1-GA.jar
│ │ ├── jboss-logging-3.1.3.GA.jar
│ │ ├── jboss-logging-annotations-1.2.0.Beta1.jar
│ │ ├── jboss-transaction-api_1.2_spec-1.0.0.Final.jar
│ │ ├── jta-1.1.jar
│ │ ├── jtds-1.3.1.jar
│ │ ├── log4j-1.2.17.jar
│ │ ├── mysql-connector-java-commercial-5.1.25-bin.jar
│ │ ├── ognl-3.0.6.jar
│ │ ├── spring-aop-3.0.5.RELEASE.jar
│ │ ├── spring-asm-3.0.5.RELEASE.jar
│ │ ├── spring-aspects-4.0.2.RELEASE.jar
│ │ ├── spring-beans-3.0.5.RELEASE.jar
│ │ ├── spring-context-3.0.5.RELEASE.jar
│ │ ├── spring-context-support-4.0.2.RELEASE.jar
│ │ ├── spring-core-3.0.5.RELEASE.jar
│ │ ├── spring-expression-3.0.5.RELEASE.jar
│ │ ├── spring-jdbc-4.0.2.RELEASE.jar
│ │ ├── spring-orm-4.0.2.RELEASE.jar
│ │ ├── spring-test-3.0.5.RELEASE.jar
│ │ ├── spring-tx-4.0.2.RELEASE.jar
│ │ ├── spring-web-3.0.5.RELEASE.jar
│ │ ├── struts2-core-2.3.16.1.jar
│ │ ├── struts2-spring-plugin-2.3.16.1.jar
│ │ └── xwork-core-2.3.16.1.jar
│ └── web.xml
├── css
│ ├── bootstrap-responsive.css
│ ├── bootstrap.css
│ ├── common.css
│ ├── demo.css
│ ├── floatmenu.css
│ ├── fonts
│ │ ├── BebasNeue-webfont.eot
│ │ ├── BebasNeue-webfont.svg
│ │ ├── BebasNeue-webfont.ttf
│ │ ├── BebasNeue-webfont.woff
│ │ └── Dharma Type Font License.txt
│ ├── shou.css
│ ├── style.css
│ ├── style2.css
│ ├── style3.css
│ ├── style4.css
│ └── style5.css
├── images
│ ├── 1.jpg
│ ├── 2.jpg
│ ├── 3.jpg
│ ├── ImagesByFlorianNicolle.txt
│ ├── add.png
│ ├── admin.png
│ ├── bg.jpg
│ ├── delete.png
│ ├── edit.png
│ ├── history.png
│ ├── kakaFoucs_bg.gif
│ ├── ml-open-demo.png
│ ├── nav-close.png
│ ├── new.png
│ ├── note.png
│ ├── pic_01.jpg
│ ├── pic_02.jpg
│ ├── pic_03.jpg
│ ├── pic_04.jpg
│ ├── pic_05.jpg
│ ├── search.png
│ ├── star
│ │ ├── .DS_Store
│ │ ├── cancel-off.png
│ │ ├── cancel-on.png
│ │ ├── star-half.png
│ │ ├── star-off.png
│ │ └── star-on.png
│ ├── thumbs
│ │ ├── 1.jpg
│ │ ├── 10.jpg
│ │ ├── 11.jpg
│ │ ├── 12.jpg
│ │ ├── 13.jpg
│ │ ├── 14.jpg
│ │ ├── 15.jpg
│ │ ├── 16.jpg
│ │ ├── 17.jpg
│ │ ├── 18.jpg
│ │ ├── 19.jpg
│ │ ├── 2.jpg
│ │ ├── 20.jpg
│ │ ├── 21.jpg
│ │ ├── 22.jpg
│ │ ├── 23.jpg
│ │ ├── 24.jpg
│ │ ├── 25.jpg
│ │ ├── 26.jpg
│ │ ├── 27.jpg
│ │ ├── 28.jpg
│ │ ├── 29.jpg
│ │ ├── 3.jpg
│ │ ├── 30.jpg
│ │ ├── 31.jpg
│ │ ├── 32.jpg
│ │ ├── 33.jpg
│ │ ├── 34.jpg
│ │ ├── 35.jpg
│ │ ├── 36.jpg
│ │ ├── 4.jpg
│ │ ├── 5.jpg
│ │ ├── 6.jpg
│ │ ├── 7.jpg
│ │ ├── 8.jpg
│ │ └── 9.jpg
│ ├── warning.png
│ └── x.png
├── js
│ ├── HTMLMaker.js
│ ├── bootstrap.js
│ ├── floatmenu.js
│ ├── focusBoxController.js
│ ├── jquery-1.9.0.js
│ ├── jquery.min.js
│ ├── jquery.mousewheel.js
│ ├── jquery.proximity.js
│ ├── jquery.raty.min.js
│ ├── jquery.scrollTo-1.4.2-min.js
│ ├── modernizr.custom.34978.js
│ ├── navbar.js
│ └── waypoints.min.js
├── message.jsp
├── paragraph.jsp
├── user.jsp
└── wellcome.jsp
└── src
├── com
├── action
│ ├── journal
│ │ ├── AddJournalAction.java
│ │ ├── AddParagraph.java
│ │ ├── DeleteJournalAction.java
│ │ ├── DeleteParagraphAction.java
│ │ ├── EditJournalAction.java
│ │ ├── ListJournalAction.java
│ │ ├── ShowArticleAction.java
│ │ ├── modifyParagraphAction.java
│ │ └── showParagraph.java
│ └── user
│ │ ├── EnrollAction-validation.xml
│ │ ├── EnrollAction.java
│ │ ├── LoginAction.java
│ │ ├── LogoutAction.java
│ │ ├── ModifyUserInfoAction-validation.xml
│ │ ├── ModifyUserInfoAction.java
│ │ ├── UserManageAction.java
│ │ └── saveNoteAction.java
├── bean
│ ├── Article.hbm.xml
│ ├── Article.java
│ ├── Chapter.hbm.xml
│ ├── Chapter.java
│ ├── Journal.hbm.xml
│ ├── Journal.java
│ ├── Paragraph.hbm.xml
│ ├── Paragraph.java
│ ├── User.hbm.xml
│ └── User.java
├── dao
│ ├── JournalDAO.java
│ ├── UserDAO.java
│ └── impl
│ │ ├── JournalDAOImpl.java
│ │ └── UserDAOImpl.java
└── service
│ ├── JournalService.java
│ ├── UserService.java
│ └── impl
│ ├── JournalServiceImpl.java
│ └── UserServiceImpl.java
├── hibernate.cfg.xml
└── struts.xml
/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | sshweb
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.wst.jsdt.core.javascriptValidator
10 |
11 |
12 |
13 |
14 | org.eclipse.jdt.core.javabuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.wst.common.project.facet.core.builder
20 |
21 |
22 |
23 |
24 | org.eclipse.wst.validation.validationbuilder
25 |
26 |
27 |
28 |
29 | com.genuitec.eclipse.j2eedt.core.DeploymentDescriptorValidator
30 |
31 |
32 |
33 |
34 |
35 | org.eclipse.jem.workbench.JavaEMFNature
36 | org.eclipse.wst.common.modulecore.ModuleCoreNature
37 | org.eclipse.wst.common.project.facet.core.nature
38 | org.eclipse.jdt.core.javanature
39 | org.eclipse.wst.jsdt.core.jsNature
40 |
41 |
42 |
--------------------------------------------------------------------------------
/.settings/.jsdtscope:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.settings/org.eclipse.core.resources.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | encoding//WebRoot/Article.jsp=UTF-8
3 | encoding//WebRoot/js/HTMLMaker.js=UTF-8
4 | encoding//WebRoot/paragraph.jsp=UTF-8
5 | encoding//WebRoot/user.jsp=UTF-8
6 |
--------------------------------------------------------------------------------
/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
4 | org.eclipse.jdt.core.compiler.compliance=1.6
5 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7 | org.eclipse.jdt.core.compiler.source=1.6
8 |
--------------------------------------------------------------------------------
/.settings/org.eclipse.wst.common.component:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/.settings/org.eclipse.wst.common.project.facet.core.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.settings/org.eclipse.wst.jsdt.ui.superType.container:
--------------------------------------------------------------------------------
1 | org.eclipse.wst.jsdt.launching.baseBrowserLibrary
--------------------------------------------------------------------------------
/.settings/org.eclipse.wst.jsdt.ui.superType.name:
--------------------------------------------------------------------------------
1 | Window
--------------------------------------------------------------------------------
/WebRoot/Article_List.jsp:
--------------------------------------------------------------------------------
1 | <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
2 | <%@ taglib prefix="s" uri="/struts-tags"%>
3 |
4 |
5 |
6 |
7 | Item Blur Effect with CSS3 and jQuery
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 | Article Wanted!
69 | Using Box Shadows, Transform and Transitions
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
101 |
102 |
X
103 |
104 |
选择杂志
105 |
106 |
107 | -
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
121 |
122 |
123 |
124 |
125 |
126 |
129 | |
130 | |
131 |
132 |
133 |
136 | |
137 | |
138 |
139 |
140 |
143 | |
144 | |
145 |
146 |
147 |
150 | |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
设置新杂志
162 |
163 |
172 |
173 |
174 |
175 |
176 |
177 |
178 |
X
179 |
180 |
181 | 新建杂志
182 |
183 |
184 |
185 |
186 |
187 |
188 |
216 |
217 |
218 |
219 |
220 |
221 |
222 |
223 |
224 |
225 |
X
226 |
227 |
编辑文章信息
228 | 请选择要编辑的文章
229 |
230 |
231 |
232 |
233 |
234 |
246 |
247 |
248 |
249 |
268 |
269 |
270 |
271 |
272 |
--------------------------------------------------------------------------------
/WebRoot/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Class-Path:
3 |
4 |
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/applicationContext.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | org.hibernate.dialect.MySQLDialect
21 |
22 | true
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 | com/bean/User.hbm.xml
32 | com/bean/Journal.hbm.xml
33 | com/bean/Article.hbm.xml
34 | com/bean/Chapter.hbm.xml
35 | com/bean/Paragraph.hbm.xml
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
166 |
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/action/journal/AddJournalAction.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/classes/com/action/journal/AddJournalAction.class
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/action/journal/AddParagraph.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/classes/com/action/journal/AddParagraph.class
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/action/journal/DeleteJournalAction.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/classes/com/action/journal/DeleteJournalAction.class
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/action/journal/DeleteParagraphAction.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/classes/com/action/journal/DeleteParagraphAction.class
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/action/journal/EditJournalAction.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/classes/com/action/journal/EditJournalAction.class
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/action/journal/ListJournalAction.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/classes/com/action/journal/ListJournalAction.class
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/action/journal/ShowArticleAction.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/classes/com/action/journal/ShowArticleAction.class
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/action/journal/modifyParagraphAction.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/classes/com/action/journal/modifyParagraphAction.class
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/action/journal/showParagraph.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/classes/com/action/journal/showParagraph.class
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/action/user/EnrollAction-validation.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 | true
9 |
10 |
11 |
12 | 6
13 | 20
14 | 用户名长度必须在 ${minLength} 到 ${maxLength}之间
15 |
16 |
17 |
18 |
19 | 密码不能为空
20 |
21 |
22 |
23 |
24 | true
25 | 确认密码不能为空!
26 |
27 |
28 |
29 | 确认密码和密码不一致!
30 |
31 |
32 |
33 |
34 | true
35 |
36 |
37 |
38 | 不合法的Email地址!
39 |
40 |
41 |
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/action/user/EnrollAction.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/classes/com/action/user/EnrollAction.class
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/action/user/LoginAction.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/classes/com/action/user/LoginAction.class
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/action/user/LogoutAction.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/classes/com/action/user/LogoutAction.class
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/action/user/ModifyUserInfoAction-validation.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 | true
9 |
10 |
11 |
12 | 6
13 | 20
14 | 用户名长度必须在 ${minLength} 到 ${maxLength}之间
15 |
16 |
17 |
18 |
19 | 密码不能为空
20 |
21 |
22 |
23 |
24 | true
25 | 确认密码不能为空!
26 |
27 |
28 |
29 | 确认密码和密码不一致!
30 |
31 |
32 |
33 |
34 | true
35 |
36 |
37 |
38 | 不合法的Email地址!
39 |
40 |
41 |
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/action/user/ModifyUserInfoAction.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/classes/com/action/user/ModifyUserInfoAction.class
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/action/user/UserManageAction.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/classes/com/action/user/UserManageAction.class
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/action/user/saveNoteAction.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/classes/com/action/user/saveNoteAction.class
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/bean/Article.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/classes/com/bean/Article.class
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/bean/Article.hbm.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/bean/Chapter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/classes/com/bean/Chapter.class
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/bean/Chapter.hbm.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/bean/Journal.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/classes/com/bean/Journal.class
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/bean/Journal.hbm.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/bean/Paragraph.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/classes/com/bean/Paragraph.class
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/bean/Paragraph.hbm.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
26 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/bean/User.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/classes/com/bean/User.class
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/bean/User.hbm.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/dao/JournalDAO.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/classes/com/dao/JournalDAO.class
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/dao/UserDAO.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/classes/com/dao/UserDAO.class
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/dao/impl/JournalDAOImpl.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/classes/com/dao/impl/JournalDAOImpl.class
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/dao/impl/UserDAOImpl.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/classes/com/dao/impl/UserDAOImpl.class
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/service/JournalService.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/classes/com/service/JournalService.class
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/service/UserService.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/classes/com/service/UserService.class
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/service/impl/JournalServiceImpl.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/classes/com/service/impl/JournalServiceImpl.class
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/com/service/impl/UserServiceImpl.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/classes/com/service/impl/UserServiceImpl.class
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/hibernate.cfg.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | com.mysql.jdbc.Driver
7 | jdbc:mysql://localhost:3306/storyfm
8 | root
9 | root
10 | org.hibernate.dialect.MySQLDialect
11 |
12 | update
13 | none
14 | true
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/classes/struts.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | listJournal
9 | /wellcome.jsp
10 |
11 |
12 | showArticle?article_id=${article_id}&chapter_id=${chapter_id}
13 | /wellcome.jsp
14 |
15 |
16 | /wellcome.jsp
17 |
18 |
19 | listJournal
20 | /wellcome.jsp
21 |
22 |
23 | /user.jsp
24 |
25 |
26 | userManage
27 | userManage
28 |
29 |
30 | /paragraph.jsp
31 |
32 |
42 |
43 |
44 |
45 | /Article_List.jsp
46 |
47 |
48 | listJournal
49 |
50 |
51 | listJournal
52 |
53 |
54 | listJournal?journal_id=${journal_id}
55 |
56 |
57 | Article.jsp
58 |
59 |
60 | showArticle?article_id=${article_id}&chapter_id=${chapter_id}
61 | /wellcome.jsp
62 |
63 |
64 | userManage
65 | /wellcome.jsp
66 |
67 |
68 | userManage
69 | /wellcome.jsp
70 |
71 |
72 |
73 |
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/antlr-2.7.7.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/antlr-2.7.7.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/asm-3.3.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/asm-3.3.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/asm-commons-3.3.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/asm-commons-3.3.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/asm-tree-3.3.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/asm-tree-3.3.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/commons-dbcp2-2.0.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/commons-dbcp2-2.0.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/commons-fileupload-1.3.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/commons-fileupload-1.3.1.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/commons-io-2.2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/commons-io-2.2.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/commons-lang3-3.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/commons-lang3-3.1.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/commons-logging-1.1.3.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/commons-logging-1.1.3.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/commons-pool2-2.2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/commons-pool2-2.2.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/dom4j-1.6.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/dom4j-1.6.1.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/freemarker-2.3.19.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/freemarker-2.3.19.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/hibernate-commons-annotations-4.0.4.Final.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/hibernate-commons-annotations-4.0.4.Final.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/hibernate-core-4.3.4.Final.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/hibernate-core-4.3.4.Final.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/hibernate-jpa-2.1-api-1.0.0.Final.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/hibernate-jpa-2.1-api-1.0.0.Final.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/jandex-1.1.0.Final.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/jandex-1.1.0.Final.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/javassist-3.18.1-GA.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/javassist-3.18.1-GA.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/jboss-logging-3.1.3.GA.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/jboss-logging-3.1.3.GA.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/jboss-logging-annotations-1.2.0.Beta1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/jboss-logging-annotations-1.2.0.Beta1.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/jboss-transaction-api_1.2_spec-1.0.0.Final.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/jboss-transaction-api_1.2_spec-1.0.0.Final.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/jta-1.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/jta-1.1.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/jtds-1.3.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/jtds-1.3.1.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/log4j-1.2.17.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/log4j-1.2.17.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/mysql-connector-java-commercial-5.1.25-bin.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/mysql-connector-java-commercial-5.1.25-bin.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/ognl-3.0.6.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/ognl-3.0.6.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/spring-aop-3.0.5.RELEASE.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/spring-aop-3.0.5.RELEASE.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/spring-asm-3.0.5.RELEASE.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/spring-asm-3.0.5.RELEASE.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/spring-aspects-4.0.2.RELEASE.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/spring-aspects-4.0.2.RELEASE.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/spring-beans-3.0.5.RELEASE.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/spring-beans-3.0.5.RELEASE.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/spring-context-3.0.5.RELEASE.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/spring-context-3.0.5.RELEASE.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/spring-context-support-4.0.2.RELEASE.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/spring-context-support-4.0.2.RELEASE.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/spring-core-3.0.5.RELEASE.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/spring-core-3.0.5.RELEASE.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/spring-expression-3.0.5.RELEASE.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/spring-expression-3.0.5.RELEASE.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/spring-jdbc-4.0.2.RELEASE.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/spring-jdbc-4.0.2.RELEASE.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/spring-orm-4.0.2.RELEASE.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/spring-orm-4.0.2.RELEASE.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/spring-test-3.0.5.RELEASE.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/spring-test-3.0.5.RELEASE.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/spring-tx-4.0.2.RELEASE.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/spring-tx-4.0.2.RELEASE.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/spring-web-3.0.5.RELEASE.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/spring-web-3.0.5.RELEASE.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/struts2-core-2.3.16.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/struts2-core-2.3.16.1.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/struts2-spring-plugin-2.3.16.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/struts2-spring-plugin-2.3.16.1.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/lib/xwork-core-2.3.16.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/WEB-INF/lib/xwork-core-2.3.16.1.jar
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 | contextConfigLocation
10 | /WEB-INF/applicationContext.xml
11 |
12 |
13 |
14 |
15 | org.springframework.web.context.ContextLoaderListener
16 |
17 |
18 |
19 | struts2
20 | org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
21 |
22 |
23 | struts2
24 | /*
25 |
26 |
27 |
28 | wellcome.jsp
29 |
30 |
--------------------------------------------------------------------------------
/WebRoot/css/common.css:
--------------------------------------------------------------------------------
1 | /* =====================================================================
2 | * Intro kakaFocus
3 | * Author icarrien@gmail.com
4 | * Version v1.0
5 | * WEB http://byzuo.com
6 | * Download http://sc.xueit.com
7 | * MadeTime 2010-05-28
8 | * LastModify 2010-05-28
9 | =====================================================================*/
10 |
11 | /*
12 | Reset&Clearfix
13 | *******************/
14 | div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,textarea,p,blockquote,th,td{margin:0;padding:0;word-wrap:break-word;}
15 | table{border-collapse:collapse;border-spacing:0;}
16 | fieldset,img{border:0;}
17 | ul,li{list-style:none;}
18 | legend{display:none;}
19 | h1,h2,h3,h4,h5,h6{font-size:100%;}
20 | em,strong,cite,th{font-style:normal;font-weight:400;}
21 | textarea,select,optgroup,option{font:12px Helvetica,Arial,sans-serif;}
22 | q:before,q:after{content:'';}
23 | .clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;}
24 | .clearfix{display:inline-block;}
25 | /*\*/ .clearfix{display:block;} /**/
26 | /*html{overflow:-moz-scrollbars-vertical;}*/
27 | a{color:#0287CA;text-decoration:none;}
28 | a:hover{text-decoration:underline;}
29 |
30 | /*
31 | banner
32 | *******************/
33 | .banner {
34 | position: relative;
35 | width: 790px;
36 | height: 250px;
37 | overflow: hidden;
38 | margin: 10px auto;
39 | }
40 | .banner_pic { position:relative; width:630px; height:210px; overflow:hidden; margin:0px auto 0; }
41 | .banner_pic ul { position:absolute; top:0; left:0; width:99999px; height:235px; }
42 | .banner_pic ul li { float:left; width:630px; }
43 | .banner a.btn_prev, .banner a.btn_next { display:block; width:30px; height:55px; overflow:hidden; margin-top:100px; background-image:url(../images/kakaFoucs_bg.gif); text-indent:-9999px; outline:none; hide-focus:expression(this.hideFocus=true); }
44 | .banner a.btn_prev { float:left; margin-left:2px!important; margin-left:1px; background-position:0 -350px; }
45 | .banner a.btn_next { float:right; margin-right:2px!important; margin-right:1px; background-position:-100px -350px;}
46 | .banner a.btn_prev:hover { background-position:-200px -350px; }
47 | .banner a.btn_next:hover { background-position:-300px -350px; }
48 | .banner_info { position:absolute; top:212px; left:130px; width:430px; height:40px; overflow:hidden; }
49 | .banner_info li{ display:none; }
50 | .banner_info li.current { display:block; }
51 | .banner_info li h4 { height:20px; overflow:hidden; }
52 | .banner_info li h4 a { color:#666; font-size:14px; }
53 | .banner_info li .ext, .banner_info li .ext a { color:#999; }
54 | span.pipe { padding:0 6px;}
55 | .banner_count { position:absolute; left:85px; top:212px; width:28px; height:30px; overflow:hidden; background:url(../images/kakaFoucs_bg.gif) no-repeat -400px -350px; color:#FFF; font-family:Verdana; text-align:center; line-height:42px; }
56 | .banner_pages { position:absolute; right:80px; top:212px; width:140px; height:30px; overflow:hidden; }
57 | .banner_pages ul { float:right; }
58 | .banner_pages li { float:left; margin-left:4px;}
59 | .banner_pages li span { display:block; width:9px; height:9px; overflow:hidden; background:url(../images/kakaFoucs_bg.gif) no-repeat -600px -350px; text-indent:-9999px; cursor:pointer; }
60 | .banner_pages li span:hover { background-position:-550px -350px; }
61 | .banner_pages li.current span, .banner_pages li.current span:hover { background:url(../images/kakaFoucs_bg.gif) no-repeat -500px -350px; }
62 |
--------------------------------------------------------------------------------
/WebRoot/css/demo.css:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: 'BebasNeueRegular';
3 | src: url('fonts/BebasNeue-webfont.eot');
4 | src: url('fonts/BebasNeue-webfont.eot?#iefix') format('embedded-opentype'),
5 | url('fonts/BebasNeue-webfont.woff') format('woff'),
6 | url('fonts/BebasNeue-webfont.ttf') format('truetype'),
7 | url('fonts/BebasNeue-webfont.svg#BebasNeueRegular') format('svg');
8 | font-weight: normal;
9 | font-style: normal;
10 | }
11 | /* CSS reset */
12 | body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {
13 | margin:0;
14 | padding:0;
15 | }
16 | html,body {
17 | margin:0;
18 | padding:0;
19 | }
20 | table {
21 | border-collapse:collapse;
22 | border-spacing:0;
23 | }
24 | fieldset,img {
25 | border:0;
26 | }
27 | input.button{
28 | border: 1px solid #b0b0b0;
29 | padding: 3px 5px 4px;
30 | color: #F0F0F0;
31 | width: 190px;
32 | background-color: #5693ca;
33 | height: 25px;
34 | }
35 | input.button[disabled='disabled']{
36 | border: 1px solid #b0b0b0;
37 | padding: 3px 5px 4px;
38 | color: #b0b0b0;
39 | width: 190px;
40 | background-color: #d2d2d2;
41 | height: 25px;
42 | }
43 | input.submit{
44 | border: 1px solid #b0b0b0;
45 | padding: 3px 5px 4px;
46 | color: #F0F0F0;
47 | width: 190px;
48 | background-color: #09F;
49 | height: 25px;
50 | }
51 | address,caption,cite,code,dfn,th,var {
52 | font-style:normal;
53 | font-weight:normal;
54 | }
55 | ol,ul {
56 | list-style:none;
57 | }
58 | caption,th {
59 | text-align:left;
60 | }
61 | h1,h2,h3,h4,h5,h6 {
62 | font-size:100%;
63 | font-weight:normal;
64 | }
65 | q:before,q:after {
66 | content:'';
67 | }
68 | abbr,acronym { border:0;
69 | }
70 | /* General Demo Style */
71 | body{
72 | font-family: Constantia, Palatino, "Palatino Linotype", "Palatino LT STD", Georgia, serif;
73 | background: #fbf8f4 url(../images/bg.jpg) repeat top left;
74 | font-weight: 400;
75 | font-size: 15px;
76 | color: #936a46;
77 | overflow-y: scroll;
78 | overflow-x: hidden;
79 | }
80 | .ie7 body{
81 | overflow:hidden;
82 | }
83 | a{
84 | color: #333;
85 | text-decoration: none;
86 | }
87 | .container{
88 | position: relative;
89 | text-align: center;
90 | }
91 | .clr{
92 | clear: both;
93 | }
94 | .container > header{
95 | padding: 20px 30px 10px 30px;
96 | margin: 0px 20px 10px 20px;
97 | position: relative;
98 | display: block;
99 | text-shadow: 1px 1px 1px rgba(0,0,0,0.2);
100 | text-align: center;
101 | }
102 | .container > header h1{
103 | font-family: 'BebasNeueRegular', 'Arial Narrow', Arial, sans-serif;
104 | font-size: 35px;
105 | line-height: 35px;
106 | position: relative;
107 | font-weight: 400;
108 | color: rgba(27,54,81,0.8);
109 | text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
110 | padding: 0px 0px 5px 0px;
111 | }
112 | .container > header h1 span{
113 | color: #008dc1;
114 | text-shadow: 0px 1px 1px rgba(255,255,255,0.8);
115 | }
116 | .container > header h2, p.info{
117 | font-size: 16px;
118 | font-style: italic;
119 | color: #283847;
120 | text-shadow: 0px 1px 1px rgba(255,255,255,1);
121 | }
122 | .container > header h2 a{
123 | color: #936a46;
124 | text-shadow: 0px 1px 1px rgba(255,255,255,0.8);
125 | }
126 | .container > header h2 a:hover{
127 | color: #614429;
128 | }
129 | /* Header Style */
130 | .codrops-top{
131 | font-family:'Arial Narrow', Arial, sans-serif;
132 | line-height: 24px;
133 | font-size: 11px;
134 | width: 100%;
135 | background: #000;
136 | opacity: 0.9;
137 | text-transform: uppercase;
138 | z-index: 9999;
139 | position: relative;
140 | -moz-box-shadow: 1px 0px 2px #000;
141 | -webkit-box-shadow: 1px 0px 2px #000;
142 | box-shadow: 1px 0px 2px #000;
143 | }
144 | .codrops-top a{
145 | padding: 0px 10px;
146 | letter-spacing: 1px;
147 | color: #ddd;
148 | display: block;
149 | float: left;
150 | }
151 | .codrops-top a:hover{
152 | color: #fff;
153 | }
154 | .codrops-top span.right{
155 | float: right;
156 | }
157 | .codrops-top span.right a{
158 | float: none;
159 | display: inline;
160 | }
161 |
162 | p.codrops-demos{
163 | text-align:center;
164 | display: block;
165 | padding: 14px;
166 | }
167 | p.codrops-demos a,
168 | p.codrops-demos a.current-demo,
169 | p.codrops-demos a.current-demo:hover{
170 | display: inline-block;
171 | border: 1px solid #ddd;
172 | border-color: #ddd #aaa #aaa #ddd;
173 | padding: 4px 10px 3px;
174 | font-size: 13px;
175 | line-height: 18px;
176 | margin: 0px 3px;
177 | font-weight: 800;
178 | -webkit-box-shadow: 0px 1px 1px rgba(0,0,0,0.1);
179 | -moz-box-shadow:0px 1px 1px rgba(0,0,0,0.1);
180 | box-shadow: 0px 1px 1px rgba(0,0,0,0.1);
181 | color: rgba(27,54,81,0.8);
182 | -webkit-border-radius: 5px;
183 | -moz-border-radius: 5px;
184 | border-radius: 5px;
185 | background: #fff;
186 | text-shadow: 0px 1px 1px rgba(255,255,255,0.9);
187 | background: -moz-linear-gradient(top, #ffffff 0%, #f6f6f6 47%, #ededed 100%);
188 | background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(47%,#f6f6f6), color-stop(100%,#ededed));
189 | background: -webkit-linear-gradient(top, #ffffff 0%,#f6f6f6 47%,#ededed 100%);
190 | background: -o-linear-gradient(top, #ffffff 0%,#f6f6f6 47%,#ededed 100%);
191 | background: -ms-linear-gradient(top, #ffffff 0%,#f6f6f6 47%,#ededed 100%);
192 | background: linear-gradient(top, #ffffff 0%,#f6f6f6 47%,#ededed 100%);
193 | }
194 | p.codrops-demos a:hover{
195 | background: #fff;
196 | color: #008dc1;
197 | }
198 | p.codrops-demos a:active{
199 | background: #e5e5e5;
200 | background: -moz-linear-gradient(top, #e5e5e5 0%, #ffffff 100%);
201 | background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e5e5e5), color-stop(100%,#ffffff));
202 | background: -webkit-linear-gradient(top, #e5e5e5 0%,#ffffff 100%);
203 | background: -o-linear-gradient(top, #e5e5e5 0%,#ffffff 100%);
204 | background: -ms-linear-gradient(top, #e5e5e5 0%,#ffffff 100%);
205 | background: linear-gradient(top, #e5e5e5 0%,#ffffff 100%);
206 | -webkit-box-shadow: 0px 1px 1px rgba(255,255,255,0.9);
207 | -moz-box-shadow:0px 1px 1px rgba(255,255,255,0.9);
208 | box-shadow: 0px 1px 1px rgba(255,255,255,0.9);
209 | }
210 | p.codrops-demos a.current-demo,
211 | p.codrops-demos a.current-demo:hover{
212 | color: #fff;
213 | background: #008dc1;
214 | text-shadow: 1px 1px 1px rgba(0,0,0,0.1);
215 | }
216 | /* Media Queries */
217 | @media screen and (max-width: 767px) {
218 | .container > header{
219 | text-align: center;
220 | }
221 | p.codrops-demos {
222 | position: relative;
223 | top: auto;
224 | left: auto;
225 | }
226 | }
227 |
--------------------------------------------------------------------------------
/WebRoot/css/floatmenu.css:
--------------------------------------------------------------------------------
1 | /* weiduduan */
2 | .weiduduan{ width:550px; margin:15px auto 0 auto;}
3 | .float-news,.float-open{background:#fbfbfb;border:2px solid #e1e1e1;border-left:0 none;border-top-right-radius:4px;border-bottom-right-radius:4px;box-shadow:1px 1px 2px rgba(0, 0, 0, 0.5);display:inline-block;font-size:16px;}
4 | .float-news{height:380px;left:0px;padding:10px 15px;width:300px;z-index:100;top:117px;_margin-top:117px;}
5 | .float-open{height:48px;left:-70px;padding:4px 4px 4px 6px;width:48px;z-index:99;top:206px;_margin-top:206px;}
6 | .float-news,.float-open{position:fixed;*zoom:1;_position:absolute;_top:expression(eval(document.documentElement.scrollTop));}
7 | .float-close{overflow:hidden;height:48px;opacity:.6;filter:alpha(opacity=60);position:absolute;right:9px;text-indent:100%;top:10px;white-space:nowrap;width:48px;}
8 | .open-btn{display:block;overflow:hidden;height:48px;opacity:.6;filter:alpha(opacity=60);text-indent:100%;white-space:nowrap;width:48px;}
9 | .float-close:hover,.open-btn:hover{opacity:1;filter:alpha(opacity=100);}
10 | .newslist h3{color:#333;border-bottom:4px solid #F2F2F2;font-size:26px;height:54px;line-height:54px;font-family:Microsoft Yahei,simsun,arial,sans-serif;}
11 | .newslist ul{margin-top:10px;}
12 | .newslist li{position:relative;height:30px;line-height:30px;font-size:14px;border-bottom:1px #ccc dotted}
13 | .newslist li a{color:#404040;}
14 | .newslist li span{position:absolute;right:0;color:#ccc;}
15 | .newslist li:last-child{border-bottom:0;}
16 |
17 | .submenu{opacity:.6;filter:alpha(opacity=60);}
18 | .submenuimg{height:48px;width:48px;}
19 | .submenu:hover{opacity:1;filter:alpha(opacity=100);}
--------------------------------------------------------------------------------
/WebRoot/css/fonts/BebasNeue-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/css/fonts/BebasNeue-webfont.eot
--------------------------------------------------------------------------------
/WebRoot/css/fonts/BebasNeue-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/css/fonts/BebasNeue-webfont.ttf
--------------------------------------------------------------------------------
/WebRoot/css/fonts/BebasNeue-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/css/fonts/BebasNeue-webfont.woff
--------------------------------------------------------------------------------
/WebRoot/css/fonts/Dharma Type Font License.txt:
--------------------------------------------------------------------------------
1 | ____________________________________________________________________________________________________
2 | _____ _ _ __ ____ _ _ __ ______ _ _ ____ _____
3 | / ) / / / | / ) / /| / | / | / / ) / '
4 | ---/----/----/___ /-----/__|----/___ /----/| /-|----/__|--------/--------|---/-----/____/----/__----
5 | / / / / / | / | / |/ | / | / | / / /
6 | _/____/____/____/_____/____|__/_____|___/__/___|__/____|______/__________|_/_____/_________/____ ___
7 | /
8 | (_ / DHARMA TYPE FREE FONTs
9 |
10 |
11 | EULA ( the End User License Agreement )
12 |
13 | This document is a legal agreement between you the end user, and Dharma Type.
14 | By using or installing Dharma Type font(s), you agree to be bound by the terms of this Agreement.
15 |
16 | 1. You may use this font for both commercial and non-commercial works at no charge.
17 | 2. You may use this font to create images on the website or printed matter on papre, logomark.....up to you.
18 | 3. You may not sell this font without permission.
19 | 4. You may not redistribute this font without permission.
20 | 5. You may not modify, adapt, translate, reverse engineer, decompile, disassemble, or create derivative works based on this font.
21 | 6. This font are Copyrighted by Ryoichi Tsunekawa. All rights reserved. You may not claim copyrgiht rights for this font.
22 | 7. DISCLAIMER
23 | This font is provided to you free of charge.
24 | Dharma Type give no warranty in relation to this font, and you use this at your own risk.
25 | Dharma Type will not be liable for any damage to your system, any loss or corruption of any data or software,
26 | or any other loss or damage that you may suffer as a result of downloading or using this font, whether it results from our negligence or in any other way.
27 |
28 | Here is a list of things you could do, Only if you want to:
29 | * Link http://dharmatype.com/ or credit "Dharma Type"
30 | * Tell me what did you use this font for.
31 |
32 |
33 | FAQ
34 |
35 | Q_ Can I use this for a commercial product?
36 | A_ Yes, You can!
37 |
38 | Q_ Can I use this on a web page via css @font-face?
39 | A_ Yes, You can!
40 |
41 | Q_ Can I donate $ to you?
42 | A_ Yes, You can! ( Paypal: info@flat-it.com )
43 |
44 |
45 |
46 | Contact_______________________________
47 |
48 | info@dharmatype.com
49 |
50 | Dharma Type (http://dharmatype.com)
51 | |
52 | |___ Flat it type foundry
53 | |
54 | |___ Prop-a-ganda
55 | |
56 | |___ Holiday Type
57 | ______________________________________
--------------------------------------------------------------------------------
/WebRoot/css/shou.css:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | /*
3 | *
4 | * webname:维度端前端网
5 | * website:http://www.weiduduan.com/
6 | * author:vdu
7 | * qq:2210682628
8 | *
9 | */
10 |
11 | /* reset */
12 | body{font:12px/18px "宋体",arial,sans-serif;color:#585858;}
13 |
14 | body,div,p,span,form,iframe,table,td,th,input,textarea,button,label,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6{margin:0;padding:0;}
15 | h1,h2,h3,h4,h5,h6{font-size:100%; }
16 | ul,ol,li,dl{list-style-type:none;}
17 | em,i,dfn,cite,strong,small{font-style:normal;}
18 | img{border:0;}
19 | fieldset,button,input,select,option{vertical-align:middle;font:12px/18px "宋体",arial,sans-serif;}
20 | table{border-collapse:collapse;border-spacing:0}
21 | textarea{resize:none}
22 |
23 | /* color */
24 | a:link,a:visited{color:#575757;text-decoration:none;}
25 | a:hover{color:#ef4165;text-decoration:none;}
26 | a:active{color:#1d7400;}
27 |
28 | /* clearfix */
29 | .clearfix{ *zoom:1;}
30 | .clearfix:after{ display:table; line-height:0; content:""; clear:both;}
31 |
32 | /* weiduduan */
33 | .weiduduan{ width:550px; margin:15px auto 0 auto;}
34 | .float-news,.float-open{background:#fbfbfb;border:2px solid #e1e1e1;border-left:0 none;border-top-right-radius:4px;border-bottom-right-radius:4px;box-shadow:1px 1px 2px rgba(0, 0, 0, 0.5);display:inline-block;font-size:16px;}
35 | .float-news{height:380px;left:0px;padding:10px 15px;width:300px;z-index:100;top:117px;_margin-top:117px;}
36 | .float-open{height:48px;left:-70px;padding:4px 4px 4px 6px;width:48px;z-index:99;top:206px;_margin-top:206px;}
37 | .float-news,.float-open{position:fixed;*zoom:1;_position:absolute;_top:expression(eval(document.documentElement.scrollTop));}
38 | .float-close{overflow:hidden;height:48px;opacity:.6;filter:alpha(opacity=60);position:absolute;right:9px;text-indent:100%;top:10px;white-space:nowrap;width:48px;}
39 | .open-btn{display:block;overflow:hidden;height:48px;opacity:.6;filter:alpha(opacity=60);text-indent:100%;white-space:nowrap;width:48px;}
40 | .float-close:hover,.open-btn:hover{opacity:1;filter:alpha(opacity=100);}
41 | .newslist h3{color:#333;border-bottom:4px solid #F2F2F2;font-size:26px;height:54px;line-height:54px;font-family:Microsoft Yahei,simsun,arial,sans-serif;}
42 | .newslist ul{margin-top:10px;}
43 | .newslist li{position:relative;height:30px;line-height:30px;font-size:14px;border-bottom:1px #ccc dotted}
44 | .newslist li a{color:#404040;}
45 | .newslist li span{position:absolute;right:0;color:#ccc;}
46 | .newslist li:last-child{border-bottom:0;}
47 | /* 维度端前端网整理 http://www.weiduduan.com */
--------------------------------------------------------------------------------
/WebRoot/css/style.css:
--------------------------------------------------------------------------------
1 | .ib-container{
2 | position: relative;
3 | width: 800px;
4 | margin: 30px auto;
5 | display: block;
6 | }
7 | .ib-container:before,
8 | .ib-container:after {
9 | content:"";
10 | display:table;
11 | }
12 | .ib-container:after {
13 | clear:both;
14 | }
15 | .ib-container article{
16 | display: block;
17 | width: 140px;
18 | height: 220px;
19 | background: #fff;
20 | cursor: pointer;
21 | float: left;
22 | border: 10px solid #fff;
23 | text-align: left;
24 | text-transform: none;
25 | margin: 15px;
26 | z-index: 1;
27 | -webkit-backface-visibility: hidden;
28 | box-shadow:
29 | 0px 0px 0px 10px rgba(255,255,255,1),
30 | 1px 1px 3px 10px rgba(0,0,0,0.2);
31 | -webkit-transition:
32 | opacity 0.4s linear,
33 | -webkit-transform 0.4s ease-in-out,
34 | box-shadow 0.4s ease-in-out;
35 | -moz-transition:
36 | opacity 0.4s linear,
37 | -moz-transform 0.4s ease-in-out,
38 | box-shadow 0.4s ease-in-out;
39 | -o-transition:
40 | opacity 0.4s linear,
41 | -o-transform 0.4s ease-in-out,
42 | box-shadow 0.4s ease-in-out;
43 | -ms-transition:
44 | opacity 0.4s linear,
45 | -ms-transform 0.4s ease-in-out,
46 | box-shadow 0.4s ease-in-out;
47 | transition:
48 | opacity 0.4s linear,
49 | transform 0.4s ease-in-out,
50 | box-shadow 0.4s ease-in-out;
51 |
52 | }
53 | .ib-container h3 a{
54 | font-size: 16px;
55 | font-weight: 400;
56 | color: #000;
57 | color: rgba(0, 0, 0, 1);
58 | text-shadow: 0px 0px 0px rgba(0, 0, 0, 1);
59 | opacity: 0.8;
60 | }
61 | .ib-container article header span{
62 | font-size: 10px;
63 | font-family: "Big Caslon", "Book Antiqua", "Palatino Linotype", Georgia, serif;
64 | padding: 10px 0;
65 | display: block;
66 | color: #FFD252;
67 | color: rgba(255, 210, 82, 1);
68 | text-shadow: 0px 0px 0px rgba(255, 210, 82, 1);
69 | text-transform: uppercase;
70 | opacity: 0.8;
71 | }
72 | .ib-container article p{
73 | font-family: Verdana, sans-serif;
74 | font-size: 10px;
75 | line-height: 13px;
76 | color: #333;
77 | color: rgba(51, 51, 51, 1);
78 | text-shadow: 0px 0px 0px rgba(51, 51, 51, 1);
79 | opacity: 0.8;
80 | }
81 | .ib-container h3 a,
82 | .ib-container article header span,
83 | .ib-container article p{
84 | -webkit-transition:
85 | opacity 0.2s linear,
86 | text-shadow 0.5s ease-in-out,
87 | color 0.5s ease-in-out;
88 | -moz-transition:
89 | opacity 0.2s linear,
90 | text-shadow 0.5s ease-in-out,
91 | color 0.5s ease-in-out;
92 | -o-transition:
93 | opacity 0.2s linear,
94 | text-shadow 0.5s ease-in-out,
95 | color 0.5s ease-in-out;
96 | -ms-transition:
97 | opacity 0.2s linear,
98 | text-shadow 0.5s ease-in-out,
99 | color 0.5s ease-in-out;
100 | transition:
101 | opacity 0.2s linear,
102 | text-shadow 0.5s ease-in-out,
103 | color 0.5s ease-in-out;
104 | }
105 | /* Hover Style for all the items: blur, scale down*/
106 | .ib-container article.blur{
107 | box-shadow: 0px 0px 20px 10px rgba(255,255,255,1);
108 | -webkit-transform: scale(0.9);
109 | -moz-transform: scale(0.9);
110 | -o-transform: scale(0.9);
111 | -ms-transform: scale(0.9);
112 | transform: scale(0.9);
113 | opacity: 0.7;
114 | }
115 | .ib-container article.blur h3 a{
116 | text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.9);
117 | color: rgba(0, 0, 0, 0);
118 | opacity: 0.5;
119 | }
120 | .ib-container article.blur header span{
121 | text-shadow: 0px 0px 10px rgba(255, 210, 82, 0.9);
122 | color: rgba(255, 210, 82, 0);
123 | opacity: 0.5;
124 | }
125 | .ib-container article.blur p{
126 | text-shadow: 0px 0px 10px rgba(51, 51, 51, 0.9);
127 | color: rgba(51, 51, 51, 0);
128 | opacity: 0.5;
129 | }
130 |
131 | /* Hover Style for single item: scale up */
132 | .ib-container article.active{
133 | -webkit-transform: scale(1.05);
134 | -moz-transform: scale(1.05);
135 | -o-transform: scale(1.05);
136 | -ms-transform: scale(1.05);
137 | transform: scale(1.05);
138 | box-shadow:
139 | 0px 0px 0px 10px rgba(255,255,255,1),
140 | 1px 11px 15px 10px rgba(0,0,0,0.4);
141 | z-index: 100;
142 | opacity: 1;
143 | }
144 | .ib-container article.active h3 a,
145 | .ib-container article.active header span,
146 | .ib-container article.active p{
147 | opacity; 1;
148 | }
149 |
150 |
--------------------------------------------------------------------------------
/WebRoot/css/style2.css:
--------------------------------------------------------------------------------
1 | article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
2 | display: block;
3 | }
4 | blockquote, q {
5 | quotes: none;
6 | }
7 | blockquote:before, blockquote:after, q:before, q:after {
8 | content: "";
9 | content: none;
10 | }
11 | /* Body and Wrapper */
12 | .wrapper {
13 | background: #F5F5F5;
14 | background: rgba(245, 245, 245, 0.75);
15 | margin: 50px auto;
16 | width: 960px;
17 | padding: 0 25px;
18 | border: 1px solid #FFFFFF;
19 | -webkit-box-shadow: #444 0px 0px 7px;
20 | -moz-box-shadow: #444 0px 0px 7px;
21 | box-shadow: #444 0px 0px 7px;
22 | }
23 | /* Trannsitions */
24 | nav li a, .links li a, .image, #gallery ul.gallery a img, .social img, a.-button, input[type="text"], textarea {
25 | -webkit-transition: all .3s ease-in-out;
26 | -moz-transition: all .3s ease-in-out;
27 | -o-transition: all .3s ease-in-out;
28 | -ms-transition: all .3s ease-in-out;
29 | transition: all .3s ease-in-out;
30 | }
31 | /* Typography */
32 | h1, h2, h3, h4, h5, h6 {
33 | color: #403D3A;
34 | font-family: 'Open Sans', sans-serif;
35 | line-height: normal;
36 | font-variant: small-caps;
37 | }
38 | h1 {
39 | font-size: 46px;
40 | }
41 | h2 {
42 | font-size: 36px;
43 | }
44 | h3 {
45 | font-size: 28px;
46 | }
47 | h4 {
48 | font-size: 21px;
49 | margin: 10px 0;
50 | }
51 | h5 {
52 | font-size: 18px;
53 | font-weight: normal;
54 | }
55 | h6 {
56 | font-size: 15px;
57 | font-weight: normal;
58 | }
59 | a {
60 | color: #5593ca;
61 | text-decoration: none;
62 | }
63 | a:hover {
64 | text-decoration: underline;
65 | }
66 | header h1 {
67 | font: 80px/80px 'BebasNeueRegular', sans-serif;
68 | color: #5593ca;
69 | text-align: center;
70 | margin: 5px 0 0 0;
71 | }
72 | /* Navigation */
73 | .sticky {
74 | position: fixed;
75 | top: 15px;
76 | -webkit-animation: thedrop 1s 1;
77 | -moz-animation: thedrop 1s 1;
78 | -ms-animation: thedrop 1s 1;
79 | -o-animation: thedrop 1s 1;
80 | animation: thedrop 1s 1;
81 | }
82 | .nav-container {
83 | margin-bottom: 10px;
84 | width: 100%;
85 | margin-right: -2em;
86 | }
87 | nav {
88 | z-index: 42;
89 | -webkit-box-sizing: border-box;
90 | -moz-box-sizing: border-box;
91 | -ms-box-sizing: border-box;
92 | box-sizing: border-box;
93 | width: 1042px;
94 | padding: 1em 3em;
95 | margin-left: -41px;
96 | background: #5593ca;
97 | position: relative;
98 | border-top-left-radius: 1em 0.5em;
99 | border-top-right-radius: 1em 0.5em;
100 | }
101 | .nav-left {
102 | position: absolute;
103 | left: 0;
104 | bottom: -14px;
105 | width: 14px;
106 | height: 14px;
107 | background: #5593ca;
108 | border-bottom-left-radius: 100% 50%;
109 | }
110 | .nav-left:after {
111 | content: '';
112 | position: absolute;
113 | right: 0;
114 | width: 66%;
115 | height: 66%;
116 | background: #333;
117 | border-top-left-radius: 100% 50%;
118 | border-bottom-left-radius: 100% 50%;
119 | }
120 | .nav-right {
121 | position: absolute;
122 | right: 0;
123 | bottom: -14px;
124 | width: 14px;
125 | height: 14px;
126 | background: #5593ca;
127 | border-bottom-right-radius: 100% 50%;
128 | }
129 | .nav-right:after {
130 | content: '';
131 | position: absolute;
132 | left: 0;
133 | width: 66%;
134 | height: 66%;
135 | background: #333;
136 | border-top-right-radius: 100% 50%;
137 | border-bottom-right-radius: 100% 50%;
138 | }
139 | nav li {
140 | display: inline;
141 | list-style: none;
142 | }
143 | nav li a {
144 | color: #F5F5F5;
145 | font: 20px/20px 'BebasNeueRegular', sans-serif;
146 | width: 5em;
147 | text-align: center;
148 | padding: .5em 1em;
149 | margin-left: -2px;
150 | }
151 | nav li a:hover, nav li a.selected {
152 | background: #36638a;
153 | text-decoration: none;
154 | }
155 | /* General Styling */
156 | section {
157 | clear: both;
158 | }
159 |
--------------------------------------------------------------------------------
/WebRoot/css/style3.css:
--------------------------------------------------------------------------------
1 | .pe-thumbs{
2 | width: 900px;
3 | height: 400px;
4 | margin: 20px auto;
5 | position: relative;
6 | background: transparent url(../images/3.jpg) top center;
7 | border: 5px solid #fff;
8 | box-shadow: 0 1px 2px rgba(0,0,0,0.2);
9 | }
10 | .pe-thumbs:before {
11 | content: "";
12 | position: absolute;
13 | top: 0px;
14 | left: 0px;
15 | width: 100%;
16 | height: 100%;
17 | background: rgba(120,97,75, 0.3);
18 | }
19 | .pe-thumbs li{
20 | float:left;
21 | position: relative;
22 | }
23 | .pe-thumbs li a,
24 | .pe-thumbs li a img{
25 | display: block;
26 | position: relative;
27 | }
28 | .pe-thumbs li a img{
29 | width: 100px;
30 | opacity: 0;
31 | -webkit-transform: scale(0);
32 | -moz-transform: scale(0);
33 | -o-transform: scale(0);
34 | -ms-transform: scale(0);
35 | transform: scale(0);
36 | }
37 | .pe-thumbs li a div.pe-description{
38 | width: 200px;
39 | height: 100px;
40 | background: rgba(0,0,0,0.8);
41 | position: absolute;
42 | top: 0px;
43 | left: -200px;
44 | color: white;
45 | display: none;
46 | z-index: 1001;
47 | text-align: left;
48 | }
49 | .pe-description h3{
50 | padding: 10px 10px 0px 10px;
51 | line-height: 20px;
52 | font-family: 'BebasNeueRegular', 'Arial Narrow', Arial, sans-serif;
53 | font-size: 22px;
54 | margin: 0px;
55 | }
56 | .pe-description p{
57 | padding: 10px 0px;
58 | margin: 10px;
59 | font-size: 11px;
60 | font-style: italic;
61 | border-top: 1px solid rgba(255,255,255,0.3);
62 | }
--------------------------------------------------------------------------------
/WebRoot/css/style4.css:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | /* CSS Document */
3 |
4 | /*
5 | *页头部分的样式
6 | */
7 |
8 | #head{
9 | padding: 0 0 0 0;
10 | }
11 |
12 | #search{
13 | padding: 30px 0 0 0;
14 | }
15 |
16 | #nav{
17 | padding: 0 0 0 0;
18 | }
19 |
20 | #env{
21 | padding: 0 0 0 30px;
22 | font-size: 16px;
23 | }
24 |
25 | #resource{
26 | /*padding: 0 10px 0 40px;*/
27 | font-size: 14px;
28 | margin-left:40px;
29 | }
30 |
31 | #cha_res{
32 | padding: 0 0px 0 30px;
33 | font-size: 14px;
34 | }
35 |
36 | #list{
37 | padding: 50px 0px 0 40px;
38 | }
39 |
40 | #ratio{
41 | padding: 70px 0px 0 40px;
42 | /* margin-top:70px;
43 | margin-left:0px;
44 | margin-right:0px;*/
45 | }
46 |
47 | #list_btn{
48 | padding: 90px 0px 0 0px;
49 | }
50 |
51 | #btn_c{
52 | margin-bottom:20px;
53 | margin-top:20px;
54 | margin-left:10px;
55 | }
56 |
57 | #sel_situ{
58 | /*padding: 0 10px 0 40px;*/
59 | font-size: 14px;
60 | margin-bottom:10px;
61 | margin-top:10px;
62 | margin-left:0px;
63 | }
64 |
65 | #sel_list{
66 | /*padding: 0 10px 0 40px;*/
67 | margin-left:10px;
68 | }
69 |
70 | #border_right{
71 | border-right: 1px solid #d7d7d7;
72 | }
73 | #border_left{
74 | border-left: 1px solid #d7d7d7;
75 | }
76 | #border_bottom{
77 | padding: 0px 0px 50px 0px;
78 | border-bottom: 1px solid #d7d7d7;
79 | }
80 |
81 | #border_top{
82 | padding: 0px 0px 10px 0px;
83 | border-top: 1px solid #d7d7d7;
84 | }
85 |
86 | #DL{
87 | padding: 5px 0px 0px 50px;
88 | }
89 |
90 | #DL1{
91 | margin-left:0px;
92 | }
93 |
94 | #change_env{
95 | /*padding: 0px 0px 0px 50px;*/
96 | margin-left:50px;
97 | }
98 | /*navbar*/
99 | .navbar .nav > .active > a,
100 | .navbar .nav > .active > a:hover,
101 | .navbar .nav > .active > a:focus {
102 | color: #555555;
103 | text-decoration: none;
104 | background-color: #fff;
105 | -webkit-box-shadow: none;
106 | -moz-box-shadow: none;
107 | box-shadow: none;
108 | border-bottom: 3px solid #009571;
109 | }
110 |
--------------------------------------------------------------------------------
/WebRoot/css/style5.css:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 | /* CSS Document */
3 |
4 | /*
5 | *页头部分的样式
6 | */
7 |
8 | #head{
9 | padding: 0 0 0 0;
10 | }
11 |
12 | #search{
13 | padding: 30px 0 0 0;
14 | }
15 |
16 | #nav{
17 | padding: 0 0 0 0;
18 | }
19 |
20 | #env{
21 | padding: 0 0 0 30px;
22 | font-size: 16px;
23 | }
24 |
25 | #resource{
26 | /*padding: 0 10px 0 40px;*/
27 | font-size: 14px;
28 | margin-left:40px;
29 | }
30 |
31 | #cha_res{
32 | padding: 0 0px 0 30px;
33 | font-size: 14px;
34 | }
35 |
36 | #list{
37 | padding: 50px 0px 0 40px;
38 | }
39 |
40 | #ratio{
41 | padding: 70px 0px 0 40px;
42 | /* margin-top:70px;
43 | margin-left:0px;
44 | margin-right:0px;*/
45 | }
46 |
47 | #paragraph{
48 | margin-top:70px;
49 | }
50 |
51 | #list_btn{
52 | padding: 90px 0px 0 0px;
53 | }
54 |
55 | #btn_c{
56 | margin-bottom:20px;
57 | margin-top:20px;
58 | margin-left:10px;
59 | }
60 |
61 | #sel_situ{
62 | /*padding: 0 10px 0 40px;*/
63 | font-size: 14px;
64 | margin-bottom:10px;
65 | margin-top:10px;
66 | margin-left:0px;
67 | }
68 |
69 | #note{
70 | width: 600px;
71 | height: 200px;
72 | }
73 |
74 | #sel_list{
75 | /*padding: 0 10px 0 40px;*/
76 | margin-left:10px;
77 | }
78 |
79 | #border_right{
80 | border-right: 1px solid #d7d7d7;
81 | }
82 | #border_left{
83 | border-left: 1px solid #d7d7d7;
84 | }
85 | #border_bottom{
86 | padding: 0px 0px 50px 0px;
87 | border-bottom: 1px solid #d7d7d7;
88 | }
89 |
90 | #border_top{
91 | padding: 0px 0px 10px 0px;
92 | border-top: 1px solid #d7d7d7;
93 | }
94 |
95 | #DL{
96 | padding: 5px 0px 0px 50px;
97 | }
98 |
99 | #DL1{
100 | margin-left:0px;
101 | }
102 |
103 | #change_env{
104 | /*padding: 0px 0px 0px 50px;*/
105 | margin-left:50px;
106 | }
107 | /*navbar*/
108 | .navbar .nav > .active > a,
109 | .navbar .nav > .active > a:hover,
110 | .navbar .nav > .active > a:focus {
111 | color: #555555;
112 | text-decoration: none;
113 | background-color: #fff;
114 | -webkit-box-shadow: none;
115 | -moz-box-shadow: none;
116 | box-shadow: none;
117 | border-bottom: 3px solid #009571;
118 | }
119 |
--------------------------------------------------------------------------------
/WebRoot/images/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/1.jpg
--------------------------------------------------------------------------------
/WebRoot/images/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/2.jpg
--------------------------------------------------------------------------------
/WebRoot/images/3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/3.jpg
--------------------------------------------------------------------------------
/WebRoot/images/ImagesByFlorianNicolle.txt:
--------------------------------------------------------------------------------
1 | http://www.behance.net/neo_innov Illustrations by Florian NICOLLE
2 | CC BY-NC 3.0 http://creativecommons.org/licenses/by-nc/3.0/
--------------------------------------------------------------------------------
/WebRoot/images/add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/add.png
--------------------------------------------------------------------------------
/WebRoot/images/admin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/admin.png
--------------------------------------------------------------------------------
/WebRoot/images/bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/bg.jpg
--------------------------------------------------------------------------------
/WebRoot/images/delete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/delete.png
--------------------------------------------------------------------------------
/WebRoot/images/edit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/edit.png
--------------------------------------------------------------------------------
/WebRoot/images/history.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/history.png
--------------------------------------------------------------------------------
/WebRoot/images/kakaFoucs_bg.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/kakaFoucs_bg.gif
--------------------------------------------------------------------------------
/WebRoot/images/ml-open-demo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/ml-open-demo.png
--------------------------------------------------------------------------------
/WebRoot/images/nav-close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/nav-close.png
--------------------------------------------------------------------------------
/WebRoot/images/new.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/new.png
--------------------------------------------------------------------------------
/WebRoot/images/note.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/note.png
--------------------------------------------------------------------------------
/WebRoot/images/pic_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/pic_01.jpg
--------------------------------------------------------------------------------
/WebRoot/images/pic_02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/pic_02.jpg
--------------------------------------------------------------------------------
/WebRoot/images/pic_03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/pic_03.jpg
--------------------------------------------------------------------------------
/WebRoot/images/pic_04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/pic_04.jpg
--------------------------------------------------------------------------------
/WebRoot/images/pic_05.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/pic_05.jpg
--------------------------------------------------------------------------------
/WebRoot/images/search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/search.png
--------------------------------------------------------------------------------
/WebRoot/images/star/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/star/.DS_Store
--------------------------------------------------------------------------------
/WebRoot/images/star/cancel-off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/star/cancel-off.png
--------------------------------------------------------------------------------
/WebRoot/images/star/cancel-on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/star/cancel-on.png
--------------------------------------------------------------------------------
/WebRoot/images/star/star-half.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/star/star-half.png
--------------------------------------------------------------------------------
/WebRoot/images/star/star-off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/star/star-off.png
--------------------------------------------------------------------------------
/WebRoot/images/star/star-on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/star/star-on.png
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/1.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/10.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/11.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/11.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/12.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/13.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/13.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/14.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/14.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/15.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/15.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/16.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/16.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/17.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/17.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/18.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/18.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/19.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/19.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/2.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/20.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/20.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/21.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/21.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/22.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/22.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/23.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/23.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/24.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/24.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/25.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/25.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/26.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/26.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/27.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/27.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/28.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/28.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/29.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/29.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/3.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/30.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/30.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/31.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/31.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/32.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/32.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/33.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/33.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/34.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/34.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/35.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/35.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/36.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/36.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/4.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/5.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/6.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/7.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/8.jpg
--------------------------------------------------------------------------------
/WebRoot/images/thumbs/9.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/thumbs/9.jpg
--------------------------------------------------------------------------------
/WebRoot/images/warning.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/warning.png
--------------------------------------------------------------------------------
/WebRoot/images/x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/WebRoot/images/x.png
--------------------------------------------------------------------------------
/WebRoot/js/HTMLMaker.js:
--------------------------------------------------------------------------------
1 | //生成鼠标悬停显示内容
2 | function starOperation(id0,id1){
3 | $('#star'+id0+id1).raty({
4 | hints: ['嘘爆', '嘘', '马马虎虎', '赞', '极品'],
5 | score: 2,
6 | path:"images/star",
7 | size:24,
8 | target: '#result'+id0+id1,
9 | targetKeep : true
10 | });
11 | }
12 | //生成评分以及评分上面的东西
13 | function starHTMLMaker(potitionId,id0,id1){
14 | var arr=new Array();
15 | var o=$('#'+potitionId);
16 | arr.push('');
17 | arr.push('时间: 2010-03-16 |评分: | ');
18 | //arr.push(' | ');
19 | //arr.push(' | ');
20 |
21 | arr.push('');
30 | arr.push('');
31 |
32 | arr.push(' |
');
33 | o.append(arr.join(' '));
34 | }
35 | function starHTMLMakerGrounp(potition,id0,number){
36 | for(var i=0;i');//"我的看法"的表单结尾
56 | o.append(arr.join(' '));
57 | }
58 | //这个函数会调用countTextAreaMaker来生成"我的看法"
59 | function countTextAreaMakerGrounp(potition,number){
60 | for(var i=0;i12)
84 | alert("新杂志文章数不得多于12篇");
85 | else if(cns<1)
86 | alert("新杂志每篇文章至少要有一章");
87 | else if(cns>10)
88 | alert("新杂志每篇文章不得多于10章");
89 | else{
90 | //填充新杂志
91 | newJournalListHTMLmaker(ans,cns);
92 | newEditeJournalListHTMLmaker(cns);
93 | //打开新杂志页面
94 | menu_open("float-new-set","float-new");
95 | }
96 | }
97 | function edit_article(id){
98 | var cn = parseInt(document.getElementById("chapter_number").value);//获得文章号
99 | document.getElementById("article_id").value = id;//保存调用的文章号
100 | document.getElementById("article_edit_title").value=document.getElementById("new1title"+id).value;//读标题
101 | document.getElementById("article_edit_content").value=document.getElementById("new1content"+id).value;//读简介
102 | for(var i=1;i刊号:标题:');
119 | for(var i=1;i'+i+' 点击编辑
');
121 | arr.push('');
122 | arr.push('');
123 | for (var j=1;j');
125 | arr.push('');
126 | }
127 | arr.push('');
128 | document.getElementById("new-joural-html").innerHTML = arr.join(' ');
129 | }
130 | function newEditeJournalListHTMLmaker(ChapterNumber){
131 | var arr=new Array();
132 | arr.push('');
136 | document.getElementById("new-edit-joural-html").innerHTML = arr.join(' ');
137 | document.getElementById("chapter_number").value=ChapterNumber;
138 | }
139 | function newEditArticleListHTMLmaker(){
140 | var arr=new Array();
141 | var title;//文章的标题
142 | articleNumber=parseInt(document.getElementById("current_article_number").value)
143 | arr.push('');
144 | for (var i=1;i40)
147 | title=title.substring(0,40)+"..."
148 | arr.push(''+i+' '+title+'
');
149 | }
150 | arr.push('
');
151 | document.getElementById("edit-Article-html").innerHTML = arr.join(' ');
152 | }
153 |
154 | function edit_article_ifm(id){
155 | document.getElementById("current_article_index").value = id;//保存文章号
156 | var arr=new Array();
157 | var aid=document.getElementById("article_id"+(id-1)).value;//文章在数据库中的id
158 | var title=document.getElementById("article_title"+(id-1)).innerText;//文章的标题
159 | var content=document.getElementById("article_content"+(id-1)).innerText;//文章的简介
160 | document.getElementById("current_article_id").value=aid;//设置文章在数据库中的id
161 | arr.push('');//提交按钮
165 | arr.join(' ');
166 | document.getElementById("edit-Article-imf").innerHTML = arr.join(' ');
167 | menu_open('float-edit','float-edit-article');//打开编辑窗口
168 | }
169 |
170 |
171 | function check_number(value){
172 | //定义正则表达式部分
173 | var reg = /^\d+$/;
174 | if( value.constructor === String ){
175 | var re = value.match( reg );
176 | return re;
177 | }
178 | return false;
179 | }
--------------------------------------------------------------------------------
/WebRoot/js/focusBoxController.js:
--------------------------------------------------------------------------------
1 | function focusBoxController(o,ind,number){
2 | //o: focusBoxID ind:focusBox Index n:focuseBox number
3 | if(!o) return;
4 | w=630;
5 | var i=0,l=0,arr=[];
6 | var oa = new Array(number),pagesLia=new Array(number),infoLia = new Array(number),ula= new Array(number),lena = new Array(number);
7 | oa[ind]=$('#'+o);
8 | infoLia[ind]=oa[ind].find('.banner_info li');
9 | lena[ind]= $(infoLia[ind]).length*2;
10 | ula[ind]=oa[ind].find('.banner_pic ul');
11 | ula[ind].append(ula[ind].html()).css({'width':lena[ind]*w, 'left': -lena[ind]*w/2});
12 | infoLia[ind].eq(0).addClass('current');
13 | //add banner_pages element
14 | arr.push('');
15 | infoLia[ind].each(function(i){
16 | if(i==0){
17 | arr.push('- '+ (i+1) +'
');
18 | }else{
19 | arr.push('- '+ (i+1) +'
');
20 | }
21 | });
22 | arr.push('
');
23 | oa[ind].append(arr.join(''));
24 | pagesLia[ind] = oa[ind].find('.banner_pages li');
25 | //mouse
26 | pagesLia[ind].children('span').click(function(){
27 | var p = pagesLia[ind].index(oa[ind].find('.banner_pages li.current'));
28 | i = pagesLia[ind].children('span').index($(this));
29 | if(i==p) return;
30 | l = parseInt(ula[ind].css('left')) + w*(p-i);
31 | addCurrent(i,l,ind);
32 | return false;
33 | })
34 | oa[ind].children('a.btn_prev').click(function(){
35 | i = pagesLia[ind].index(oa[ind].find('.banner_pages li.current'));
36 | (i==0)? i=(lena[ind]/2-1):i--;
37 | l = parseInt(ula[ind].css('left')) + w;
38 | addCurrent(i,l,ind);
39 | return false;
40 | })
41 | oa[ind].children('a.btn_next').click(function(){
42 | i = (pagesLia[ind].index(oa[ind].find('.banner_pages li.current'))+1)%(lena[ind]/2);
43 | l = parseInt(ula[ind].css('left')) - w;
44 | addCurrent(i,l,ind);
45 | return false;
46 | })
47 | //add focus
48 | function addCurrent(i,l,ind){
49 | ula[ind]=oa[ind].find('.banner_pic ul');
50 | infoLia[ind] = oa[ind].find('.banner_info li')
51 | pagesLia[ind] = oa[ind].find('.banner_pages li');
52 | if(ula[ind].is(':animated')) return;
53 | ula[ind].animate({'left':l},500,function(){
54 | oa[ind].children('.banner_count').text(i+1);
55 | $(infoLia[ind]).not($(infoLia[ind]).eq(i).addClass('current')).removeClass('current');
56 | $(pagesLia[ind]).not($(pagesLia[ind]).eq(i).addClass('current')).removeClass('current');
57 | if(l== (1-lena[ind])*w){
58 | ula[ind].css({'left': (1-lena[ind]/2)*w});
59 | }else if(l== 0){
60 | ula[ind].css({'left': -lena[ind]*w/2});
61 | }
62 | });
63 | }
64 | }
--------------------------------------------------------------------------------
/WebRoot/js/jquery.mousewheel.js:
--------------------------------------------------------------------------------
1 | /*! Copyright (c) 2013 Brandon Aaron (http://brandon.aaron.sh)
2 | * Licensed under the MIT License (LICENSE.txt).
3 | *
4 | * Version: 3.1.9
5 | *
6 | * Requires: jQuery 1.2.2+
7 | */
8 |
9 | (function (factory) {
10 | if ( typeof define === 'function' && define.amd ) {
11 | // AMD. Register as an anonymous module.
12 | define(['jquery'], factory);
13 | } else if (typeof exports === 'object') {
14 | // Node/CommonJS style for Browserify
15 | module.exports = factory;
16 | } else {
17 | // Browser globals
18 | factory(jQuery);
19 | }
20 | }(function ($) {
21 |
22 | var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'],
23 | toBind = ( 'onwheel' in document || document.documentMode >= 9 ) ?
24 | ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'],
25 | slice = Array.prototype.slice,
26 | nullLowestDeltaTimeout, lowestDelta;
27 |
28 | if ( $.event.fixHooks ) {
29 | for ( var i = toFix.length; i; ) {
30 | $.event.fixHooks[ toFix[--i] ] = $.event.mouseHooks;
31 | }
32 | }
33 |
34 | var special = $.event.special.mousewheel = {
35 | version: '3.1.9',
36 |
37 | setup: function() {
38 | if ( this.addEventListener ) {
39 | for ( var i = toBind.length; i; ) {
40 | this.addEventListener( toBind[--i], handler, false );
41 | }
42 | } else {
43 | this.onmousewheel = handler;
44 | }
45 | // Store the line height and page height for this particular element
46 | $.data(this, 'mousewheel-line-height', special.getLineHeight(this));
47 | $.data(this, 'mousewheel-page-height', special.getPageHeight(this));
48 | },
49 |
50 | teardown: function() {
51 | if ( this.removeEventListener ) {
52 | for ( var i = toBind.length; i; ) {
53 | this.removeEventListener( toBind[--i], handler, false );
54 | }
55 | } else {
56 | this.onmousewheel = null;
57 | }
58 | },
59 |
60 | getLineHeight: function(elem) {
61 | return parseInt($(elem)['offsetParent' in $.fn ? 'offsetParent' : 'parent']().css('fontSize'), 10);
62 | },
63 |
64 | getPageHeight: function(elem) {
65 | return $(elem).height();
66 | },
67 |
68 | settings: {
69 | adjustOldDeltas: true
70 | }
71 | };
72 |
73 | $.fn.extend({
74 | mousewheel: function(fn) {
75 | return fn ? this.bind('mousewheel', fn) : this.trigger('mousewheel');
76 | },
77 |
78 | unmousewheel: function(fn) {
79 | return this.unbind('mousewheel', fn);
80 | }
81 | });
82 |
83 |
84 | function handler(event) {
85 | var orgEvent = event || window.event,
86 | args = slice.call(arguments, 1),
87 | delta = 0,
88 | deltaX = 0,
89 | deltaY = 0,
90 | absDelta = 0;
91 | event = $.event.fix(orgEvent);
92 | event.type = 'mousewheel';
93 |
94 | // Old school scrollwheel delta
95 | if ( 'detail' in orgEvent ) { deltaY = orgEvent.detail * -1; }
96 | if ( 'wheelDelta' in orgEvent ) { deltaY = orgEvent.wheelDelta; }
97 | if ( 'wheelDeltaY' in orgEvent ) { deltaY = orgEvent.wheelDeltaY; }
98 | if ( 'wheelDeltaX' in orgEvent ) { deltaX = orgEvent.wheelDeltaX * -1; }
99 |
100 | // Firefox < 17 horizontal scrolling related to DOMMouseScroll event
101 | if ( 'axis' in orgEvent && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
102 | deltaX = deltaY * -1;
103 | deltaY = 0;
104 | }
105 |
106 | // Set delta to be deltaY or deltaX if deltaY is 0 for backwards compatabilitiy
107 | delta = deltaY === 0 ? deltaX : deltaY;
108 |
109 | // New school wheel delta (wheel event)
110 | if ( 'deltaY' in orgEvent ) {
111 | deltaY = orgEvent.deltaY * -1;
112 | delta = deltaY;
113 | }
114 | if ( 'deltaX' in orgEvent ) {
115 | deltaX = orgEvent.deltaX;
116 | if ( deltaY === 0 ) { delta = deltaX * -1; }
117 | }
118 |
119 | // No change actually happened, no reason to go any further
120 | if ( deltaY === 0 && deltaX === 0 ) { return; }
121 |
122 | // Need to convert lines and pages to pixels if we aren't already in pixels
123 | // There are three delta modes:
124 | // * deltaMode 0 is by pixels, nothing to do
125 | // * deltaMode 1 is by lines
126 | // * deltaMode 2 is by pages
127 | if ( orgEvent.deltaMode === 1 ) {
128 | var lineHeight = $.data(this, 'mousewheel-line-height');
129 | delta *= lineHeight;
130 | deltaY *= lineHeight;
131 | deltaX *= lineHeight;
132 | } else if ( orgEvent.deltaMode === 2 ) {
133 | var pageHeight = $.data(this, 'mousewheel-page-height');
134 | delta *= pageHeight;
135 | deltaY *= pageHeight;
136 | deltaX *= pageHeight;
137 | }
138 |
139 | // Store lowest absolute delta to normalize the delta values
140 | absDelta = Math.max( Math.abs(deltaY), Math.abs(deltaX) );
141 |
142 | if ( !lowestDelta || absDelta < lowestDelta ) {
143 | lowestDelta = absDelta;
144 |
145 | // Adjust older deltas if necessary
146 | if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) {
147 | lowestDelta /= 40;
148 | }
149 | }
150 |
151 | // Adjust older deltas if necessary
152 | if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) {
153 | // Divide all the things by 40!
154 | delta /= 40;
155 | deltaX /= 40;
156 | deltaY /= 40;
157 | }
158 |
159 | // Get a whole, normalized value for the deltas
160 | delta = Math[ delta >= 1 ? 'floor' : 'ceil' ](delta / lowestDelta);
161 | deltaX = Math[ deltaX >= 1 ? 'floor' : 'ceil' ](deltaX / lowestDelta);
162 | deltaY = Math[ deltaY >= 1 ? 'floor' : 'ceil' ](deltaY / lowestDelta);
163 |
164 | // Add information to the event object
165 | event.deltaX = deltaX;
166 | event.deltaY = deltaY;
167 | event.deltaFactor = lowestDelta;
168 | // Go ahead and set deltaMode to 0 since we converted to pixels
169 | // Although this is a little odd since we overwrite the deltaX/Y
170 | // properties with normalized deltas.
171 | event.deltaMode = 0;
172 |
173 | // Add event and delta to the front of the arguments
174 | args.unshift(event, delta, deltaX, deltaY);
175 |
176 | // Clearout lowestDelta after sometime to better
177 | // handle multiple device types that give different
178 | // a different lowestDelta
179 | // Ex: trackpad = 3 and mouse wheel = 120
180 | if (nullLowestDeltaTimeout) { clearTimeout(nullLowestDeltaTimeout); }
181 | nullLowestDeltaTimeout = setTimeout(nullLowestDelta, 200);
182 |
183 | return ($.event.dispatch || $.event.handle).apply(this, args);
184 | }
185 |
186 | function nullLowestDelta() {
187 | lowestDelta = null;
188 | }
189 |
190 | function shouldAdjustOldDeltas(orgEvent, absDelta) {
191 | // If this is an older event and the delta is divisable by 120,
192 | // then we are assuming that the browser is treating this as an
193 | // older mouse wheel event and that we should divide the deltas
194 | // by 40 to try and get a more usable deltaFactor.
195 | // Side note, this actually impacts the reported scroll distance
196 | // in older browsers and can cause scrolling to be slower than native.
197 | // Turn this off by setting $.event.special.mousewheel.settings.adjustOldDeltas to false.
198 | return special.settings.adjustOldDeltas && orgEvent.type === 'mousewheel' && absDelta % 120 === 0;
199 | }
200 |
201 | }));
202 |
--------------------------------------------------------------------------------
/WebRoot/js/jquery.proximity.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Proximity event for jQuery
3 | * ---
4 | * @author James Padolsey (http://james.padolsey.com)
5 | * @version 0.1
6 | * @updated 28-JUL-09
7 | * ---
8 | * @info http://github.com/jamespadolsey/jQuery-plugins/proximity-event/
9 | */
10 |
11 | (function($){
12 |
13 | var elems = $([]),
14 | doc = $(document);
15 |
16 | $.event.special.proximity = {
17 |
18 | defaults: {
19 | max: 100,
20 | min: 0,
21 | throttle: 0,
22 | fireOutOfBounds: 1
23 | },
24 |
25 | setup: function(data) {
26 |
27 | if (!elems[0])
28 | doc.mousemove(handle);
29 |
30 | elems = elems.add(this);
31 |
32 | },
33 |
34 | add: function(o) {
35 |
36 | var handler = o.handler,
37 | data = $.extend({}, $.event.special.proximity.defaults, o.data),
38 | lastCall = 0,
39 | nFiredOutOfBounds = 0,
40 | hoc = $(this);
41 |
42 | o.handler = function(e, pageX, pageY) {
43 |
44 | var max = data.max,
45 | min = data.min,
46 | throttle = data.throttle,
47 | date = +new Date,
48 | distance,
49 | proximity,
50 | inBounds,
51 | fireOutOfBounds = data.fireOutOfBounds;
52 |
53 | if (throttle && lastCall + throttle > date) {
54 | return;
55 | }
56 |
57 | lastCall = date;
58 |
59 | distance = calcDistance(hoc, pageX, pageY);
60 | inBounds = distance < max && distance > min;
61 |
62 | if (fireOutOfBounds || inBounds) {
63 |
64 | if (inBounds) {
65 | nFiredOutOfBounds = 0;
66 | } else {
67 |
68 | // If fireOutOfBounds is a number then keep incrementing a
69 | // counter to determine how many times the handler's been
70 | // called out of bounds. Note: the counter is reset whenever
71 | // the cursor goes back inBounds...
72 |
73 | if (typeof fireOutOfBounds === 'number' && nFiredOutOfBounds > fireOutOfBounds) {
74 | return;
75 | }
76 | ++nFiredOutOfBounds;
77 | }
78 |
79 | proximity = e.proximity = 1 - (
80 | distance < max ? distance < min ? 0 : distance / max : 1
81 | );
82 |
83 | e.distance = distance;
84 | e.pageX = pageX;
85 | e.pageY = pageY;
86 | e.data = data;
87 |
88 | return handler.call(this, e, proximity, distance);
89 |
90 | }
91 |
92 | };
93 |
94 | },
95 |
96 | teardown: function(){
97 |
98 | elems = elems.not(this);
99 |
100 | if (!elems[0])
101 | doc.unbind('mousemove', handle);
102 |
103 | }
104 |
105 | };
106 |
107 | function calcDistance(el, x, y) {
108 |
109 | // Calculate the distance from the closest edge of the element
110 | // to the cursor's current position
111 |
112 | var left, right, top, bottom, offset,
113 | cX, cY, dX, dY,
114 | distance = 0;
115 |
116 | offset = el.offset();
117 | left = offset.left;
118 | top = offset.top;
119 | right = left + el.outerWidth();
120 | bottom = top + el.outerHeight();
121 |
122 | cX = x > right ? right : x > left ? x : left;
123 | cY = y > bottom ? bottom : y > top ? y : top;
124 |
125 | dX = Math.abs( cX - x );
126 | dY = Math.abs( cY - y );
127 |
128 | return Math.sqrt( dX * dX + dY * dY );
129 |
130 | }
131 |
132 | function handle(e) {
133 |
134 | var x = e.pageX,
135 | y = e.pageY,
136 | i = -1,
137 | fly = $([]);
138 |
139 | while (fly[0] = elems[++i]) {
140 | fly.triggerHandler('proximity', [x,y]);
141 | }
142 |
143 | }
144 |
145 | }(jQuery));
--------------------------------------------------------------------------------
/WebRoot/js/jquery.raty.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * jQuery Raty - A Star Rating Plugin
3 | *
4 | * Licensed under The MIT License
5 | *
6 | * @version 2.4.5
7 | * @author Washington Botelho
8 | * @documentation wbotelhos.com/raty
9 | *
10 | */
11 |
12 | ;(function(b){var a={init:function(c){return this.each(function(){var d=this,h=b(d).empty();d.opt=b.extend(true,{},b.fn.raty.defaults,c);h.data("settings",d.opt);d.opt.number=a.between(d.opt.number,0,20);if(d.opt.path.substring(d.opt.path.length-1,d.opt.path.length)!="/"){d.opt.path+="/";}if(typeof d.opt.score=="function"){d.opt.score=d.opt.score.call(d);}if(d.opt.score){d.opt.score=a.between(d.opt.score,0,d.opt.number);}for(var e=1;e<=d.opt.number;e++){b("
",{src:d.opt.path+((!d.opt.score||d.opt.score",{type:"hidden",name:d.opt.scoreName}).appendTo(d);if(d.opt.score&&d.opt.score>0){d.score.val(d.opt.score);a.roundStar.call(d,d.opt.score);}if(d.opt.iconRange){a.fill.call(d,d.opt.score);}a.setTarget.call(d,d.opt.score,d.opt.targetKeep);var g=d.opt.space?4:0,f=d.opt.width||(d.opt.number*d.opt.size+d.opt.number*g);if(d.opt.cancel){d.cancel=b("
",{src:d.opt.path+d.opt.cancelOff,alt:"x",title:d.opt.cancelHint,"class":"raty-cancel"});if(d.opt.cancelPlace=="left"){h.prepend(" ").prepend(d.cancel);}else{h.append(" ").append(d.cancel);}f+=(d.opt.size+g);}if(d.opt.readOnly){a.fixHint.call(d);if(d.cancel){d.cancel.hide();}}else{h.css("cursor","pointer");a.bindAction.call(d);}h.css("width",f);});},between:function(e,d,c){return Math.min(Math.max(parseFloat(e),d),c);},bindAction:function(){var c=this,e=b(c);e.mouseleave(function(){var f=c.score.val()||undefined;a.initialize.call(c,f);a.setTarget.call(c,f,c.opt.targetKeep);if(c.opt.mouseover){c.opt.mouseover.call(c,f);}});var d=c.opt.half?"mousemove":"mouseover";if(c.opt.cancel){c.cancel.mouseenter(function(){b(this).attr("src",c.opt.path+c.opt.cancelOn);c.stars.attr("src",c.opt.path+c.opt.starOff);a.setTarget.call(c,null,true);if(c.opt.mouseover){c.opt.mouseover.call(c,null);}}).mouseleave(function(){b(this).attr("src",c.opt.path+c.opt.cancelOff);if(c.opt.mouseover){c.opt.mouseover.call(c,c.score.val()||null);}}).click(function(f){c.score.removeAttr("value");if(c.opt.click){c.opt.click.call(c,null,f);}});}c.stars.bind(d,function(g){var h=parseInt(this.alt,10);if(c.opt.half){var f=parseFloat((g.pageX-b(this).offset().left)/c.opt.size),i=(f>0.5)?1:0.5;h=parseFloat(this.alt)-1+i;a.fill.call(c,h);if(c.opt.precision){h=h-i+f;}a.showHalf.call(c,h);}else{a.fill.call(c,h);}e.data("score",h);a.setTarget.call(c,h,true);if(c.opt.mouseover){c.opt.mouseover.call(c,h,g);}}).click(function(f){c.score.val((c.opt.half||c.opt.precision)?e.data("score"):this.alt);if(c.opt.click){c.opt.click.call(c,c.score.val(),f);}});},cancel:function(c){return b(this).each(function(){var d=this,e=b(d);if(e.data("readonly")===true){return this;}if(c){a.click.call(d,null);}else{a.score.call(d,null);}d.score.removeAttr("value");});},click:function(c){return b(this).each(function(){if(b(this).data("readonly")===true){return this;}a.initialize.call(this,c);if(this.opt.click){this.opt.click.call(this,c);}else{a.error.call(this,'you must add the "click: function(score, evt) { }" callback.');}a.setTarget.call(this,c,true);});},error:function(c){b(this).html(c);b.error(c);},fill:function(k){var c=this,h=c.stars.length,g=0,d,j,f;for(var e=1;e<=h;e++){d=c.stars.eq(e-1);if(c.opt.iconRange&&c.opt.iconRange.length>g){j=c.opt.iconRange[g];if(c.opt.single){f=(e==k)?(j.on||c.opt.starOn):(j.off||c.opt.starOff);}else{f=(e<=k)?(j.on||c.opt.starOn):(j.off||c.opt.starOff);}if(e<=j.range){d.attr("src",c.opt.path+f);}if(e==j.range){g++;}}else{if(c.opt.single){f=(e==k)?c.opt.starOn:c.opt.starOff;}else{f=(e<=k)?c.opt.starOn:c.opt.starOff;}d.attr("src",c.opt.path+f);}}},fixHint:function(){var c=b(this),e=parseInt(this.score.val(),10),d=this.opt.noRatedMsg;if(!isNaN(e)&&e>0){d=(e<=this.opt.hints.length&&this.opt.hints[e-1]!==null)?this.opt.hints[e-1]:e;}c.data("readonly",true).css("cursor","default").attr("title",d);this.score.attr("readonly","readonly");this.stars.attr("title",d);},getScore:function(){var d=[],c;b(this).each(function(){c=this.score.val();d.push(c?parseFloat(c):undefined);});return(d.length>1)?d:d[0];},readOnly:function(c){return this.each(function(){var d=b(this);if(d.data("readonly")===c){return this;}if(this.cancel){if(c){this.cancel.hide();}else{this.cancel.show();}}if(c){d.unbind();d.children("img").unbind();a.fixHint.call(this);}else{a.bindAction.call(this);a.unfixHint.call(this);}d.data("readonly",c);});},reload:function(){return a.set.call(this,{});},roundStar:function(e){var d=(e-Math.floor(e)).toFixed(2);if(d>this.opt.round.down){var c=this.opt.starOn;if(d0&&c<0.6){this.stars.eq(Math.ceil(d)-1).attr("src",this.opt.path+this.opt.starHalf);}},initialize:function(c){c=!c?0:a.between(c,0,this.opt.number);a.fill.call(this,c);if(c>0){if(this.opt.halfShow){a.roundStar.call(this,c);}this.score.val(c);}},unfixHint:function(){for(var c=0;c=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);
--------------------------------------------------------------------------------
/WebRoot/js/modernizr.custom.34978.js:
--------------------------------------------------------------------------------
1 | /* Modernizr 2.0.6 (Custom Build) | MIT & BSD
2 | * Build: http://www.modernizr.com/download/#-iepp-cssclasses-load
3 | */
4 | ;window.Modernizr=function(a,b,c){function x(a,b){return!!~(""+a).indexOf(b)}function w(a,b){return typeof a===b}function v(a,b){return u(prefixes.join(a+";")+(b||""))}function u(a){k.cssText=a}var d="2.0.6",e={},f=!0,g=b.documentElement,h=b.head||b.getElementsByTagName("head")[0],i="modernizr",j=b.createElement(i),k=j.style,l,m=Object.prototype.toString,n={},o={},p={},q=[],r,s={}.hasOwnProperty,t;!w(s,c)&&!w(s.call,c)?t=function(a,b){return s.call(a,b)}:t=function(a,b){return b in a&&w(a.constructor.prototype[b],c)};for(var y in n)t(n,y)&&(r=y.toLowerCase(),e[r]=n[y](),q.push((e[r]?"":"no-")+r));u(""),j=l=null,a.attachEvent&&function(){var a=b.createElement("div");a.innerHTML="";return a.childNodes.length!==1}()&&function(a,b){function s(a){var b=-1;while(++b=0&&o.waypoints[n].element[0]!==p[0]){n-=1}return n},f=[],l=function(n){$.extend(this,{element:$(n),oldScroll:0,waypoints:[],didScroll:false,didResize:false,doScroll:$.proxy(function(){var q=this.element.scrollTop(),p=q>this.oldScroll,s=this,r=$.grep(this.waypoints,function(u,t){return p?(u.offset>s.oldScroll&&u.offset<=q):(u.offset<=s.oldScroll&&u.offset>q)}),o=r.length;if(!this.oldScroll||!q){$[m]("refresh")}this.oldScroll=q;if(!o){return}if(!p){r.reverse()}$.each(r,function(u,t){if(t.options.continuous||u===o-1){b(t,[p?"down":"up"])}})},this)});$(n).scroll($.proxy(function(){if(!this.didScroll){this.didScroll=true;i.setTimeout($.proxy(function(){this.doScroll();this.didScroll=false},this),$[m].settings.scrollThrottle)}},this)).resize($.proxy(function(){if(!this.didResize){this.didResize=true;i.setTimeout($.proxy(function(){$[m]("refresh");this.didResize=false},this),$[m].settings.resizeThrottle)}},this));e.load($.proxy(function(){this.doScroll()},this))},j=function(n){var o=null;$.each(f,function(p,q){if(q.element[0]===n){o=q;return false}});return o},c={init:function(o,n){this.each(function(){var u=$.fn[k].defaults.context,q,t=$(this);if(n&&n.context){u=n.context}if(!$.isWindow(u)){u=t.closest(u)[0]}q=j(u);if(!q){q=new l(u);f.push(q)}var p=h(t,q),s=p<0?$.fn[k].defaults:q.waypoints[p].options,r=$.extend({},s,n);r.offset=r.offset==="bottom-in-view"?function(){var v=$.isWindow(u)?$[m]("viewportHeight"):$(u).height();return v-$(this).outerHeight()}:r.offset;if(p<0){q.waypoints.push({element:t,offset:null,options:r})}else{q.waypoints[p].options=r}if(o){t.bind(g,o)}if(n&&n.handler){t.bind(g,n.handler)}});$[m]("refresh");return this},remove:function(){return this.each(function(o,p){var n=$(p);$.each(f,function(r,s){var q=h(n,s);if(q>=0){s.waypoints.splice(q,1)}})})},destroy:function(){return this.unbind(g)[k]("remove")}},a={refresh:function(){$.each(f,function(r,s){var q=$.isWindow(s.element[0]),n=q?0:s.element.offset().top,p=q?$[m]("viewportHeight"):s.element.height(),o=q?0:s.element.scrollTop();$.each(s.waypoints,function(u,x){if(!x){return}var t=x.options.offset,w=x.offset;if(typeof x.options.offset==="function"){t=x.options.offset.apply(x.element)}else{if(typeof x.options.offset==="string"){var v=parseFloat(x.options.offset);t=x.options.offset.indexOf("%")?Math.ceil(p*(v/100)):v}}x.offset=x.element.offset().top-n+o-t;if(x.options.onlyOnScroll){return}if(w!==null&&s.oldScroll>w&&s.oldScroll<=x.offset){b(x,["up"])}else{if(w!==null&&s.oldScroll=x.offset){b(x,["down"])}else{if(!w&&o>x.offset){b(x,["down"])}}}});s.waypoints.sort(function(u,t){return u.offset-t.offset})})},viewportHeight:function(){return(i.innerHeight?i.innerHeight:e.height())},aggregate:function(){var n=$();$.each(f,function(o,p){$.each(p.waypoints,function(q,r){n=n.add(r.element)})});return n}};$.fn[k]=function(n){if(c[n]){return c[n].apply(this,Array.prototype.slice.call(arguments,1))}else{if(typeof n==="function"||!n){return c.init.apply(this,arguments)}else{if(typeof n==="object"){return c.init.apply(this,[null,n])}else{$.error("Method "+n+" does not exist on jQuery "+k)}}}};$.fn[k].defaults={continuous:true,offset:0,triggerOnce:false,context:i};$[m]=function(n){if(a[n]){return a[n].apply(this)}else{return a.aggregate()}};$[m].settings={resizeThrottle:200,scrollThrottle:100};e.load(function(){$[m]("refresh")})})(jQuery,"waypoint","waypoints",this);
--------------------------------------------------------------------------------
/WebRoot/message.jsp:
--------------------------------------------------------------------------------
1 | <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
2 | <%@ taglib prefix="s" uri="/struts-tags"%>
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
32 |
33 |
34 |
35 |
36 |
37 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/WebRoot/paragraph.jsp:
--------------------------------------------------------------------------------
1 | <%@ taglib prefix="s" uri="/struts-tags"%>
2 | <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
3 |
4 |
5 |
6 |
7 |
8 |
9 | Paragraph
10 |
11 |
12 |
13 |
14 |
15 |
这是您在 杂志 文章中 章第段的文字
16 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/WebRoot/user.jsp:
--------------------------------------------------------------------------------
1 | <%@ taglib prefix="s" uri="/struts-tags"%>
2 | <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
3 |
4 |
5 |
6 |
7 |
8 | 选项卡
9 |
10 |
11 |
12 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
45 |
46 |
50 |
51 |
52 |
用户文章列表
53 |
54 |
55 |
56 |
57 | 期刊 |
58 | 文章标题 |
59 | 章节 |
60 | 段落 |
61 |
62 |
63 |
64 |
65 | |
66 | |
67 | |
68 | |
69 |
70 |
71 |
84 |
85 |
86 |
87 |
88 |
89 |
修改用户信息
90 |
91 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
--------------------------------------------------------------------------------
/src/com/action/journal/AddJournalAction.java:
--------------------------------------------------------------------------------
1 | package com.action.journal;
2 |
3 | import java.util.List;
4 |
5 | import com.opensymphony.xwork2.ActionSupport;
6 | import com.service.JournalService;
7 |
8 | public class AddJournalAction extends ActionSupport {
9 |
10 | /**
11 | *
12 | */
13 | private String journal_title;
14 | private String ISSN;
15 | private List articles_title;
16 | private List articles_outline;
17 | private List chapters_title;
18 | private JournalService service;
19 | private static final long serialVersionUID = 2565105044761503064L;
20 |
21 |
22 |
23 | public String getISSN() {
24 | return ISSN;
25 | }
26 |
27 |
28 |
29 | public void setISSN(String iSSN) {
30 | ISSN = iSSN;
31 | }
32 |
33 |
34 |
35 | public String getJournal_title() {
36 | return journal_title;
37 | }
38 |
39 |
40 |
41 | public void setJournal_title(String journal_title) {
42 | this.journal_title = journal_title;
43 | }
44 |
45 |
46 |
47 | public List getArticles_title() {
48 | return articles_title;
49 | }
50 |
51 |
52 |
53 | public void setArticles_title(List articles_title) {
54 | this.articles_title = articles_title;
55 | }
56 |
57 |
58 |
59 | public List getArticles_outline() {
60 | return articles_outline;
61 | }
62 |
63 |
64 |
65 | public void setArticles_outline(List articles_outline) {
66 | this.articles_outline = articles_outline;
67 | }
68 |
69 |
70 |
71 | public List getChapters_title() {
72 | return chapters_title;
73 | }
74 |
75 |
76 |
77 | public void setChapters_title(List chapters_title) {
78 | this.chapters_title = chapters_title;
79 | }
80 |
81 |
82 |
83 | public JournalService getService() {
84 | return service;
85 | }
86 |
87 |
88 |
89 | public void setService(JournalService service) {
90 | this.service = service;
91 | }
92 |
93 |
94 |
95 | @Override
96 | public String execute() throws Exception {
97 | // TODO Auto-generated method stub
98 | service.add_journal(journal_title, ISSN, articles_title, articles_outline, chapters_title);
99 | return SUCCESS;
100 | }
101 | }
102 |
--------------------------------------------------------------------------------
/src/com/action/journal/AddParagraph.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/src/com/action/journal/AddParagraph.java
--------------------------------------------------------------------------------
/src/com/action/journal/DeleteJournalAction.java:
--------------------------------------------------------------------------------
1 | package com.action.journal;
2 |
3 | import com.opensymphony.xwork2.ActionSupport;
4 | import com.service.JournalService;
5 |
6 | public class DeleteJournalAction extends ActionSupport {
7 |
8 | /**
9 | *
10 | */
11 | private static final long serialVersionUID = 5633845481826822556L;
12 |
13 | private Integer journal_id;
14 | private JournalService service;
15 | public Integer getJournal_id() {
16 | return journal_id;
17 | }
18 | public void setJournal_id(Integer journal_id) {
19 | this.journal_id = journal_id;
20 | }
21 | public JournalService getService() {
22 | return service;
23 | }
24 | public void setService(JournalService service) {
25 | this.service = service;
26 | }
27 |
28 | @Override
29 | public String execute() throws Exception {
30 | // TODO Auto-generated method stub
31 | service.delete_journal(journal_id);
32 | return SUCCESS;
33 | }
34 |
35 | }
36 |
--------------------------------------------------------------------------------
/src/com/action/journal/DeleteParagraphAction.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/src/com/action/journal/DeleteParagraphAction.java
--------------------------------------------------------------------------------
/src/com/action/journal/EditJournalAction.java:
--------------------------------------------------------------------------------
1 | package com.action.journal;
2 |
3 | import com.opensymphony.xwork2.ActionSupport;
4 | import com.service.JournalService;
5 |
6 | public class EditJournalAction extends ActionSupport {
7 | /**
8 | *
9 | */
10 | private static final long serialVersionUID = 5284601375402368075L;
11 | private JournalService service;
12 | private Integer journal_id;
13 | private Integer article_id;
14 | private String article_title;
15 | private String article_outline;
16 |
17 |
18 | public Integer getJournal_id() {
19 | return journal_id;
20 | }
21 | public void setJournal_id(Integer journal_id) {
22 | this.journal_id = journal_id;
23 | }
24 | public JournalService getService() {
25 | return service;
26 | }
27 | public void setService(JournalService service) {
28 | this.service = service;
29 | }
30 | public Integer getArticle_id() {
31 | return article_id;
32 | }
33 | public void setArticle_id(Integer article_id) {
34 | this.article_id = article_id;
35 | }
36 | public String getArticle_title() {
37 | return article_title;
38 | }
39 | public void setArticle_title(String article_title) {
40 | this.article_title = article_title;
41 | }
42 | public String getArticle_outline() {
43 | return article_outline;
44 | }
45 | public void setArticle_outline(String article_outline) {
46 | this.article_outline = article_outline;
47 | }
48 |
49 | @Override
50 | public String execute() throws Exception {
51 | // TODO Auto-generated method stub
52 | service.update_article(article_id, article_title, article_outline);
53 | return SUCCESS;
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/com/action/journal/ListJournalAction.java:
--------------------------------------------------------------------------------
1 | package com.action.journal;
2 |
3 | import java.util.List;
4 | import java.util.Map;
5 |
6 | import com.opensymphony.xwork2.ActionContext;
7 | import com.opensymphony.xwork2.ActionSupport;
8 | import com.service.JournalService;
9 |
10 | public class ListJournalAction extends ActionSupport {
11 | /**
12 | *
13 | */
14 | private static final long serialVersionUID = 113798207564591586L;
15 | private Integer journal_id;
16 | private JournalService service;
17 |
18 |
19 | public void setJournal_id(Integer journal_id) {
20 | this.journal_id = journal_id;
21 | }
22 |
23 |
24 |
25 | public void setService(JournalService service) {
26 | this.service = service;
27 | }
28 |
29 |
30 |
31 | @SuppressWarnings({ "unchecked", "rawtypes" })
32 | @Override
33 | public String execute() throws Exception {
34 | Map request = (Map) ActionContext.getContext().get("request");
35 | List journal_list = service.find_all();
36 | request.put("journal_list", journal_list);
37 | if (journal_id == null) {
38 | journal_id = (Integer)((Object[])journal_list.get(0))[0];
39 | }
40 | request.put("journal_id", journal_id);
41 | List article_list = service.find_article_of_journal(journal_id);
42 | //System.out.println(article_list.get(0));
43 | request.put("article_list", article_list);
44 | /*
45 | request.put("journal_list", service.find_all_title());
46 | if (journal_id == null) {
47 | journal_id = service.find_first_journal_id();
48 | }
49 | List article_list = service.find_article_of_journal(1);
50 | //System.out.println(article_list.get(0).getArticle_id());
51 | request.put("article_list", article_list);
52 | */
53 | return SUCCESS;
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/com/action/journal/ShowArticleAction.java:
--------------------------------------------------------------------------------
1 | package com.action.journal;
2 |
3 | import java.util.List;
4 | import java.util.Map;
5 |
6 | import com.opensymphony.xwork2.ActionContext;
7 | import com.opensymphony.xwork2.ActionSupport;
8 | import com.service.JournalService;
9 | import com.service.UserService;
10 |
11 | public class ShowArticleAction extends ActionSupport {
12 | /**
13 | *
14 | */
15 | private static final long serialVersionUID = 1205480114189063557L;
16 | private JournalService service;
17 | private UserService userService;
18 | private Integer article_id;
19 | private Integer chapter_id;
20 |
21 | public UserService getUserService() {
22 | return userService;
23 | }
24 | public void setUserService(UserService userService) {
25 | this.userService = userService;
26 | }
27 | public JournalService getService() {
28 | return service;
29 | }
30 | public void setService(JournalService service) {
31 | this.service = service;
32 | }
33 | public Integer getArticle_id() {
34 | return article_id;
35 | }
36 | public void setArticle_id(Integer article_id) {
37 | this.article_id = article_id;
38 | }
39 | public Integer getChapter_id() {
40 | return chapter_id;
41 | }
42 | public void setChapter_id(Integer chapter_id) {
43 | this.chapter_id = chapter_id;
44 | }
45 |
46 | @SuppressWarnings({ "rawtypes", "unchecked" })
47 | @Override
48 | public String execute() throws Exception {
49 | // TODO Auto-generated method stub
50 |
51 | Map request = (Map) ActionContext.getContext().get("request");
52 | List chapter_list = service.find_chapter_of_article(article_id);
53 | request.put("chapter_list", chapter_list);
54 |
55 | if(chapter_id == null) {
56 | chapter_id = (Integer)((Object[])chapter_list.get(0))[0];
57 | }
58 | request.put("paragraph_list", service.find_paragraph_of_article(chapter_id));
59 | Map session = (Map) ActionContext.getContext().get("session");
60 | request.put("note", userService.find_note_of_user((Integer)session.get("userid")));
61 | return SUCCESS;
62 | }
63 |
64 | }
65 |
--------------------------------------------------------------------------------
/src/com/action/journal/modifyParagraphAction.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/src/com/action/journal/modifyParagraphAction.java
--------------------------------------------------------------------------------
/src/com/action/journal/showParagraph.java:
--------------------------------------------------------------------------------
1 | package com.action.journal;
2 |
3 | import java.util.Map;
4 |
5 | import com.opensymphony.xwork2.ActionContext;
6 | import com.opensymphony.xwork2.ActionSupport;
7 | import com.service.JournalService;
8 |
9 | @SuppressWarnings("serial")
10 | public class showParagraph extends ActionSupport {
11 | private JournalService service;
12 | private Integer paragraph_id;
13 | private String journal_title;
14 | private String article_title;
15 | private String chapter_title;
16 | private Integer sequence;
17 |
18 |
19 | public Integer getSequence() {
20 | return sequence;
21 | }
22 | public void setSequence(Integer sequence) {
23 | this.sequence = sequence;
24 | }
25 | public String getJournal_title() {
26 | return journal_title;
27 | }
28 | public void setJournal_title(String journal_title) {
29 | this.journal_title = journal_title;
30 | }
31 |
32 | public String getArticle_title() {
33 | return article_title;
34 | }
35 | public void setArticle_title(String article_title) {
36 | this.article_title = article_title;
37 | }
38 | public String getChapter_title() {
39 | return chapter_title;
40 | }
41 | public void setChapter_title(String chapter_title) {
42 | this.chapter_title = chapter_title;
43 | }
44 | public JournalService getService() {
45 | return service;
46 | }
47 | public void setService(JournalService service) {
48 | this.service = service;
49 | }
50 | public Integer getParagraph_id() {
51 | return paragraph_id;
52 | }
53 | public void setParagraph_id(Integer paragraph_id) {
54 | this.paragraph_id = paragraph_id;
55 | }
56 |
57 | @SuppressWarnings({ "rawtypes", "unchecked" })
58 | @Override
59 | public String execute() throws Exception {
60 | Map request = (Map) ActionContext.getContext().get("request");
61 | request.put("paragraph", service.find_paragraph_by_paragraph_id(paragraph_id));
62 | return SUCCESS;
63 | }
64 |
65 | }
66 |
--------------------------------------------------------------------------------
/src/com/action/user/EnrollAction-validation.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 | true
9 |
10 |
11 |
12 | 6
13 | 20
14 | 用户名长度必须在 ${minLength} 到 ${maxLength}之间
15 |
16 |
17 |
18 |
19 | 密码不能为空
20 |
21 |
22 |
23 |
24 | true
25 | 确认密码不能为空!
26 |
27 |
28 |
29 | 确认密码和密码不一致!
30 |
31 |
32 |
33 |
34 | true
35 |
36 |
37 |
38 | 不合法的Email地址!
39 |
40 |
41 |
--------------------------------------------------------------------------------
/src/com/action/user/EnrollAction.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/src/com/action/user/EnrollAction.java
--------------------------------------------------------------------------------
/src/com/action/user/LoginAction.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/src/com/action/user/LoginAction.java
--------------------------------------------------------------------------------
/src/com/action/user/LogoutAction.java:
--------------------------------------------------------------------------------
1 | package com.action.user;
2 |
3 | import java.util.Map;
4 |
5 | import com.opensymphony.xwork2.ActionContext;
6 | import com.opensymphony.xwork2.ActionSupport;
7 |
8 | public class LogoutAction extends ActionSupport {
9 |
10 | /**
11 | *
12 | */
13 | private static final long serialVersionUID = -6580461564956316441L;
14 |
15 | @SuppressWarnings("rawtypes")
16 | @Override
17 | public String execute() throws Exception {
18 | Map session = ActionContext.getContext().getSession();
19 | session.remove("username");
20 | session.remove("userid");
21 | session.remove("admin");
22 | return SUCCESS;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/com/action/user/ModifyUserInfoAction-validation.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 | true
9 |
10 |
11 |
12 | 6
13 | 20
14 | 用户名长度必须在 ${minLength} 到 ${maxLength}之间
15 |
16 |
17 |
18 |
19 | 密码不能为空
20 |
21 |
22 |
23 |
24 | true
25 | 确认密码不能为空!
26 |
27 |
28 |
29 | 确认密码和密码不一致!
30 |
31 |
32 |
33 |
34 | true
35 |
36 |
37 |
38 | 不合法的Email地址!
39 |
40 |
41 |
--------------------------------------------------------------------------------
/src/com/action/user/ModifyUserInfoAction.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/src/com/action/user/ModifyUserInfoAction.java
--------------------------------------------------------------------------------
/src/com/action/user/UserManageAction.java:
--------------------------------------------------------------------------------
1 | package com.action.user;
2 |
3 | import java.util.Map;
4 |
5 | import com.opensymphony.xwork2.Action;
6 | import com.opensymphony.xwork2.ActionContext;
7 | import com.service.JournalService;
8 | import com.service.UserService;
9 |
10 | public class UserManageAction implements Action{
11 | /**
12 | *
13 | */
14 | //private static final long serialVersionUID = 5079669184649157202L;
15 | private JournalService journalService;
16 | private UserService userService;
17 | public JournalService getJournalService() {
18 | return journalService;
19 | }
20 | public void setJournalService(JournalService journalService) {
21 | this.journalService = journalService;
22 | }
23 | public UserService getUserService() {
24 | return userService;
25 | }
26 | public void setUserService(UserService userService) {
27 | this.userService = userService;
28 | }
29 |
30 | @SuppressWarnings({ "rawtypes", "unchecked" })
31 | @Override
32 | public String execute() throws Exception {
33 | Map session = (Map) ActionContext.getContext().get("session");
34 | Map request = (Map) ActionContext.getContext().get("request");
35 | Integer userid = (Integer)session.get("userid");
36 | request.put("note", userService.find_note_of_user(userid));
37 | request.put("user", userService.find_user_by_userid(userid));
38 | request.put("paragraphs", journalService.find_all_paragraph_of_user(userid));
39 | return SUCCESS;
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/src/com/action/user/saveNoteAction.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jkunlin/ssh/a446c886dbbf28e5a3ab860f8839da7bccab1d28/src/com/action/user/saveNoteAction.java
--------------------------------------------------------------------------------
/src/com/bean/Article.hbm.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/src/com/bean/Article.java:
--------------------------------------------------------------------------------
1 | package com.bean;
2 |
3 | import java.util.HashSet;
4 | import java.util.Set;
5 |
6 | public class Article {
7 | private Journal journal;
8 | private Integer article_id;
9 | private String title;
10 | private String outline;
11 | private Set chapters = new HashSet();
12 |
13 |
14 |
15 | public Set getChapters() {
16 | return chapters;
17 | }
18 | public void setChapters(Set chapters) {
19 | this.chapters = chapters;
20 | }
21 | public String getTitle() {
22 | return title;
23 | }
24 | public void setTitle(String title) {
25 | this.title = title;
26 | }
27 | public String getOutline() {
28 | return outline;
29 | }
30 | public void setOutline(String outline) {
31 | this.outline = outline;
32 | }
33 | public Journal getJournal() {
34 | return journal;
35 | }
36 | public void setJournal(Journal journal) {
37 | this.journal = journal;
38 | }
39 | public Integer getArticle_id() {
40 | return article_id;
41 | }
42 | public void setArticle_id(Integer article_id) {
43 | this.article_id = article_id;
44 | }
45 |
46 | }
47 |
--------------------------------------------------------------------------------
/src/com/bean/Chapter.hbm.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/src/com/bean/Chapter.java:
--------------------------------------------------------------------------------
1 | package com.bean;
2 |
3 | import java.util.HashSet;
4 | import java.util.Set;
5 |
6 | public class Chapter {
7 | private Article article;
8 | private Integer chapter_id;
9 | private String title;
10 | private Integer sequence;
11 | private Set paragraphs = new HashSet();
12 |
13 | public Article getArticle() {
14 | return article;
15 | }
16 | public void setArticle(Article article) {
17 | this.article = article;
18 | }
19 |
20 | public Integer getChapter_id() {
21 | return chapter_id;
22 | }
23 | public void setChapter_id(Integer chapter_id) {
24 | this.chapter_id = chapter_id;
25 | }
26 |
27 | public String getTitle() {
28 | return title;
29 | }
30 | public void setTitle(String title) {
31 | this.title = title;
32 | }
33 | public Integer getSequence() {
34 | return sequence;
35 | }
36 | public void setSequence(Integer sequence) {
37 | this.sequence = sequence;
38 | }
39 | public Set getParagraphs() {
40 | return paragraphs;
41 | }
42 | public void setParagraphs(Set paragraphs) {
43 | this.paragraphs = paragraphs;
44 | }
45 |
46 |
47 | }
48 |
--------------------------------------------------------------------------------
/src/com/bean/Journal.hbm.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/src/com/bean/Journal.java:
--------------------------------------------------------------------------------
1 | package com.bean;
2 |
3 | import java.util.HashSet;
4 | import java.util.Set;
5 |
6 | public class Journal {
7 | private Integer journal_id;
8 | private String journal_title;
9 | private String ISSN;
10 | private Set articles = new HashSet();
11 |
12 |
13 | public String getISSN() {
14 | return ISSN;
15 | }
16 | public void setISSN(String iSSN) {
17 | ISSN = iSSN;
18 | }
19 | public String getJournal_title() {
20 | return journal_title;
21 | }
22 | public void setJournal_title(String journal_title) {
23 | this.journal_title = journal_title;
24 | }
25 | public Integer getJournal_id() {
26 | return journal_id;
27 | }
28 | public void setJournal_id(Integer journal_id) {
29 | this.journal_id = journal_id;
30 | }
31 | public Set getArticles() {
32 | return articles;
33 | }
34 | public void setArticles(Set articles) {
35 | this.articles = articles;
36 | }
37 |
38 |
39 | }
40 |
--------------------------------------------------------------------------------
/src/com/bean/Paragraph.hbm.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
26 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/src/com/bean/Paragraph.java:
--------------------------------------------------------------------------------
1 | package com.bean;
2 |
3 | public class Paragraph {
4 | private Integer paragraph_id;
5 | private Integer sequence;
6 | private String content;
7 | private Double score;
8 | private Integer score_num;
9 | private Chapter chapter;
10 | private User user;
11 |
12 | public User getUser() {
13 | return user;
14 | }
15 | public void setUser(User user) {
16 | this.user = user;
17 | }
18 | public Integer getParagraph_id() {
19 | return paragraph_id;
20 | }
21 | public void setParagraph_id(Integer paragraph_id) {
22 | this.paragraph_id = paragraph_id;
23 | }
24 | public Integer getSequence() {
25 | return sequence;
26 | }
27 | public void setSequence(Integer sequence) {
28 | this.sequence = sequence;
29 | }
30 | public String getContent() {
31 | return content;
32 | }
33 | public void setContent(String content) {
34 | this.content = content;
35 | }
36 | public Double getScore() {
37 | return score;
38 | }
39 | public void setScore(Double score) {
40 | this.score = score;
41 | }
42 | public Integer getScore_num() {
43 | return score_num;
44 | }
45 | public void setScore_num(Integer score_num) {
46 | this.score_num = score_num;
47 | }
48 | public Chapter getChapter() {
49 | return chapter;
50 | }
51 | public void setChapter(Chapter chapter) {
52 | this.chapter = chapter;
53 | }
54 |
55 |
56 | }
57 |
--------------------------------------------------------------------------------
/src/com/bean/User.hbm.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/src/com/bean/User.java:
--------------------------------------------------------------------------------
1 | package com.bean;
2 |
3 | import java.util.Set;
4 |
5 | public class User {
6 | private Integer userid;
7 | private String username;
8 | private String password;
9 | private String email;
10 | private String note;
11 | private Boolean admin;
12 | private Set paragraphs;
13 |
14 | public User(){}
15 |
16 | public Integer getUserid() {
17 | return userid;
18 | }
19 |
20 | public void setUserid(Integer userid) {
21 | this.userid = userid;
22 | }
23 |
24 | public String getUsername() {
25 | return username;
26 | }
27 |
28 | public void setUsername(String username) {
29 | this.username = username;
30 | }
31 |
32 | public String getPassword() {
33 | return password;
34 | }
35 |
36 | public void setPassword(String password) {
37 | this.password = password;
38 | }
39 |
40 | public String getEmail() {
41 | return email;
42 | }
43 |
44 | public void setEmail(String email) {
45 | this.email = email;
46 | }
47 |
48 | public String getNote() {
49 | return note;
50 | }
51 |
52 | public void setNote(String note) {
53 | this.note = note;
54 | }
55 |
56 | public Boolean getAdmin() {
57 | return admin;
58 | }
59 |
60 | public void setAdmin(Boolean admin) {
61 | this.admin = admin;
62 | }
63 |
64 | public Set getParagraphs() {
65 | return paragraphs;
66 | }
67 |
68 | public void setParagraphs(Set paragraphs) {
69 | this.paragraphs = paragraphs;
70 | }
71 |
72 |
73 |
74 |
75 | }
76 |
--------------------------------------------------------------------------------
/src/com/dao/JournalDAO.java:
--------------------------------------------------------------------------------
1 | package com.dao;
2 |
3 | import java.util.List;
4 |
5 | import com.bean.Chapter;
6 | import com.bean.Paragraph;
7 |
8 | public interface JournalDAO {
9 | // public void save_journal(Journal journal);
10 |
11 | // public void remove_journal(Journal journal);
12 |
13 | // public Journal find_journal_by_id(Integer journal_id);
14 |
15 | public List find_all_journal_title();
16 |
17 | @SuppressWarnings("rawtypes")
18 | public List find_all_journal();
19 |
20 | @SuppressWarnings("rawtypes")
21 | public List find_article_of_journal(Integer journal_id);
22 |
23 | @SuppressWarnings("rawtypes")
24 | public List find_chapter_of_article(Integer article_id);
25 |
26 | public List> find_paragraph_of_chapter(Integer chapter_id);
27 |
28 | //no use
29 | public Integer find_first_journal_id();
30 |
31 | public void add_chapter(Chapter chapter);
32 |
33 | public void delete_journal(Integer journal_id);
34 |
35 | public void update_article(Integer article_id, String article_title, String article_outline);
36 |
37 | public void add_paragraph(Paragraph paragraph);
38 |
39 | //journal_title, chapter_title, sequence of paragraph, paragraph_id
40 | @SuppressWarnings("rawtypes")
41 | public List find_all_paragraph_of_user(Integer userid);
42 |
43 | public Paragraph find_paragraph_by_paragraph_id(Integer paragraph_id);
44 |
45 | public void update_paragraph(Paragraph paragraph);
46 |
47 | public void delete_paragraph(Paragraph paragraph);
48 | // public void update_journal(Journal journal);
49 | }
50 |
--------------------------------------------------------------------------------
/src/com/dao/UserDAO.java:
--------------------------------------------------------------------------------
1 | package com.dao;
2 |
3 | import com.bean.User;
4 |
5 | public interface UserDAO {
6 | public void saveUser(User user);
7 |
8 | public User findUserByUsername(String username);
9 |
10 | public User findUserByUserid(Integer userid);
11 |
12 | public void updateUser(User user);
13 |
14 | public String find_note_of_user(Integer userid);
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/src/com/dao/impl/JournalDAOImpl.java:
--------------------------------------------------------------------------------
1 | package com.dao.impl;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 |
6 | import org.hibernate.Query;
7 | import org.hibernate.Session;
8 | import org.hibernate.SessionFactory;
9 |
10 | import com.bean.Chapter;
11 | import com.bean.Paragraph;
12 | import com.dao.JournalDAO;
13 |
14 | public class JournalDAOImpl implements JournalDAO {
15 |
16 | SessionFactory sessionFactory;
17 |
18 | public void setSessionFactory(SessionFactory sessionFactory) {
19 | this.sessionFactory = sessionFactory;
20 | }
21 |
22 | @SuppressWarnings({ "rawtypes" })
23 | @Override
24 | public List find_all_journal() {
25 | Session session = sessionFactory.openSession();
26 | String hql = "select journal.journal_id, journal.journal_title, journal.ISSN from Journal journal order by journal.journal_id desc";
27 | List res = session.createQuery(hql).list();
28 | session.close();
29 | return res;
30 |
31 | }
32 |
33 | @SuppressWarnings("unchecked")
34 | @Override
35 | public List find_all_journal_title() {
36 | Session session = sessionFactory.openSession();
37 | String hql = "select journal_title from Journal journal order by journal.journal_id desc";
38 | List res = session.createQuery(hql).list();
39 | session.close();
40 | return res;
41 | }
42 |
43 | @SuppressWarnings({ "rawtypes" })
44 | @Override
45 | public List find_article_of_journal(Integer journal_id) {
46 | Session session = sessionFactory.openSession();
47 | String hql = "select article_id, title, outline from Article article where article.journal.journal_id = " + journal_id;
48 | List res = session.createQuery(hql).list();
49 | session.close();
50 | return res;
51 | //String hql = "from Article article where article.journal.journal_id = " + journal_id;
52 | }
53 |
54 | @SuppressWarnings("rawtypes")
55 | @Override
56 | public List find_chapter_of_article(Integer article_id) {
57 | Session session = sessionFactory.openSession();
58 | String hql = "select chapter_id, title from Chapter chapter where article_id = " + article_id + " order by sequence";
59 | List res = session.createQuery(hql).list();
60 | session.close();
61 | return res;
62 | }
63 |
64 | @SuppressWarnings({ "unchecked" })
65 | @Override
66 | public List> find_paragraph_of_chapter(Integer chapter_id) {
67 | Session session = sessionFactory.openSession();
68 | List> res = new ArrayList>();
69 | String hql = "select max(sequence) from Paragraph paragraph where chapter_id = " + chapter_id;
70 | Query query = session.createQuery(hql);
71 | Integer max_sequence = (Integer)query.uniqueResult();
72 | if (max_sequence == null) {
73 | session.close();
74 | return null;
75 | }
76 |
77 |
78 | for (int i = 0; i <= max_sequence; ++i) {
79 | hql = "from Paragraph paragraph where chapter_id = :chapter_id and sequence = :sequence order by paragraph.score desc";
80 | query = session.createQuery(hql);
81 | query.setInteger("chapter_id", chapter_id);
82 | query.setInteger("sequence", i);
83 | query.setFirstResult(0);
84 | query.setMaxResults(3);
85 | List high_score_paragraphs = query.list();
86 | hql = "from Paragraph paragraph where chapter_id = :chapter_id and sequence = :sequence order by rand()";
87 | query = session.createQuery(hql);
88 | query.setInteger("chapter_id", chapter_id);
89 | query.setInteger("sequence", i);
90 | query.setFirstResult(0);
91 | query.setMaxResults(5);
92 | List random_score_paragraphs = query.list();
93 | int count = 0;
94 | for (int j = 0; count < 2 && j < random_score_paragraphs.size(); ++j) {
95 | boolean isDuplicate = false;
96 | for (int k = 0; k < high_score_paragraphs.size(); ++k) {
97 | if(random_score_paragraphs.get(j).getParagraph_id() == high_score_paragraphs.get(k).getParagraph_id()) {
98 | isDuplicate = true;
99 | break;
100 | }
101 | }
102 | if (!isDuplicate) {
103 | high_score_paragraphs.add(random_score_paragraphs.get(j));
104 | ++count;
105 | }
106 | }
107 | res.add(high_score_paragraphs);
108 | }
109 | session.close();
110 | return res;
111 | }
112 |
113 | @Override
114 | public Integer find_first_journal_id() {
115 | Session session = sessionFactory.openSession();
116 | String hql = "select journal_id from Journal journal order by journal.journal_id desc";
117 | Query query = session.createQuery(hql);
118 | query.setFirstResult(0);
119 | query.setMaxResults(1);
120 | Integer res = (Integer)query.list().get(0);
121 | session.close();
122 | return res;
123 | }
124 |
125 | @Override
126 | public void add_chapter(Chapter chapter) {
127 | Session session = sessionFactory.openSession();
128 | session.save(chapter);
129 | session.close();
130 | }
131 |
132 | @Override
133 | public void delete_journal(Integer journal_id) {
134 | Session session = sessionFactory.openSession();
135 | String hql = "delete from Journal journal where journal_id = " + journal_id;
136 | Query query = session.createQuery(hql);
137 | query.executeUpdate();
138 | session.close();
139 | }
140 |
141 | @Override
142 | public void update_article(Integer article_id, String article_title,
143 | String article_outline) {
144 | Session session = sessionFactory.openSession();
145 | String hql = "update Article article set article.title = :article_title, article.outline = :article_outline where article.article_id = :article_id";
146 | Query query = session.createQuery(hql);
147 | query.setString("article_title", article_title);
148 | query.setString("article_outline", article_outline);
149 | query.setInteger("article_id", article_id);
150 | query.executeUpdate();
151 | session.close();
152 | }
153 |
154 | @Override
155 | public void add_paragraph(Paragraph paragraph) {
156 | Session session = sessionFactory.openSession();
157 | session.save(paragraph);
158 | session.close();
159 |
160 | }
161 |
162 | @SuppressWarnings("rawtypes")
163 | @Override
164 | public List find_all_paragraph_of_user(Integer userid) {
165 | Session session = sessionFactory.openSession();
166 | String hql = "select paragraph.chapter.article.journal.journal_title, paragraph.chapter.article.title, paragraph.chapter.title, paragraph.sequence, paragraph.paragraph_id ";
167 | hql += "from Paragraph paragraph where paragraph.user.userid = " + userid;
168 | hql += " order by paragraph.chapter.article.journal.journal_id, paragraph.chapter.article.article_id, paragraph.chapter.chapter_id, paragraph.sequence";
169 | /*
170 | String hql = "select journal.journal_title, article.title, chapter.title, paragraph.sequence, paragraph.paragraph_id ";
171 | hql += "from Paragraph paragraph, Chapter chapter, Article article, Journal journal ";
172 | hql += "where paragraph.chapter.chapter_id = chapter.chapter_id and paragraph.chapter.article.article_id = article.article_id and paragraph.chapter.article.journal.journal_id = journal.journal_id and paragraph.user.userid = " + userid;
173 | */
174 | Query query = session.createQuery(hql);
175 | List res = query.list();
176 | session.close();
177 | return res;
178 | }
179 |
180 | @Override
181 | public Paragraph find_paragraph_by_paragraph_id(Integer paragraph_id) {
182 | Session session = sessionFactory.openSession();
183 | String hql = "from Paragraph paragraph where paragraph_id = " + paragraph_id;
184 | Query query = session.createQuery(hql);
185 | Paragraph paragraph = (Paragraph)query.uniqueResult();
186 | session.close();
187 | return paragraph;
188 | }
189 |
190 | @Override
191 | public void update_paragraph(Paragraph paragraph) {
192 | Session session = sessionFactory.openSession();
193 | session.update(paragraph);
194 | session.flush();
195 | session.close();
196 | }
197 |
198 | @Override
199 | public void delete_paragraph(Paragraph paragraph) {
200 | Session session = sessionFactory.openSession();
201 | String hql = "delete from Paragraph paragraph where paragraph_id = " + paragraph.getParagraph_id();
202 | Query query = session.createQuery(hql);
203 | query.executeUpdate();
204 | session.close();
205 | }
206 | }
207 |
--------------------------------------------------------------------------------
/src/com/dao/impl/UserDAOImpl.java:
--------------------------------------------------------------------------------
1 | package com.dao.impl;
2 |
3 | import java.util.List;
4 |
5 | import org.hibernate.Query;
6 | import org.hibernate.Session;
7 | import org.hibernate.SessionFactory;
8 |
9 | import com.bean.User;
10 | import com.dao.UserDAO;
11 |
12 | public class UserDAOImpl implements UserDAO {
13 |
14 | private SessionFactory sessionFactory;
15 |
16 |
17 | public SessionFactory getSessionFactory() {
18 | return sessionFactory;
19 | }
20 |
21 | public void setSessionFactory(SessionFactory sessionFactory) {
22 | this.sessionFactory = sessionFactory;
23 | }
24 |
25 |
26 | @SuppressWarnings("rawtypes")
27 | public User findUserByUsername(String username){
28 |
29 | Session session = sessionFactory.openSession();
30 | String hql = "from User user where user.username = '" + username + "'";
31 | Query query = session.createQuery(hql);
32 | List list = query.list();
33 | session.close();
34 | if (list.isEmpty()) {
35 | return null;
36 | }
37 | else {
38 | return (User)list.get(0);
39 | }
40 | }
41 |
42 | public void saveUser(User user)
43 | {
44 | Session session = sessionFactory.openSession();
45 | session.save(user);
46 | session.flush();
47 | session.close();
48 | }
49 |
50 | public void updateUser(User user)
51 | {
52 | Session session = sessionFactory.openSession();
53 | session.update(user);
54 | session.flush();
55 | session.close();
56 | }
57 |
58 | @Override
59 | public String find_note_of_user(Integer userid) {
60 | Session session = sessionFactory.openSession();
61 | String hql = "select note from User user where userid = " + userid;
62 | Query query = session.createQuery(hql);
63 | String res = (String)query.uniqueResult();
64 | session.close();
65 | return res;
66 | }
67 |
68 | @SuppressWarnings("rawtypes")
69 | @Override
70 | public User findUserByUserid(Integer userid) {
71 | Session session = sessionFactory.openSession();
72 | String hql = "from User user where user.userid = '" + userid + "'";
73 | Query query = session.createQuery(hql);
74 | List list = query.list();
75 | session.close();
76 | if (list.isEmpty()) {
77 | return null;
78 | }
79 | else {
80 | return (User)list.get(0);
81 | }
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/src/com/service/JournalService.java:
--------------------------------------------------------------------------------
1 | package com.service;
2 |
3 | import java.util.List;
4 |
5 | import com.bean.Paragraph;
6 |
7 | public interface JournalService {
8 | @SuppressWarnings("rawtypes")
9 | public List find_all();
10 | public List find_all_title();
11 | //no use
12 | public Integer find_first_journal_id();
13 | @SuppressWarnings("rawtypes")
14 | public List find_article_of_journal(Integer journal_id);
15 | @SuppressWarnings("rawtypes")
16 | public List find_chapter_of_article(Integer article_id);
17 | public List> find_paragraph_of_article(Integer chapter_id);
18 | public void add_journal(String journal_title, String ISSN,List articles_title,
19 | List articles_outline, List chapters_title);
20 | public void delete_journal(Integer journal_id);
21 | public void update_article(Integer article_id, String article_title, String article_outline);
22 | public void add_paragraph(Integer userid, Integer chapter_id, Integer sequence, String content,
23 | Double score , Integer score_num);
24 | public Paragraph find_paragraph_by_paragraph_id(Integer paragraph_id);
25 | @SuppressWarnings("rawtypes")
26 | public List find_all_paragraph_of_user(Integer userid);
27 | public void update_paragraph(Paragraph paragraph);
28 | public void delete_paragraph(Paragraph paragraph);
29 | }
30 |
--------------------------------------------------------------------------------
/src/com/service/UserService.java:
--------------------------------------------------------------------------------
1 | package com.service;
2 |
3 | import com.bean.User;
4 |
5 | public interface UserService {
6 |
7 | public void save(User user);
8 |
9 | public void update(User user);
10 |
11 | public User find_user_by_userid(Integer userid);
12 |
13 | public boolean checkUser(String username, String password);
14 |
15 | public boolean checkUser(String username, String password, Boolean[] admin, Integer[] userid);
16 |
17 | public void save_note_of_user(Integer userid, String note);
18 |
19 | public String find_note_of_user(Integer userid);
20 |
21 | public boolean usernameExsit(String username);
22 | }
23 |
--------------------------------------------------------------------------------
/src/com/service/impl/JournalServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.service.impl;
2 |
3 | import java.util.List;
4 |
5 | import com.bean.Article;
6 | import com.bean.Chapter;
7 | import com.bean.Journal;
8 | import com.bean.Paragraph;
9 | import com.bean.User;
10 | import com.dao.JournalDAO;
11 | import com.service.JournalService;
12 |
13 | public class JournalServiceImpl implements JournalService {
14 | private JournalDAO journalDAO;
15 |
16 | public void setJournalDAO(JournalDAO journalDAO) {
17 | this.journalDAO = journalDAO;
18 | }
19 |
20 | @SuppressWarnings("rawtypes")
21 | @Override
22 | public List find_all() {
23 | return journalDAO.find_all_journal();
24 | }
25 |
26 |
27 | @Override
28 | public List find_all_title() {
29 | return journalDAO.find_all_journal_title();
30 | }
31 |
32 | @SuppressWarnings("rawtypes")
33 | @Override
34 | public List find_article_of_journal(Integer journal_id) {
35 | return journalDAO.find_article_of_journal(journal_id);
36 | }
37 |
38 | @SuppressWarnings("rawtypes")
39 | @Override
40 | public List find_chapter_of_article(Integer article_id) {
41 | return journalDAO.find_chapter_of_article(article_id);
42 | }
43 |
44 | @Override
45 | public List> find_paragraph_of_article(Integer chapter_id) {
46 | return journalDAO.find_paragraph_of_chapter(chapter_id);
47 | }
48 |
49 | @Override
50 | public Integer find_first_journal_id() {
51 | return journalDAO.find_first_journal_id();
52 | }
53 |
54 | @Override
55 | public void add_journal(String journal_title, String ISSN,List articles_title,
56 | List articles_outline, List chapters_title) {
57 | Journal journal = new Journal();
58 | journal.setJournal_title(journal_title);
59 | journal.setISSN(ISSN);
60 | int cur_chapter_title_index = 0;
61 | for (int i = 0; i < articles_title.size(); ++i) {
62 | Article article = new Article();
63 | article.setJournal(journal);
64 | article.setTitle(articles_title.get(i));
65 | article.setOutline(articles_outline.get(i));
66 | for (int j = 0; j < chapters_title.size() / articles_title.size(); ++j, ++cur_chapter_title_index) {
67 | Chapter chapter = new Chapter();
68 | chapter.setArticle(article);
69 | chapter.setTitle(chapters_title.get(cur_chapter_title_index));
70 | chapter.setSequence(j);
71 | journalDAO.add_chapter(chapter);
72 | }
73 | }
74 |
75 | }
76 |
77 | @Override
78 | public void delete_journal(Integer journal_id) {
79 | journalDAO.delete_journal(journal_id);
80 |
81 | }
82 |
83 | @Override
84 | public void update_article(Integer article_id, String article_title,
85 | String article_outline) {
86 | journalDAO.update_article(article_id, article_title, article_outline);
87 |
88 | }
89 |
90 | @Override
91 | public void add_paragraph(Integer userid, Integer chapter_id, Integer sequence,
92 | String content, Double score, Integer score_num) {
93 | Chapter chapter = new Chapter();
94 | chapter.setChapter_id(chapter_id);
95 | User user = new User();
96 | user.setUserid(userid);
97 | Paragraph paragraph = new Paragraph();
98 | paragraph.setChapter(chapter);
99 | paragraph.setUser(user);
100 | paragraph.setSequence(sequence);
101 | paragraph.setContent(content);
102 | paragraph.setScore(score);
103 | paragraph.setScore_num(score_num);
104 | journalDAO.add_paragraph(paragraph);
105 | }
106 |
107 | @Override
108 | public Paragraph find_paragraph_by_paragraph_id(Integer paragraph_id) {
109 | return this.journalDAO.find_paragraph_by_paragraph_id(paragraph_id);
110 | }
111 |
112 |
113 | @SuppressWarnings("rawtypes")
114 | @Override
115 | public List find_all_paragraph_of_user(Integer userid) {
116 | return this.journalDAO.find_all_paragraph_of_user(userid);
117 | }
118 |
119 | @Override
120 | public void update_paragraph(Paragraph paragraph) {
121 | this.journalDAO.update_paragraph(paragraph);
122 |
123 | }
124 |
125 | @Override
126 | public void delete_paragraph(Paragraph paragraph) {
127 | this.journalDAO.delete_paragraph(paragraph);
128 |
129 | }
130 |
131 |
132 | }
133 |
--------------------------------------------------------------------------------
/src/com/service/impl/UserServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.service.impl;
2 |
3 | import com.bean.User;
4 | import com.dao.UserDAO;
5 | import com.service.UserService;
6 |
7 | public class UserServiceImpl implements UserService {
8 | private UserDAO userDao;
9 |
10 | public UserDAO getUserDao()
11 | {
12 | return userDao;
13 | }
14 |
15 | public void setUserDao(UserDAO userDao)
16 | {
17 | this.userDao = userDao;
18 | }
19 |
20 |
21 | public void save(User user)
22 | {
23 | this.userDao.saveUser(user);
24 | }
25 |
26 | public void update(User user)
27 | {
28 | this.userDao.updateUser(user);
29 | }
30 |
31 | @Override
32 | public boolean checkUser(String username, String password) {
33 | User user = this.userDao.findUserByUsername(username);
34 | if (user != null && user.getPassword().equals(password)) {
35 | return true;
36 | }
37 | else
38 | return false;
39 | }
40 |
41 | public boolean checkUser(String username, String password, Boolean[] admin, Integer[] userid){
42 | User user = this.userDao.findUserByUsername(username);
43 | if (user != null && user.getPassword().equals(password)) {
44 | admin[0] = user.getAdmin();
45 | userid[0] = user.getUserid();
46 | return true;
47 | }
48 | else
49 | return false;
50 | }
51 |
52 | @Override
53 | public void save_note_of_user(Integer userid, String note) {
54 | User user = this.userDao.findUserByUserid(userid);
55 | user.setNote(note);
56 | this.userDao.updateUser(user);
57 | }
58 |
59 | @Override
60 | public String find_note_of_user(Integer userid) {
61 | return this.userDao.find_note_of_user(userid);
62 | }
63 |
64 | @Override
65 | public boolean usernameExsit(String username) {
66 | User user = this.userDao.findUserByUsername(username);
67 | if (user == null ) {
68 | return false;
69 | }
70 | return true;
71 | }
72 |
73 | @Override
74 | public User find_user_by_userid(Integer userid) {
75 | return this.userDao.findUserByUserid(userid);
76 | }
77 |
78 |
79 |
80 | }
81 |
--------------------------------------------------------------------------------
/src/hibernate.cfg.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | com.mysql.jdbc.Driver
7 | jdbc:mysql://localhost:3306/storyfm
8 | root
9 | root
10 | org.hibernate.dialect.MySQLDialect
11 |
12 | update
13 | none
14 | true
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/src/struts.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | listJournal
9 | /wellcome.jsp
10 |
11 |
12 | showArticle?article_id=${article_id}&chapter_id=${chapter_id}
13 | /wellcome.jsp
14 |
15 |
16 | /wellcome.jsp
17 |
18 |
19 | listJournal
20 | /wellcome.jsp
21 |
22 |
23 | /user.jsp
24 |
25 |
26 | userManage
27 | userManage
28 |
29 |
30 | /paragraph.jsp
31 |
32 |
42 |
43 |
44 |
45 | /Article_List.jsp
46 |
47 |
48 | listJournal
49 |
50 |
51 | listJournal
52 |
53 |
54 | listJournal?journal_id=${journal_id}
55 |
56 |
57 | Article.jsp
58 |
59 |
60 | showArticle?article_id=${article_id}&chapter_id=${chapter_id}
61 | /wellcome.jsp
62 |
63 |
64 | userManage
65 | /wellcome.jsp
66 |
67 |
68 | userManage
69 | /wellcome.jsp
70 |
71 |
72 |
73 |
--------------------------------------------------------------------------------