├── .classpath ├── .gitignore ├── .project ├── .settings ├── .jsdtscope ├── org.eclipse.core.resources.prefs ├── org.eclipse.jdt.core.prefs ├── org.eclipse.m2e.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 └── org.eclipse.wst.validation.prefs ├── README.md ├── pom.xml ├── screenshots ├── changedir.png ├── deletefile.png ├── deletemachine.png ├── home.png ├── login.png ├── modifypermissions.png ├── openmachine.png ├── regist.png ├── shell.png ├── uploadfile.png └── usercenter.png └── src └── main ├── java ├── online │ └── webssh │ │ ├── action │ │ ├── BaseAction.java │ │ ├── FileUploadAction.java │ │ ├── IndexAction.java │ │ ├── LanguageAction.java │ │ ├── MachineAction.java │ │ ├── MachineAction_en_US.properties │ │ ├── MachineAction_zh_CN.properties │ │ ├── NoteAction.java │ │ ├── NoteAction_en_US.properties │ │ ├── NoteAction_zh_CN.properties │ │ ├── SecurityCodeImageAction.java │ │ ├── UserAction.java │ │ ├── UserAction_en_US.properties │ │ └── UserAction_zh_CN.properties │ │ ├── beans │ │ ├── CodeMsg.java │ │ ├── MessageBean.java │ │ ├── PageBean.java │ │ ├── SftpBean.java │ │ └── SftpFileBean.java │ │ ├── dao │ │ ├── BaseDao.java │ │ ├── MachineDao.java │ │ ├── NoteDao.java │ │ ├── UserDao.java │ │ └── impl │ │ │ ├── BaseDaoImpl.java │ │ │ ├── MachineDaoImpl.java │ │ │ ├── NoteDaoImpl.java │ │ │ └── UserDaoImpl.java │ │ ├── filter │ │ └── MyStrutsFilter.java │ │ ├── pojos │ │ ├── Machine.hbm.xml │ │ ├── Machine.java │ │ ├── Note.hbm.xml │ │ ├── Note.java │ │ ├── User.hbm.xml │ │ └── User.java │ │ ├── service │ │ ├── BaseService.java │ │ ├── MachineService.java │ │ ├── NoteService.java │ │ ├── UserService.java │ │ └── impl │ │ │ ├── BaseServiceImpl.java │ │ │ ├── MachineServiceImpl.java │ │ │ ├── NoteServiceImpl.java │ │ │ └── UserServiceImpl.java │ │ ├── sftp │ │ └── SftpClient.java │ │ ├── test │ │ ├── Basic.java │ │ ├── Sftp.java │ │ ├── SftpTest.java │ │ └── Test.java │ │ ├── utils │ │ ├── DeepCopyUtil.java │ │ ├── EndecryptUtil.java │ │ ├── SecurityCode.java │ │ ├── SecurityImage.java │ │ ├── SpringContextUtil.java │ │ ├── SwingShell.java │ │ ├── ValidateUtil.java │ │ └── WebSshUtil.java │ │ └── websocket │ │ ├── ShellOutPutTask.java │ │ ├── SshClient.java │ │ ├── SshShellHandler.java │ │ └── intercepter │ │ └── HandshakeInterceptor.java ├── page_en_US.properties ├── page_zh_CN.properties ├── struts-image.xml ├── struts-lang.xml ├── struts-machine.xml ├── struts-note.xml ├── struts-user.xml └── struts.xml ├── resources └── conf │ ├── applicationContext-machine.xml │ ├── applicationContext-note.xml │ ├── applicationContext-user.xml │ ├── applicationContext-websocket.xml │ ├── applicationContext.xml │ ├── hibernate.cfg.xml │ └── jdbc.properties └── webapp ├── WEB-INF ├── spring │ └── webmvc-config.xml └── web.xml ├── common ├── footer.jsp ├── header.jsp ├── middle.jsp ├── middle2.jsp └── modal.jsp ├── css ├── bootstrap-select.css ├── bootstrap-select.css.map ├── bootstrap-select.js ├── bootstrap-select.js.map ├── bootstrap-select.min.css ├── bootstrap-select.min.js ├── bootstrap-theme.css ├── bootstrap-theme.css.map ├── bootstrap-theme.min.css ├── bootstrap.css ├── bootstrap.css.map ├── bootstrap.min.css ├── i18n │ ├── defaults-bg_BG.js │ ├── defaults-bg_BG.min.js │ ├── defaults-cs_CZ.js │ ├── defaults-cs_CZ.min.js │ ├── defaults-da_DK.js │ ├── defaults-da_DK.min.js │ ├── defaults-de_DE.js │ ├── defaults-de_DE.min.js │ ├── defaults-en_US.js │ ├── defaults-en_US.min.js │ ├── defaults-es_CL.js │ ├── defaults-es_CL.min.js │ ├── defaults-eu.js │ ├── defaults-eu.min.js │ ├── defaults-fa_IR.js │ ├── defaults-fa_IR.min.js │ ├── defaults-fr_FR.js │ ├── defaults-fr_FR.min.js │ ├── defaults-hu_HU.js │ ├── defaults-hu_HU.min.js │ ├── defaults-it_IT.js │ ├── defaults-it_IT.min.js │ ├── defaults-ko_KR.js │ ├── defaults-ko_KR.min.js │ ├── defaults-nl_NL.js │ ├── defaults-nl_NL.min.js │ ├── defaults-pl_PL.js │ ├── defaults-pl_PL.min.js │ ├── defaults-pt_BR.js │ ├── defaults-pt_BR.min.js │ ├── defaults-pt_PT.js │ ├── defaults-pt_PT.min.js │ ├── defaults-ro_RO.js │ ├── defaults-ro_RO.min.js │ ├── defaults-ru_RU.js │ ├── defaults-ru_RU.min.js │ ├── defaults-sk_SK.js │ ├── defaults-sk_SK.min.js │ ├── defaults-sl_SI.js │ ├── defaults-sl_SI.min.js │ ├── defaults-sv_SE.js │ ├── defaults-sv_SE.min.js │ ├── defaults-tr_TR.js │ ├── defaults-tr_TR.min.js │ ├── defaults-ua_UA.js │ ├── defaults-ua_UA.min.js │ ├── defaults-zh_CN.js │ ├── defaults-zh_CN.min.js │ ├── defaults-zh_TW.js │ └── defaults-zh_TW.min.js └── style.css ├── fonts ├── glyphicons-halflings-regular.eot ├── glyphicons-halflings-regular.svg ├── glyphicons-halflings-regular.ttf ├── glyphicons-halflings-regular.woff ├── glyphicons-halflings-regular.woff2 ├── glyphicons │ ├── flat-ui-icons-regular.eot │ ├── flat-ui-icons-regular.svg │ ├── flat-ui-icons-regular.ttf │ ├── flat-ui-icons-regular.woff │ └── selection.json └── lato │ ├── lato-black.eot │ ├── lato-black.svg │ ├── lato-black.ttf │ ├── lato-black.woff │ ├── lato-bold.eot │ ├── lato-bold.svg │ ├── lato-bold.ttf │ ├── lato-bold.woff │ ├── lato-bolditalic.eot │ ├── lato-bolditalic.svg │ ├── lato-bolditalic.ttf │ ├── lato-bolditalic.woff │ ├── lato-italic.eot │ ├── lato-italic.svg │ ├── lato-italic.ttf │ ├── lato-italic.woff │ ├── lato-light.eot │ ├── lato-light.svg │ ├── lato-light.ttf │ ├── lato-light.woff │ ├── lato-regular.eot │ ├── lato-regular.svg │ ├── lato-regular.ttf │ └── lato-regular.woff ├── home.jsp ├── images ├── background.jpg ├── faces │ └── user.png ├── photo.jpg ├── pin.png └── scan.png ├── index.jsp ├── js ├── ajaxfileupload.js ├── bootstrap-select.js ├── bootstrap-select.js.map ├── bootstrap-select.min.js ├── bootstrap.js ├── bootstrap.min.js ├── global.js ├── i18n │ ├── defaults-bg_BG.js │ ├── defaults-bg_BG.min.js │ ├── defaults-cs_CZ.js │ ├── defaults-cs_CZ.min.js │ ├── defaults-da_DK.js │ ├── defaults-da_DK.min.js │ ├── defaults-de_DE.js │ ├── defaults-de_DE.min.js │ ├── defaults-en_US.js │ ├── defaults-en_US.min.js │ ├── defaults-es_CL.js │ ├── defaults-es_CL.min.js │ ├── defaults-eu.js │ ├── defaults-eu.min.js │ ├── defaults-fa_IR.js │ ├── defaults-fa_IR.min.js │ ├── defaults-fr_FR.js │ ├── defaults-fr_FR.min.js │ ├── defaults-hu_HU.js │ ├── defaults-hu_HU.min.js │ ├── defaults-it_IT.js │ ├── defaults-it_IT.min.js │ ├── defaults-ko_KR.js │ ├── defaults-ko_KR.min.js │ ├── defaults-nl_NL.js │ ├── defaults-nl_NL.min.js │ ├── defaults-pl_PL.js │ ├── defaults-pl_PL.min.js │ ├── defaults-pt_BR.js │ ├── defaults-pt_BR.min.js │ ├── defaults-pt_PT.js │ ├── defaults-pt_PT.min.js │ ├── defaults-ro_RO.js │ ├── defaults-ro_RO.min.js │ ├── defaults-ru_RU.js │ ├── defaults-ru_RU.min.js │ ├── defaults-sk_SK.js │ ├── defaults-sk_SK.min.js │ ├── defaults-sl_SI.js │ ├── defaults-sl_SI.min.js │ ├── defaults-sv_SE.js │ ├── defaults-sv_SE.min.js │ ├── defaults-tr_TR.js │ ├── defaults-tr_TR.min.js │ ├── defaults-ua_UA.js │ ├── defaults-ua_UA.min.js │ ├── defaults-zh_CN.js │ ├── defaults-zh_CN.min.js │ ├── defaults-zh_TW.js │ └── defaults-zh_TW.min.js ├── jquery-2.1.4.min.js ├── login.js ├── machine.js ├── menu.js ├── note.js ├── npm.js ├── pwd.js ├── regist.js ├── sftp.js ├── term.js ├── time.js └── waterfall.js └── user ├── addMachine.jsp ├── addNote.jsp ├── centerRight.jsp ├── login.jsp ├── machinelist.jsp ├── notelist.jsp ├── openSftpWindow.jsp ├── openShellTerminal.jsp ├── regist.jsp ├── updateMachine.jsp ├── updateNote.jsp ├── updatePassword.jsp ├── uploadFace.jsp ├── usercenter.jsp ├── viewNote.jsp └── welcome.jsp /.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 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | webssh 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 | org.eclipse.m2e.core.maven2Builder 30 | 31 | 32 | 33 | 34 | 35 | org.eclipse.jem.workbench.JavaEMFNature 36 | org.eclipse.wst.common.modulecore.ModuleCoreNature 37 | org.eclipse.jdt.core.javanature 38 | org.eclipse.m2e.core.maven2Nature 39 | org.eclipse.wst.common.project.facet.core.nature 40 | org.eclipse.wst.jsdt.core.jsNature 41 | 42 | 43 | -------------------------------------------------------------------------------- /.settings/.jsdtscope: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding//src/main/java=UTF-8 3 | encoding//src/main/resources=UTF-8 4 | encoding//src/test/java=UTF-8 5 | encoding/=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.7 4 | org.eclipse.jdt.core.compiler.compliance=1.7 5 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 6 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 7 | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning 8 | org.eclipse.jdt.core.compiler.source=1.7 9 | -------------------------------------------------------------------------------- /.settings/org.eclipse.m2e.core.prefs: -------------------------------------------------------------------------------- 1 | activeProfiles= 2 | eclipse.preferences.version=1 3 | resolveWorkspaceProjects=true 4 | version=1 5 | -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.common.component: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.common.project.facet.core.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.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 -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.validation.prefs: -------------------------------------------------------------------------------- 1 | disabled=06target 2 | eclipse.preferences.version=1 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Web ssh shell & sftp 2 | -------------------- 3 | Just for fun! 4 | 5 | Prerequisite 6 | ------------------- 7 | * Java JDK 1.7 or greater 8 | http://www.oracle.com/technetwork/java/javase/overview/index.html 9 | 10 | * Tomcat server 7.0 or greater 11 | https://tomcat.apache.org 12 | 13 | * Browser with Web Socket support 14 | http://caniuse.com/websockets 15 | 16 | Screenshots 17 | -------------- 18 | ![Regist](https://github.com/xwlcn/webssh/raw/master/screenshots/regist.png) 19 | 20 | ![Login](https://github.com/xwlcn/webssh/raw/master/screenshots/login.png) 21 | 22 | ![Home](https://github.com/xwlcn/webssh/raw/master/screenshots/home.png) 23 | 24 | ![Manage Systems](https://github.com/xwlcn/webssh/raw/master/screenshots/login.png) 25 | 26 | ![User Center](https://github.com/xwlcn/webssh/raw/master/screenshots/usercenter.png) 27 | 28 | ![Open Machine](https://github.com/xwlcn/webssh/raw/master/screenshots/openmachine.png) 29 | 30 | ![Shell](https://github.com/xwlcn/webssh/raw/master/screenshots/shell.png) 31 | 32 | ![Delete Machine](https://github.com/xwlcn/webssh/raw/master/screenshots/deletemachine.png) 33 | 34 | ![Modify Permissions](https://github.com/xwlcn/webssh/raw/master/screenshots/modifypermissions.png) 35 | 36 | ![Delete File](https://github.com/xwlcn/webssh/raw/master/screenshots/deletefile.png) 37 | 38 | ![Upload File](https://github.com/xwlcn/webssh/raw/master/screenshots/uploadfile.png) 39 | 40 | ![Change Directory](https://github.com/xwlcn/webssh/raw/master/screenshots/changedir.png) 41 | -------------------------------------------------------------------------------- /screenshots/changedir.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/screenshots/changedir.png -------------------------------------------------------------------------------- /screenshots/deletefile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/screenshots/deletefile.png -------------------------------------------------------------------------------- /screenshots/deletemachine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/screenshots/deletemachine.png -------------------------------------------------------------------------------- /screenshots/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/screenshots/home.png -------------------------------------------------------------------------------- /screenshots/login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/screenshots/login.png -------------------------------------------------------------------------------- /screenshots/modifypermissions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/screenshots/modifypermissions.png -------------------------------------------------------------------------------- /screenshots/openmachine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/screenshots/openmachine.png -------------------------------------------------------------------------------- /screenshots/regist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/screenshots/regist.png -------------------------------------------------------------------------------- /screenshots/shell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/screenshots/shell.png -------------------------------------------------------------------------------- /screenshots/uploadfile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/screenshots/uploadfile.png -------------------------------------------------------------------------------- /screenshots/usercenter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/screenshots/usercenter.png -------------------------------------------------------------------------------- /src/main/java/online/webssh/action/BaseAction.java: -------------------------------------------------------------------------------- 1 | package online.webssh.action; 2 | 3 | import java.lang.reflect.ParameterizedType; 4 | import java.util.Map; 5 | 6 | import javax.servlet.http.HttpServletRequest; 7 | import javax.servlet.http.HttpServletResponse; 8 | 9 | import org.apache.struts2.ServletActionContext; 10 | import org.apache.struts2.interceptor.ServletRequestAware; 11 | import org.apache.struts2.interceptor.ServletResponseAware; 12 | import org.apache.struts2.interceptor.SessionAware; 13 | 14 | import com.opensymphony.xwork2.ActionSupport; 15 | import com.opensymphony.xwork2.ModelDriven; 16 | 17 | import online.webssh.beans.MessageBean; 18 | import online.webssh.utils.WebSshUtil; 19 | 20 | public class BaseAction extends ActionSupport implements SessionAware, ServletResponseAware, ServletRequestAware, ModelDriven{ 21 | 22 | private static final long serialVersionUID = 1L; 23 | 24 | protected T model; 25 | protected Map session; 26 | protected HttpServletResponse servletResponse; 27 | protected HttpServletRequest servletRequest; 28 | protected MessageBean message; 29 | private String lastUrl = WebSshUtil.getLastUrl(ServletActionContext.getRequest()); 30 | 31 | @SuppressWarnings({ "unchecked", "rawtypes" }) 32 | public T getModel() { 33 | if (model == null) { 34 | try { 35 | ParameterizedType type = (ParameterizedType) this.getClass().getGenericSuperclass(); 36 | Class clazz = (Class) type.getActualTypeArguments()[0]; 37 | model = (T) clazz.newInstance(); 38 | } catch (Exception e) { 39 | 40 | } 41 | } 42 | return model; 43 | } 44 | 45 | public void setModel(T model) { 46 | this.model = model; 47 | } 48 | 49 | public void setServletResponse(HttpServletResponse servletResponse) { 50 | this.servletResponse = servletResponse; 51 | } 52 | 53 | public void setSession(Map session) { 54 | this.session = session; 55 | } 56 | 57 | public void setServletRequest(HttpServletRequest servletRequest) { 58 | this.servletRequest = servletRequest; 59 | } 60 | 61 | 62 | public MessageBean getMessage() { 63 | return message; 64 | } 65 | 66 | public void setMessage(MessageBean message) { 67 | this.message = message; 68 | } 69 | 70 | public String getLastUrl() { 71 | return lastUrl; 72 | } 73 | 74 | public void setLastUrl(String lastUrl) { 75 | this.lastUrl = lastUrl; 76 | } 77 | 78 | } 79 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/action/IndexAction.java: -------------------------------------------------------------------------------- 1 | package online.webssh.action; 2 | 3 | import com.opensymphony.xwork2.ActionSupport; 4 | 5 | public class IndexAction extends ActionSupport{ 6 | 7 | /** 8 | * 9 | */ 10 | private static final long serialVersionUID = 1L; 11 | 12 | public String index() { 13 | return SUCCESS; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/action/LanguageAction.java: -------------------------------------------------------------------------------- 1 | package online.webssh.action; 2 | 3 | import javax.servlet.http.HttpServletRequest; 4 | 5 | import org.apache.struts2.ServletActionContext; 6 | 7 | import com.opensymphony.xwork2.ActionSupport; 8 | 9 | import online.webssh.utils.WebSshUtil; 10 | 11 | public class LanguageAction extends ActionSupport{ 12 | 13 | /** 14 | * 15 | */ 16 | private String lastUrl; 17 | 18 | private static final long serialVersionUID = 1267553608754627232L; 19 | 20 | public String execute() { 21 | HttpServletRequest request = ServletActionContext.getRequest(); 22 | lastUrl = WebSshUtil.getLastUrl(request); 23 | return SUCCESS; 24 | } 25 | 26 | public String getLastUrl() { 27 | return lastUrl; 28 | } 29 | 30 | public void setLastUrl(String lastUrl) { 31 | this.lastUrl = lastUrl; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/action/MachineAction_en_US.properties: -------------------------------------------------------------------------------- 1 | machineaction.addmachine.success=Machine add successfully! 2 | machineaction.addmachine.failed=Machine add failed. 3 | machineaction.addmachine.input.error=The input information is incorrect! 4 | machineaction.deletemachine.success=Machine delete successfully! 5 | machineaction.deletemachine.failed=Machine delete failed. 6 | machineaction.updatemachine.success=Update machine successfully! 7 | machineaction.updatemachine.failed=Update machine failed. 8 | machineaction.connectsftp.failed=Connect sftp failed. 9 | machineaction.connectsftp.sys.error=System error. 10 | machineaction.execcommand.error=Execute command failed. -------------------------------------------------------------------------------- /src/main/java/online/webssh/action/MachineAction_zh_CN.properties: -------------------------------------------------------------------------------- 1 | machineaction.addmachine.success=\u4E3B\u673A\u6DFB\u52A0\u6210\u529F\uFF01 2 | machineaction.addmachine.failed=\u4E3B\u673A\u6DFB\u52A0\u5931\u8D25\uFF01 3 | machineaction.addmachine.input.error=\u8F93\u5165\u7684\u4FE1\u606F\u6709\u8BEF\uFF0C\u8BF7\u91CD\u65B0\u8F93\u5165\uFF01 4 | machineaction.deletemachine.success=\u4E3B\u673A\u5220\u9664\u6210\u529F\uFF01 5 | machineaction.deletemachine.failed=\u4E3B\u673A\u5220\u9664\u5931\u8D25\uFF01 6 | machineaction.updatemachine.success=\u4E3B\u673A\u4FEE\u6539\u6210\u529F\uFF01 7 | machineaction.updatemachine.failed=\u4E3B\u673A\u4FEE\u6539\u5931\u8D25\uFF01 8 | machineaction.connectsftp.failed=Sftp\u8FDE\u63A5\u5931\u8D25\uFF01 9 | machineaction.connectsftp.sys.error=\u7CFB\u7EDF\u9519\u8BEF 10 | machineaction.execcommand.error=\u64CD\u4F5C\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5\uFF01 -------------------------------------------------------------------------------- /src/main/java/online/webssh/action/NoteAction_en_US.properties: -------------------------------------------------------------------------------- 1 | noteaction.addnote.success=Note add successfully! 2 | noteaction.addnote.failed=Note add failed. 3 | noteaction.addnote.input.error=The input information is incorrect! 4 | noteaction.deletenotes.success=Note delete successfully! 5 | noteaction.deletenotes.failed=Note delete failed. 6 | noteaction.updatenote.success=Update note successfully! 7 | noteaction.updatenote.failed=Update note failed. -------------------------------------------------------------------------------- /src/main/java/online/webssh/action/NoteAction_zh_CN.properties: -------------------------------------------------------------------------------- 1 | noteaction.addnote.success=\u4FBF\u7B7E\u6DFB\u52A0\u6210\u529F\uFF01 2 | noteaction.addnote.failed=\u4FBF\u7B7E\u6DFB\u52A0\u5931\u8D25\uFF01 3 | noteaction.addnote.input.error=\u8F93\u5165\u4FE1\u606F\u6709\u8BEF\uFF0C\u8BF7\u91CD\u65B0\u8F93\u5165\uFF01 4 | noteaction.deletenotes.success=\u4FBF\u7B7E\u5220\u9664\u6210\u529F\uFF01 5 | noteaction.deletenotes.failed=\u4FBF\u7B7E\u5220\u9664\u5931\u8D25\uFF01 6 | noteaction.updatenote.success=\u4FBF\u7B7E\u4FEE\u6539\u6210\u529F\uFF01 7 | noteaction.updatenote.failed=\u4FBF\u7B7E\u4FEE\u6539\u5931\u8D25\uFF01 -------------------------------------------------------------------------------- /src/main/java/online/webssh/action/SecurityCodeImageAction.java: -------------------------------------------------------------------------------- 1 | package online.webssh.action; 2 | 3 | import java.io.ByteArrayInputStream; 4 | import java.util.Map; 5 | 6 | import org.apache.struts2.interceptor.SessionAware; 7 | 8 | import com.opensymphony.xwork2.ActionSupport; 9 | 10 | import online.webssh.utils.SecurityCode; 11 | import online.webssh.utils.SecurityImage; 12 | 13 | 14 | public class SecurityCodeImageAction extends ActionSupport implements SessionAware{ 15 | 16 | private static final long serialVersionUID = 1L; 17 | 18 | private ByteArrayInputStream imageStream; 19 | 20 | private Map session ; 21 | 22 | public ByteArrayInputStream getImageStream() { 23 | return imageStream; 24 | } 25 | public void setImageStream(ByteArrayInputStream imageStream) { 26 | this.imageStream = imageStream; 27 | } 28 | public void setSession(Map session) { 29 | this.session = session; 30 | } 31 | 32 | public String execute() throws Exception { 33 | 34 | String securityCode = SecurityCode.getSecurityCode(); 35 | imageStream = SecurityImage.getImageAsInputStream(securityCode); 36 | 37 | session.put("securityCode", securityCode); 38 | return SUCCESS; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/action/UserAction_en_US.properties: -------------------------------------------------------------------------------- 1 | useraction.login.success=You have logined successfully. 2 | useraction.login.failed=Login failed,please check your username or password try agin. 3 | useraction.login.verifycode.error=The verify code is incorrect! 4 | useraction.register.success=You have registed successfully! 5 | useraction.register.failed=Sorry,you have registed failed. 6 | useraction.register.input.error=The input information is incorrect. 7 | useraction.register.verifycode.error=The verify code is incorrect! 8 | useraction.register.email.ok=Congratulations, this email have no equal in this system. 9 | useraction.register.email.exist=Sorry,this email is already exist. 10 | useraction.register.email.null=Please input the email. 11 | useraction.register.nick.ok=Congratulations, this nick name have no equal in this system. 12 | useraction.register.nick.exist=Sorry,this nick name is already exist. 13 | useraction.register.nick.null=Please input the nick name. 14 | useraction.updatepassword.success=Update password successfully,please relogin. 15 | useraction.updatepassword.failed=Update password failed. 16 | useraction.updatepassword.oldpwd.error=The old password is incorrect. -------------------------------------------------------------------------------- /src/main/java/online/webssh/action/UserAction_zh_CN.properties: -------------------------------------------------------------------------------- 1 | useraction.login.success=\u767B\u5F55\u6210\u529F\uFF01 2 | useraction.login.failed=\u767B\u5F55\u5931\u8D25\uFF0C\u7528\u6237\u540D\u6216\u5BC6\u7801\u9519\u8BEF\uFF01 3 | useraction.login.verifycode.error=\u9A8C\u8BC1\u7801\u9519\u8BEF\uFF0C\u8BF7\u91CD\u65B0\u8F93\u5165\uFF01 4 | useraction.register.success=\u606D\u559C\u60A8\uFF0C\u6CE8\u518C\u6210\u529F\uFF01 5 | useraction.register.failed=\u5BF9\u4E0D\u8D77\uFF0C\u6CE8\u518C\u5931\u8D25\uFF01 6 | useraction.register.input.error=\u5BF9\u4E0D\u8D77\uFF0C\u60A8\u8F93\u5165\u7684\u4FE1\u606F\u4E0D\u5B8C\u6574\uFF0C\u6CE8\u518C\u5931\u8D25\uFF01 7 | useraction.register.verifycode.error=\u9A8C\u8BC1\u7801\u9519\u8BEF\uFF0C\u8BF7\u91CD\u65B0\u8F93\u5165\uFF01 8 | useraction.register.email.ok=\u606D\u559C\uFF0C\u8FD9\u4E2A\u90AE\u7BB1\u53EF\u7528\uFF01 9 | useraction.register.email.exist=\u5BF9\u4E0D\u8D77\uFF0C\u8FD9\u4E2A\u90AE\u7BB1\u65E9\u5DF2\u6CE8\u518C\uFF01 10 | useraction.register.email.null=\u90AE\u7BB1\u4E0D\u80FD\u4E3A\u7A7A\u3002 11 | useraction.register.nick.ok=\u606D\u559C\uFF0C\u8FD9\u4E2A\u540D\u5B57\u4E3E\u4E16\u65E0\u53CC\uFF01 12 | useraction.register.nick.exist=\u53D6\u4E2A\u540D\u5B57\u597D\u96BE\uFF0C\u6362\u4E2A\u8BD5\u8BD5\u5427\uFF01 13 | useraction.register.nick.null=\u6635\u79F0\u4E0D\u80FD\u4E3A\u7A7A\uFF01 14 | useraction.updatepassword.success=\u5BC6\u7801\u4FEE\u6539\u6210\u529F\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55\u3002 15 | useraction.updatepassword.failed=\u5BC6\u7801\u4FEE\u6539\u5931\u8D25\u3002 16 | useraction.updatepassword.oldpwd.error=\u65E7\u5BC6\u7801\u9519\u8BEF\uFF0C\u5BC6\u7801\u4FEE\u6539\u9519\u8BEF\uFF01 -------------------------------------------------------------------------------- /src/main/java/online/webssh/beans/MessageBean.java: -------------------------------------------------------------------------------- 1 | package online.webssh.beans; 2 | 3 | public class MessageBean { 4 | 5 | //message code 6 | private Integer code; 7 | //message content 8 | private String msg; 9 | 10 | public MessageBean() { 11 | super(); 12 | } 13 | public MessageBean(Integer code, String msg) { 14 | super(); 15 | this.code = code; 16 | this.msg = msg; 17 | } 18 | public Integer getCode() { 19 | return code; 20 | } 21 | public void setCode(Integer code) { 22 | this.code = code; 23 | } 24 | public String getMsg() { 25 | return msg; 26 | } 27 | public void setMsg(String msg) { 28 | this.msg = msg; 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/beans/PageBean.java: -------------------------------------------------------------------------------- 1 | package online.webssh.beans; 2 | 3 | import java.util.List; 4 | 5 | public class PageBean { 6 | 7 | private Integer pageNum; 8 | private Integer pageSize = 10; 9 | private Integer colNum = 5; 10 | private Integer totalSize; 11 | private Integer totalPage; 12 | private Integer start; 13 | private Integer end; 14 | private List list; 15 | private String query; 16 | 17 | public Integer getPageNum() { 18 | return pageNum; 19 | } 20 | public void setPageNum(Integer pageNum) { 21 | this.pageNum = pageNum; 22 | } 23 | public Integer getPageSize() { 24 | return pageSize; 25 | } 26 | public void setPageSize(Integer pageSize) { 27 | this.pageSize = pageSize; 28 | } 29 | public Integer getTotalSize() { 30 | return totalSize; 31 | } 32 | public void setTotalSize(Integer totalSize) { 33 | this.totalSize = totalSize; 34 | } 35 | public List getList() { 36 | return list; 37 | } 38 | public void setList(List list) { 39 | this.list = list; 40 | } 41 | public String getQuery() { 42 | return query; 43 | } 44 | public void setQuery(String query) { 45 | this.query = query; 46 | } 47 | public Integer getTotalPage() { 48 | return totalPage; 49 | } 50 | public void setTotalPage(Integer totalPage) { 51 | this.totalPage = totalPage; 52 | } 53 | public Integer getStart() { 54 | return start; 55 | } 56 | public void setStart(Integer start) { 57 | this.start = start; 58 | } 59 | public Integer getEnd() { 60 | return end; 61 | } 62 | public void setEnd(Integer end) { 63 | this.end = end; 64 | } 65 | public Integer getColNum() { 66 | return colNum; 67 | } 68 | public void setColNum(Integer colNum) { 69 | this.colNum = colNum; 70 | } 71 | @Override 72 | public String toString() { 73 | return "PageBean [pageNum=" + pageNum + ", pageSize=" + pageSize + ", colNum=" + colNum + ", totalSize=" 74 | + totalSize + ", totalPage=" + totalPage + ", start=" + start + ", end=" + end + ", list=" + list 75 | + ", query=" + query + "]"; 76 | } 77 | 78 | } 79 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/beans/SftpBean.java: -------------------------------------------------------------------------------- 1 | package online.webssh.beans; 2 | 3 | import java.util.List; 4 | 5 | public class SftpBean { 6 | 7 | private String currentCatalog; 8 | private List files; 9 | 10 | public SftpBean() { 11 | super(); 12 | } 13 | public SftpBean(String currentCatalog, List files) { 14 | super(); 15 | this.currentCatalog = currentCatalog; 16 | this.files = files; 17 | } 18 | public String getCurrentCatalog() { 19 | return currentCatalog; 20 | } 21 | public void setCurrentCatalog(String currentCatalog) { 22 | this.currentCatalog = currentCatalog; 23 | } 24 | public List getFiles() { 25 | return files; 26 | } 27 | public void setFiles(List files) { 28 | this.files = files; 29 | } 30 | 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/dao/BaseDao.java: -------------------------------------------------------------------------------- 1 | package online.webssh.dao; 2 | 3 | import java.util.List; 4 | 5 | import online.webssh.beans.PageBean; 6 | 7 | public interface BaseDao { 8 | 9 | void save(T t); 10 | void delete(T t); 11 | void deleteById(Integer id); 12 | void saveOrUpdate(T t); 13 | void update(T t); 14 | 15 | T load(Integer id); 16 | T get(Integer id); 17 | T findOneByHql(String hql, Object...objects); 18 | 19 | List findAll(); 20 | List findByHql(String hql, Object...objects); 21 | void findOnePage(PageBean page, Object...objects); 22 | void executeSql(String sql, Object[] objects); 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/dao/MachineDao.java: -------------------------------------------------------------------------------- 1 | package online.webssh.dao; 2 | 3 | import online.webssh.pojos.Machine; 4 | 5 | public interface MachineDao extends BaseDao{ 6 | 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/dao/NoteDao.java: -------------------------------------------------------------------------------- 1 | package online.webssh.dao; 2 | 3 | import online.webssh.pojos.Note; 4 | 5 | public interface NoteDao extends BaseDao{ 6 | 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/dao/UserDao.java: -------------------------------------------------------------------------------- 1 | package online.webssh.dao; 2 | 3 | import java.math.BigInteger; 4 | import java.util.List; 5 | 6 | import online.webssh.pojos.Note; 7 | import online.webssh.pojos.User; 8 | 9 | public interface UserDao extends BaseDao{ 10 | 11 | List getLastNotes(Integer id, Integer noteNum); 12 | 13 | BigInteger getNoteCount(Integer id); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/dao/impl/MachineDaoImpl.java: -------------------------------------------------------------------------------- 1 | package online.webssh.dao.impl; 2 | 3 | 4 | import online.webssh.dao.MachineDao; 5 | import online.webssh.pojos.Machine; 6 | 7 | public class MachineDaoImpl extends BaseDaoImpl implements MachineDao{ 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/dao/impl/NoteDaoImpl.java: -------------------------------------------------------------------------------- 1 | package online.webssh.dao.impl; 2 | 3 | import online.webssh.dao.NoteDao; 4 | import online.webssh.pojos.Note; 5 | 6 | public class NoteDaoImpl extends BaseDaoImpl implements NoteDao{ 7 | 8 | } 9 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/dao/impl/UserDaoImpl.java: -------------------------------------------------------------------------------- 1 | package online.webssh.dao.impl; 2 | 3 | import java.math.BigInteger; 4 | import java.util.List; 5 | 6 | import org.hibernate.Query; 7 | 8 | import online.webssh.dao.UserDao; 9 | import online.webssh.pojos.Note; 10 | import online.webssh.pojos.User; 11 | 12 | @SuppressWarnings("unchecked") 13 | public class UserDaoImpl extends BaseDaoImpl implements UserDao{ 14 | 15 | @Override 16 | public List getLastNotes(Integer id, Integer noteNum) { 17 | String hql = "from Note n where n.user.id=? order by writeTime desc"; 18 | Query query = getSession().createQuery(hql); 19 | query.setParameter(0, id); 20 | query.setMaxResults(noteNum); 21 | return query.list(); 22 | } 23 | 24 | @Override 25 | public BigInteger getNoteCount(Integer id) { 26 | String sql = "select count(*) from note where UID=?"; 27 | return (BigInteger) getSession().createSQLQuery(sql).setParameter(0, id).uniqueResult(); 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/pojos/Machine.hbm.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/pojos/Machine.java: -------------------------------------------------------------------------------- 1 | package online.webssh.pojos; 2 | 3 | import java.io.Serializable; 4 | 5 | public class Machine implements Serializable{ 6 | 7 | private static final long serialVersionUID = 1L; 8 | 9 | private Integer id; 10 | private String name; 11 | private String hostname; 12 | private String username; 13 | private String password; 14 | private Integer port; 15 | 16 | private User user; 17 | 18 | public Machine() { 19 | super(); 20 | } 21 | 22 | public Machine(String name, String hostname, String username, String password, Integer port) { 23 | super(); 24 | this.name = name; 25 | this.hostname = hostname; 26 | this.username = username; 27 | this.password = password; 28 | this.port = port; 29 | } 30 | 31 | public Integer getId() { 32 | return id; 33 | } 34 | public void setId(Integer id) { 35 | this.id = id; 36 | } 37 | public String getName() { 38 | return name; 39 | } 40 | public void setName(String name) { 41 | this.name = name; 42 | } 43 | public String getHostname() { 44 | return hostname; 45 | } 46 | public void setHostname(String hostname) { 47 | this.hostname = hostname; 48 | } 49 | public String getUsername() { 50 | return username; 51 | } 52 | public void setUsername(String username) { 53 | this.username = username; 54 | } 55 | public String getPassword() { 56 | return password; 57 | } 58 | public void setPassword(String password) { 59 | this.password = password; 60 | } 61 | public Integer getPort() { 62 | return port; 63 | } 64 | public void setPort(Integer port) { 65 | this.port = port; 66 | } 67 | public User getUser() { 68 | return user; 69 | } 70 | public void setUser(User user) { 71 | this.user = user; 72 | } 73 | 74 | @Override 75 | public String toString() { 76 | return "Machine [id=" + id + ", name=" + name + ", hostname=" + hostname + ", username=" + username 77 | + ", password=" + password + ", port=" + port + ", user=" + user + "]"; 78 | } 79 | 80 | } 81 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/pojos/Note.hbm.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/pojos/Note.java: -------------------------------------------------------------------------------- 1 | package online.webssh.pojos; 2 | 3 | import java.io.Serializable; 4 | import java.sql.Timestamp; 5 | 6 | public class Note implements Serializable{ 7 | /** 8 | * 9 | */ 10 | private static final long serialVersionUID = 1L; 11 | private Integer id; 12 | private String title; 13 | private Timestamp writeTime; 14 | private String content; 15 | private Boolean finished = false; 16 | 17 | private User user; 18 | 19 | public Note() { 20 | } 21 | 22 | public Note(String title, Timestamp writeTime, String content) { 23 | super(); 24 | this.title = title; 25 | this.writeTime = writeTime; 26 | this.content = content; 27 | } 28 | 29 | public Integer getId() { 30 | return id; 31 | } 32 | public void setId(Integer id) { 33 | this.id = id; 34 | } 35 | public String getTitle() { 36 | return title; 37 | } 38 | public void setTitle(String title) { 39 | this.title = title; 40 | } 41 | public Timestamp getWriteTime() { 42 | return writeTime; 43 | } 44 | public void setWriteTime(Timestamp writeTime) { 45 | this.writeTime = writeTime; 46 | } 47 | public String getContent() { 48 | return content; 49 | } 50 | public void setContent(String content) { 51 | this.content = content; 52 | } 53 | 54 | public Boolean getFinished() { 55 | return finished; 56 | } 57 | 58 | public void setFinished(Boolean finished) { 59 | this.finished = finished; 60 | } 61 | 62 | public User getUser() { 63 | return user; 64 | } 65 | 66 | public void setUser(User user) { 67 | this.user = user; 68 | } 69 | 70 | } 71 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/pojos/User.hbm.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/service/BaseService.java: -------------------------------------------------------------------------------- 1 | package online.webssh.service; 2 | 3 | import java.util.List; 4 | 5 | import online.webssh.beans.PageBean; 6 | 7 | public interface BaseService { 8 | 9 | void save(T t); 10 | void delete(T t); 11 | void deleteById(Integer id); 12 | void saveOrUpdate(T t); 13 | void update(T t); 14 | 15 | T load(Integer id); 16 | T get(Integer id); 17 | T findOneByHql(String hql, Object...objects); 18 | 19 | List findAll(); 20 | List findByHql(String hql, Object...objects); 21 | void findOnePage(PageBean page, Object...objects); 22 | void executeSql(String sql, Object...objects); 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/service/MachineService.java: -------------------------------------------------------------------------------- 1 | package online.webssh.service; 2 | 3 | import online.webssh.pojos.Machine; 4 | 5 | public interface MachineService extends BaseService{ 6 | 7 | void updatemachine(Integer uid, Machine model); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/service/NoteService.java: -------------------------------------------------------------------------------- 1 | package online.webssh.service; 2 | 3 | import online.webssh.pojos.Note; 4 | 5 | public interface NoteService extends BaseService{ 6 | 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/service/UserService.java: -------------------------------------------------------------------------------- 1 | package online.webssh.service; 2 | 3 | import java.math.BigInteger; 4 | import java.util.List; 5 | 6 | import online.webssh.pojos.Note; 7 | import online.webssh.pojos.User; 8 | 9 | public interface UserService extends BaseService{ 10 | 11 | List getLastNotes(Integer id, Integer noteNum); 12 | 13 | BigInteger getNoteCount(Integer id); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/service/impl/BaseServiceImpl.java: -------------------------------------------------------------------------------- 1 | package online.webssh.service.impl; 2 | 3 | import java.util.List; 4 | 5 | import online.webssh.beans.PageBean; 6 | import online.webssh.dao.BaseDao; 7 | import online.webssh.service.BaseService; 8 | 9 | public abstract class BaseServiceImpl implements BaseService{ 10 | 11 | protected BaseDao dao; 12 | 13 | public void setDao(BaseDao dao) { 14 | this.dao = dao; 15 | } 16 | 17 | @Override 18 | public void save(T t) { 19 | dao.save(t); 20 | } 21 | 22 | @Override 23 | public void delete(T t) { 24 | dao.delete(t); 25 | } 26 | 27 | @Override 28 | public void deleteById(Integer id) { 29 | dao.deleteById(id); 30 | } 31 | 32 | @Override 33 | public void saveOrUpdate(T t) { 34 | dao.saveOrUpdate(t); 35 | } 36 | 37 | @Override 38 | public void update(T t) { 39 | dao.update(t); 40 | } 41 | 42 | @Override 43 | public T load(Integer id) { 44 | return dao.load(id); 45 | } 46 | 47 | @Override 48 | public T get(Integer id) { 49 | return dao.get(id); 50 | } 51 | 52 | @Override 53 | public List findAll() { 54 | return dao.findAll(); 55 | } 56 | 57 | @Override 58 | public List findByHql(String hql, Object... objects) { 59 | return dao.findByHql(hql, objects); 60 | } 61 | 62 | @Override 63 | public T findOneByHql(String hql, Object... objects) { 64 | return dao.findOneByHql(hql, objects); 65 | } 66 | 67 | @Override 68 | public void findOnePage(PageBean page, Object... objects) { 69 | dao.findOnePage(page, objects); 70 | } 71 | 72 | @Override 73 | public void executeSql(String sql, Object... objects) { 74 | dao.executeSql(sql, objects); 75 | } 76 | 77 | } 78 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/service/impl/MachineServiceImpl.java: -------------------------------------------------------------------------------- 1 | package online.webssh.service.impl; 2 | 3 | import online.webssh.pojos.Machine; 4 | import online.webssh.service.MachineService; 5 | import online.webssh.utils.EndecryptUtil; 6 | 7 | public class MachineServiceImpl extends BaseServiceImpl implements MachineService{ 8 | 9 | @Override 10 | public void updatemachine(Integer uid, Machine model) { 11 | //get the old info 12 | Machine machine = dao.get(model.getId()); 13 | //confirm the machine belong to the user 14 | if (uid.equals(machine.getUser().getId())) { 15 | //reset info 16 | machine.setName(model.getName()); 17 | machine.setHostname(model.getHostname()); 18 | machine.setUsername(model.getUsername()); 19 | machine.setPort(model.getPort()); 20 | //if the password changed 21 | if (!EndecryptUtil.get3DESDecrypt(machine.getPassword(), uid + "").equals(model.getPassword())) { 22 | //encrypt the password 23 | machine.setPassword(EndecryptUtil.get3DESEncrypt(model.getPassword(), uid + "")); 24 | } 25 | } 26 | dao.update(machine); 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/service/impl/NoteServiceImpl.java: -------------------------------------------------------------------------------- 1 | package online.webssh.service.impl; 2 | 3 | import online.webssh.pojos.Note; 4 | import online.webssh.service.NoteService; 5 | 6 | public class NoteServiceImpl extends BaseServiceImpl implements NoteService{ 7 | 8 | } 9 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/service/impl/UserServiceImpl.java: -------------------------------------------------------------------------------- 1 | package online.webssh.service.impl; 2 | 3 | import java.math.BigInteger; 4 | import java.util.List; 5 | 6 | import online.webssh.dao.UserDao; 7 | import online.webssh.pojos.Note; 8 | import online.webssh.pojos.User; 9 | import online.webssh.service.UserService; 10 | 11 | public class UserServiceImpl extends BaseServiceImpl implements UserService{ 12 | 13 | @Override 14 | public List getLastNotes(Integer id, Integer noteNum) { 15 | return ((UserDao)dao).getLastNotes(id, noteNum); 16 | } 17 | 18 | @Override 19 | public BigInteger getNoteCount(Integer id) { 20 | return ((UserDao)dao).getNoteCount(id); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/test/Basic.java: -------------------------------------------------------------------------------- 1 | package online.webssh.test; 2 | import java.io.BufferedReader; 3 | import java.io.IOException; 4 | import java.io.InputStream; 5 | import java.io.InputStreamReader; 6 | import java.nio.charset.StandardCharsets; 7 | 8 | import ch.ethz.ssh2.Connection; 9 | import ch.ethz.ssh2.Session; 10 | import ch.ethz.ssh2.StreamGobbler; 11 | 12 | public class Basic 13 | { 14 | public static void main(String[] args) 15 | { 16 | String hostname = "210.13.106.85"; 17 | String username = "root"; 18 | String password = "mima123&*("; 19 | 20 | try 21 | { 22 | /* Create a connection instance */ 23 | 24 | Connection conn = new Connection(hostname); 25 | 26 | /* Now connect */ 27 | 28 | conn.connect(); 29 | 30 | /* Authenticate. 31 | * If you get an IOException saying something like 32 | * "Authentication method password not supported by the server at this stage." 33 | * then please check the FAQ. 34 | */ 35 | 36 | boolean isAuthenticated = conn.authenticateWithPassword(username, password); 37 | 38 | if (isAuthenticated == false) 39 | throw new IOException("Authentication failed."); 40 | 41 | /* Create a session */ 42 | 43 | Session sess = conn.openSession(); 44 | 45 | sess.execCommand("uname -a && date && uptime && who"); 46 | 47 | System.out.println("Here is some information about the remote host:"); 48 | 49 | /* 50 | * This basic example does not handle stderr, which is sometimes dangerous 51 | * (please read the FAQ). 52 | */ 53 | 54 | InputStream stdout = new StreamGobbler(sess.getStdout()); 55 | 56 | @SuppressWarnings("resource") 57 | BufferedReader br = new BufferedReader(new InputStreamReader(stdout,StandardCharsets.UTF_8)); 58 | 59 | while (true) 60 | { 61 | String line = br.readLine(); 62 | if (line == null) 63 | break; 64 | System.out.println(line); 65 | } 66 | 67 | /* Show exit status, if available (otherwise "null") */ 68 | 69 | System.out.println("ExitCode: " + sess.getExitStatus()); 70 | 71 | /* Close this session */ 72 | 73 | sess.close(); 74 | 75 | /* Close the connection */ 76 | 77 | conn.close(); 78 | 79 | } 80 | catch (IOException e) 81 | { 82 | e.printStackTrace(System.err); 83 | System.exit(2); 84 | } 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/test/Sftp.java: -------------------------------------------------------------------------------- 1 | package online.webssh.test; 2 | 3 | import java.io.IOException; 4 | 5 | import ch.ethz.ssh2.Connection; 6 | import ch.ethz.ssh2.SFTPv3Client; 7 | import ch.ethz.ssh2.SFTPv3FileAttributes; 8 | 9 | public class Sftp { 10 | 11 | public static void main(String[] args) throws IOException { 12 | Connection conn = new Connection("210.13.106.85"); 13 | conn.connect(); 14 | conn.authenticateWithPassword("root", "mima123&*("); 15 | 16 | SFTPv3Client client = new SFTPv3Client(conn); 17 | 18 | SFTPv3FileAttributes attr = client.stat("spawn-fcgi-1.6.3"); 19 | 20 | SFTPv3FileAttributes attr1 = new SFTPv3FileAttributes(); 21 | attr1.permissions = attr.permissions / 8 / 8 / 8 * 8 * 8 * 8 + 0757; 22 | client.setstat("spawn-fcgi-1.6.3", attr1); 23 | //System.out.println(attr.getOctalPermissions()); 24 | //client = client.openDirectory("..").getClient(); 25 | 26 | //System.out.println(client.canonicalPath(".")); 27 | 28 | //SFTPv3FileHandle handle = client.openFileRW("Hello.txt"); 29 | 30 | /*SFTPv3FileHandle handle = client.createFile("fastjson1.2.2.rar"); 31 | 32 | File file = new File("F:\\BaiduYunDownload\\SSH 框架\\fastjson1.2.2.rar"); 33 | 34 | FileInputStream fis = new FileInputStream(file); 35 | 36 | long totalSize = file.length(); 37 | 38 | byte[] buff = new byte[1024*8]; 39 | 40 | long count = 0; 41 | 42 | DecimalFormat df = new DecimalFormat("#.00"); 43 | 44 | System.out.println("current upload %0.00"); 45 | while (true) { 46 | int len = fis.read(buff); 47 | if (len < 0) 48 | break; 49 | client.write(handle,count, buff, 0, len); 50 | count += len; 51 | System.out.println("current upload %" + df.format((double)count / totalSize * 100) ); 52 | } 53 | client.closeFile(handle); 54 | fis.close(); 55 | System.out.println("upload finished."); 56 | 57 | List list = client.ls("/root"); 58 | for (SFTPv3DirectoryEntry entry : list) { 59 | 60 | System.out.println(entry.filename + "\t" + 61 | new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(new Date((long)entry.attributes.mtime * 1000)) + "\t" + 62 | getStringPermission(entry.attributes.permissions) + "\t" 63 | ); 64 | }*/ 65 | } 66 | 67 | public static String getStringPermission(Integer p) { 68 | String temp[] = new String[] {"---", "--x", "-w-", "-wx", "r--", "r-x", "rw-", "rwx"}; 69 | return temp[p / 8 / 8 % 8] + temp[p / 8 % 8] + temp[p % 8]; 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/test/SftpTest.java: -------------------------------------------------------------------------------- 1 | package online.webssh.test; 2 | 3 | import java.io.IOException; 4 | 5 | import online.webssh.pojos.Machine; 6 | import online.webssh.sftp.SftpClient; 7 | 8 | public class SftpTest { 9 | 10 | public static void main(String[] args) throws IOException { 11 | Machine m = new Machine(); 12 | m.setHostname("210.13.106.85"); 13 | m.setUsername("root"); 14 | m.setPassword("tuQkZjFB0au0rivr2DLLHtJReP60RJiS"); 15 | SftpClient sftp = new SftpClient(m, 1+""); 16 | //sftp.changeDirectory(".."); 17 | //System.out.println(sftp.getCurrentCatalog()); 18 | System.out.println(sftp.ls()); 19 | sftp.createFile("Hello.txt"); 20 | System.out.println("end"); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/test/Test.java: -------------------------------------------------------------------------------- 1 | package online.webssh.test; 2 | 3 | import java.util.Stack; 4 | 5 | public class Test { 6 | 7 | public static void main(String[] args) { 8 | Stack s = new Stack<>(); 9 | s.push("/"); 10 | s.push("root"); 11 | s.push("abc"); 12 | for (String str : s) { 13 | System.out.println(str); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/utils/DeepCopyUtil.java: -------------------------------------------------------------------------------- 1 | package online.webssh.utils; 2 | 3 | import java.io.ByteArrayInputStream; 4 | import java.io.ByteArrayOutputStream; 5 | import java.io.ObjectInputStream; 6 | import java.io.ObjectOutputStream; 7 | 8 | public class DeepCopyUtil { 9 | 10 | @SuppressWarnings("unchecked") 11 | public static T deepCopy(T entry){ 12 | ByteArrayOutputStream bos = new ByteArrayOutputStream(); 13 | ObjectOutputStream oos = null; 14 | ObjectInputStream ois = null; 15 | Object obj = null; 16 | try{ 17 | try{ 18 | oos = new ObjectOutputStream(bos); 19 | oos.writeObject(entry); 20 | oos.flush(); 21 | 22 | ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray()); 23 | ois = new ObjectInputStream(bis); 24 | obj = ois.readObject(); 25 | } finally { 26 | oos.close(); 27 | ois.close(); 28 | } 29 | } catch (Exception e) { 30 | e.printStackTrace(); 31 | } 32 | return (T) obj; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/utils/ValidateUtil.java: -------------------------------------------------------------------------------- 1 | package online.webssh.utils; 2 | 3 | import java.util.Collection; 4 | import java.util.regex.Matcher; 5 | import java.util.regex.Pattern; 6 | 7 | public class ValidateUtil { 8 | 9 | public static boolean validStrings(String...ss) { 10 | for (String s : ss) { 11 | if (s == null || "".equals(s.trim())) 12 | return false; 13 | } 14 | return true; 15 | } 16 | 17 | public static boolean validCollection(Collection c) { 18 | if(c == null || c.size() <= 0) 19 | return false; 20 | return true; 21 | } 22 | 23 | public static boolean validEmail(String email) { 24 | Pattern regex = Pattern.compile("^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$"); 25 | Matcher matcher = regex.matcher(email); 26 | return matcher.matches(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/utils/WebSshUtil.java: -------------------------------------------------------------------------------- 1 | package online.webssh.utils; 2 | 3 | import java.io.ByteArrayInputStream; 4 | import java.io.InputStream; 5 | 6 | import javax.servlet.http.HttpServletRequest; 7 | 8 | import com.alibaba.fastjson.JSON; 9 | 10 | public class WebSshUtil { 11 | 12 | public static String getLastUrl(HttpServletRequest request) { 13 | String lastUrl = "/"; 14 | if (request != null && request.getHeader("Referer") != null) { 15 | lastUrl = request.getHeader("Referer").replaceAll( 16 | "http://" + request.getHeader("Host") 17 | + request.getContextPath(), ""); 18 | } 19 | return lastUrl; 20 | } 21 | 22 | public static InputStream toJsonMessage(Object message) { 23 | InputStream is = null; 24 | try { 25 | try{ 26 | is = new ByteArrayInputStream(JSON.toJSONString(message).getBytes("UTF-8")); 27 | }catch (Exception e) { 28 | is = new ByteArrayInputStream("{\"code\":-1,\"msg\":\"system error.\"}".getBytes("UTF-8")); 29 | } 30 | } catch(Exception e){ 31 | } 32 | return is; 33 | } 34 | 35 | public static String getEncoding(String str) { 36 | String encode = "GB2312"; 37 | try { 38 | if (str.equals(new String(str.getBytes(encode), encode))) { 39 | String s = encode; 40 | return s; 41 | } 42 | } catch (Exception exception) { 43 | } 44 | encode = "ISO-8859-1"; 45 | try { 46 | if (str.equals(new String(str.getBytes(encode), encode))) { 47 | String s1 = encode; 48 | return s1; 49 | } 50 | } catch (Exception exception1) { 51 | } 52 | encode = "UTF-8"; 53 | try { 54 | if (str.equals(new String(str.getBytes(encode), encode))) { 55 | String s2 = encode; 56 | return s2; 57 | } 58 | } catch (Exception exception2) { 59 | } 60 | encode = "GBK"; 61 | try { 62 | if (str.equals(new String(str.getBytes(encode), encode))) { 63 | String s3 = encode; 64 | return s3; 65 | } 66 | } catch (Exception exception3) { 67 | } 68 | return ""; 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/websocket/ShellOutPutTask.java: -------------------------------------------------------------------------------- 1 | package online.webssh.websocket; 2 | 3 | import java.io.InputStream; 4 | 5 | import org.springframework.web.socket.TextMessage; 6 | import org.springframework.web.socket.WebSocketSession; 7 | 8 | import online.webssh.utils.WebSshUtil; 9 | 10 | public class ShellOutPutTask extends Thread{ 11 | 12 | private final WebSocketSession session; 13 | private final InputStream out; 14 | 15 | public ShellOutPutTask(WebSocketSession session, InputStream out) { 16 | super(); 17 | this.session = session; 18 | this.out = out; 19 | } 20 | 21 | @Override 22 | public void run() { 23 | super.run(); 24 | 25 | byte[] buff = new byte[8192]; 26 | StringBuilder sb = new StringBuilder(); 27 | try 28 | { 29 | while (session !=null && session.isOpen()) 30 | { 31 | sb.setLength(0); 32 | int len = out.read(buff); 33 | if (len == -1) 34 | return; 35 | for (int i = 0; i < len; i++) 36 | { 37 | char c = (char) (buff[i] & 0xff); 38 | sb.append(c); 39 | } 40 | if (WebSshUtil.getEncoding(sb.toString()).equals("ISO-8859-1")) 41 | session.sendMessage(new TextMessage(new String(sb.toString().getBytes("ISO-8859-1"),"UTF-8"))); 42 | else 43 | session.sendMessage(new TextMessage(new String(sb.toString().getBytes("gb2312"),"UTF-8"))); 44 | } 45 | } 46 | catch (Exception e) 47 | { 48 | } 49 | } 50 | 51 | 52 | } 53 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/websocket/SshClient.java: -------------------------------------------------------------------------------- 1 | package online.webssh.websocket; 2 | 3 | import java.io.BufferedWriter; 4 | import java.io.IOException; 5 | import java.io.InputStream; 6 | import java.io.OutputStream; 7 | import java.io.OutputStreamWriter; 8 | 9 | import org.springframework.web.socket.WebSocketSession; 10 | 11 | import ch.ethz.ssh2.Connection; 12 | import online.webssh.pojos.Machine; 13 | import online.webssh.utils.EndecryptUtil; 14 | 15 | public class SshClient { 16 | 17 | private Connection conn; 18 | private ch.ethz.ssh2.Session sess; 19 | private InputStream in; 20 | private OutputStream out; 21 | private BufferedWriter inToShell; 22 | 23 | public boolean connect(Machine machine, Integer spkey) { 24 | try { 25 | conn = new Connection(machine.getHostname(), machine.getPort()); 26 | conn.connect(); 27 | if (!conn.authenticateWithPassword(machine.getUsername(), 28 | EndecryptUtil.get3DESDecrypt(machine.getPassword(), spkey + ""))) 29 | return false; 30 | sess = conn.openSession(); 31 | sess.requestPTY("xterm", 90, 30, 0, 0, null); 32 | sess.startShell(); 33 | in = sess.getStdout(); 34 | out = sess.getStdin(); 35 | inToShell = new BufferedWriter(new OutputStreamWriter(out, "UTF-8")); 36 | } catch (Exception e) { 37 | e.printStackTrace(); 38 | return false; 39 | } 40 | return true; 41 | } 42 | 43 | public void write(String text) throws IOException { 44 | if (inToShell != null) { 45 | inToShell.write(text); 46 | inToShell.flush(); 47 | } 48 | } 49 | 50 | public void startShellOutPutTask(WebSocketSession session) { 51 | new ShellOutPutTask(session, in).start(); 52 | } 53 | 54 | public void disconnect() { 55 | if (conn != null) 56 | conn.close(); 57 | if (sess != null) 58 | sess.close(); 59 | conn = null; 60 | sess = null; 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /src/main/java/online/webssh/websocket/intercepter/HandshakeInterceptor.java: -------------------------------------------------------------------------------- 1 | package online.webssh.websocket.intercepter; 2 | 3 | import java.util.Map; 4 | 5 | import org.springframework.http.server.ServerHttpRequest; 6 | import org.springframework.http.server.ServerHttpResponse; 7 | import org.springframework.web.socket.WebSocketHandler; 8 | import org.springframework.web.socket.server.support.HttpSessionHandshakeInterceptor; 9 | 10 | public class HandshakeInterceptor extends HttpSessionHandshakeInterceptor{ 11 | 12 | @Override 13 | public void afterHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, 14 | Exception ex) { 15 | super.afterHandshake(request, response, wsHandler, ex); 16 | } 17 | 18 | @Override 19 | public boolean beforeHandshake(ServerHttpRequest arg0, ServerHttpResponse arg1, WebSocketHandler arg2, 20 | Map arg3) throws Exception { 21 | return super.beforeHandshake(arg0, arg1, arg2, arg3); 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/struts-image.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | image/jpeg 9 | imageStream 10 | 4096 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/main/java/struts-lang.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | ${lastUrl} 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/main/java/struts-note.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | {1}.jsp 8 | 9 | 10 | 11 | notelist.jsp 12 | 13 | 14 | 15 | 16 | text/html 17 | inputStream 18 | 19 | 20 | 21 | 22 | 23 | text/html 24 | inputStream 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /src/main/java/struts-user.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | image/bmp,image/png,image/gif,image/jpeg,image/pjpeg 11 | 12 | 1024*1024*2 13 | 14 | 15 | {1}.jsp 16 | {1}.jsp 17 | {1}.jsp 18 | 19 | 20 | 21 | {1}.jsp 22 | 23 | 24 | 25 | /index.jsp 26 | 27 | 28 | 29 | 30 | text/html 31 | inputStream 32 | 33 | 34 | 35 | 36 | 37 | text/html 38 | inputStream 39 | 40 | 41 | 42 | 43 | 44 | text/html 45 | inputStream 46 | 47 | 48 | 49 | 50 | 51 | text/html 52 | inputStream 53 | 54 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /src/main/java/struts.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | true 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | user_loginPage 30 | 31 | text/html 32 | inputStream 33 | 34 | 35 | 36 | 37 | home.jsp 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /src/main/resources/conf/applicationContext-machine.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/main/resources/conf/applicationContext-note.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/main/resources/conf/applicationContext-user.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /src/main/resources/conf/applicationContext-websocket.xml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/main/resources/conf/hibernate.cfg.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | org.hibernate.dialect.MySQLDialect 8 | true 9 | true 10 | update 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/resources/conf/jdbc.properties: -------------------------------------------------------------------------------- 1 | jdbc.driverClass=com.mysql.jdbc.Driver 2 | jdbc.jdbcUrl=jdbc:mysql:///test 3 | jdbc.user=root 4 | jdbc.password=123456 5 | c3p0.pool.init=10 6 | c3p0.pool.max=50 7 | c3p0.pool.min=10 -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/spring/webmvc-config.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | contextConfigLocation 5 | classpath:conf/applicationContext.xml 6 | 7 | 8 | org.springframework.web.context.ContextLoaderListener 9 | 10 | 11 | dispatcherServlet 12 | org.springframework.web.servlet.DispatcherServlet 13 | 14 | contextConfigLocation 15 | WEB-INF/spring/webmvc-config.xml 16 | 17 | 1 18 | 19 | 20 | dispatcherServlet 21 | /term 22 | 23 | 24 | struts2 25 | online.webssh.filter.MyStrutsFilter 26 | 27 | 28 | struts2 29 | /* 30 | REQUEST 31 | FORWARD 32 | 33 | 34 | default 35 | org.apache.catalina.servlets.DefaultServlet 36 | 37 | debug 38 | 0 39 | 40 | 41 | listings 42 | true 43 | 44 | 1 45 | 46 | 47 | index.jsp 48 | 49 | -------------------------------------------------------------------------------- /src/main/webapp/common/footer.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 | <%@ taglib prefix="s" uri="/struts-tags"%> 3 | <% 4 | String path = request.getContextPath(); 5 | String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 6 | %> 7 | -------------------------------------------------------------------------------- /src/main/webapp/common/middle.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 |
-------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-bg_BG.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Нищо избрано', 27 | noneResultsText: 'Няма резултат за {0}', 28 | countSelectedText: function (numSelected, numTotal) { 29 | return (numSelected == 1) ? "{0} избран елемент" : "{0} избрани елемента"; 30 | }, 31 | maxOptionsText: function (numAll, numGroup) { 32 | return [ 33 | (numAll == 1) ? 'Лимита е достигнат ({n} елемент максимум)' : 'Лимита е достигнат ({n} елемента максимум)', 34 | (numGroup == 1) ? 'Груповия лимит е достигнат ({n} елемент максимум)' : 'Груповия лимит е достигнат ({n} елемента максимум)' 35 | ]; 36 | }, 37 | selectAllText: 'Избери всички', 38 | deselectAllText: 'Размаркирай всички', 39 | multipleSeparator: ', ' 40 | }; 41 | })(jQuery); 42 | 43 | 44 | })); 45 | -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-bg_BG.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Нищо избрано",noneResultsText:"Няма резултат за {0}",countSelectedText:function(a,b){return 1==a?"{0} избран елемент":"{0} избрани елемента"},maxOptionsText:function(a,b){return[1==a?"Лимита е достигнат ({n} елемент максимум)":"Лимита е достигнат ({n} елемента максимум)",1==b?"Груповия лимит е достигнат ({n} елемент максимум)":"Груповия лимит е достигнат ({n} елемента максимум)"]},selectAllText:"Избери всички",deselectAllText:"Размаркирай всички",multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-cs_CZ.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Nic není vybráno', 27 | noneResultsText: 'Žádné výsledky {0}', 28 | countSelectedText: 'Označeno {0} z {1}', 29 | maxOptionsText: ['Limit překročen ({n} {var} max)', 'Limit skupiny překročen ({n} {var} max)', ['položek', 'položka']], 30 | multipleSeparator: ', ' 31 | }; 32 | })(jQuery); 33 | 34 | 35 | })); 36 | -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-cs_CZ.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nic není vybráno",noneResultsText:"Žádné výsledky {0}",countSelectedText:"Označeno {0} z {1}",maxOptionsText:["Limit překročen ({n} {var} max)","Limit skupiny překročen ({n} {var} max)",["položek","položka"]],multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-da_DK.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Intet valgt', 27 | noneResultsText: 'Ingen resultater fundet {0}', 28 | countSelectedText: function (numSelected, numTotal) { 29 | return (numSelected == 1) ? "{0} valgt" : "{0} valgt"; 30 | }, 31 | maxOptionsText: function (numAll, numGroup) { 32 | return [ 33 | (numAll == 1) ? 'Begrænsning nået (max {n} valgt)' : 'Begrænsning nået (max {n} valgte)', 34 | (numGroup == 1) ? 'Gruppe-begrænsning nået (max {n} valgt)' : 'Gruppe-begrænsning nået (max {n} valgte)' 35 | ]; 36 | }, 37 | selectAllText: 'Markér alle', 38 | deselectAllText: 'Afmarkér alle', 39 | multipleSeparator: ', ' 40 | }; 41 | })(jQuery); 42 | 43 | 44 | })); 45 | -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-da_DK.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Intet valgt",noneResultsText:"Ingen resultater fundet {0}",countSelectedText:function(a,b){return"{0} valgt"},maxOptionsText:function(a,b){return[1==a?"Begrænsning nået (max {n} valgt)":"Begrænsning nået (max {n} valgte)",1==b?"Gruppe-begrænsning nået (max {n} valgt)":"Gruppe-begrænsning nået (max {n} valgte)"]},selectAllText:"Markér alle",deselectAllText:"Afmarkér alle",multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-de_DE.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Bitte wählen...', 27 | noneResultsText: 'Keine Ergebnisse für {0}', 28 | countSelectedText: '{0} von {1} ausgewählt', 29 | maxOptionsText: ['Limit erreicht ({n} {var} max.)', 'Gruppen-Limit erreicht ({n} {var} max.)', ['Eintrag', 'Einträge']], 30 | multipleSeparator: ', ' 31 | }; 32 | })(jQuery); 33 | 34 | 35 | })); 36 | -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-de_DE.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Bitte wählen...",noneResultsText:"Keine Ergebnisse für {0}",countSelectedText:"{0} von {1} ausgewählt",maxOptionsText:["Limit erreicht ({n} {var} max.)","Gruppen-Limit erreicht ({n} {var} max.)",["Eintrag","Einträge"]],multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-en_US.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Nothing selected', 27 | noneResultsText: 'No results match {0}', 28 | countSelectedText: function (numSelected, numTotal) { 29 | return (numSelected == 1) ? "{0} item selected" : "{0} items selected"; 30 | }, 31 | maxOptionsText: function (numAll, numGroup) { 32 | return [ 33 | (numAll == 1) ? 'Limit reached ({n} item max)' : 'Limit reached ({n} items max)', 34 | (numGroup == 1) ? 'Group limit reached ({n} item max)' : 'Group limit reached ({n} items max)' 35 | ]; 36 | }, 37 | selectAllText: 'Select All', 38 | deselectAllText: 'Deselect All', 39 | multipleSeparator: ', ' 40 | }; 41 | })(jQuery); 42 | 43 | 44 | })); 45 | -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-en_US.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nothing selected",noneResultsText:"No results match {0}",countSelectedText:function(a,b){return 1==a?"{0} item selected":"{0} items selected"},maxOptionsText:function(a,b){return[1==a?"Limit reached ({n} item max)":"Limit reached ({n} items max)",1==b?"Group limit reached ({n} item max)":"Group limit reached ({n} items max)"]},selectAllText:"Select All",deselectAllText:"Deselect All",multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-es_CL.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'No hay selección', 27 | noneResultsText: 'No hay resultados {0}', 28 | countSelectedText: 'Seleccionados {0} de {1}', 29 | maxOptionsText: ['Límite alcanzado ({n} {var} max)', 'Límite del grupo alcanzado({n} {var} max)', ['elementos', 'element']], 30 | multipleSeparator: ', ' 31 | }; 32 | })(jQuery); 33 | 34 | 35 | })); 36 | -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-es_CL.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"No hay selección",noneResultsText:"No hay resultados {0}",countSelectedText:"Seleccionados {0} de {1}",maxOptionsText:["Límite alcanzado ({n} {var} max)","Límite del grupo alcanzado({n} {var} max)",["elementos","element"]],multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-eu.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Hautapenik ez', 27 | noneResultsText: 'Emaitzarik ez {0}', 28 | countSelectedText: '{1}(e)tik {0} hautatuta', 29 | maxOptionsText: ['Mugara iritsita ({n} {var} gehienez)', 'Taldearen mugara iritsita ({n} {var} gehienez)', ['elementu', 'elementu']], 30 | multipleSeparator: ', ' 31 | }; 32 | })(jQuery); 33 | 34 | 35 | })); 36 | -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-eu.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Hautapenik ez",noneResultsText:"Emaitzarik ez {0}",countSelectedText:"{1}(e)tik {0} hautatuta",maxOptionsText:["Mugara iritsita ({n} {var} gehienez)","Taldearen mugara iritsita ({n} {var} gehienez)",["elementu","elementu"]],multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-fa_IR.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'چیزی انتخاب نشده است', 27 | noneResultsText: 'هیج مشابهی برای {0} پیدا نشد', 28 | countSelectedText: "{0} از {1} مورد انتخاب شده", 29 | maxOptionsText: ['بیشتر ممکن نیست {حداکثر {n} عدد}', 'بیشتر ممکن نیست {حداکثر {n} عدد}'], 30 | selectAllText: 'انتخاب همه', 31 | deselectAllText: 'انتخاب هیچ کدام', 32 | multipleSeparator: ', ' 33 | }; 34 | })(jQuery); 35 | 36 | 37 | })); 38 | -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-fa_IR.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"چیزی انتخاب نشده است",noneResultsText:"هیج مشابهی برای {0} پیدا نشد",countSelectedText:"{0} از {1} مورد انتخاب شده",maxOptionsText:["بیشتر ممکن نیست {حداکثر {n} عدد}","بیشتر ممکن نیست {حداکثر {n} عدد}"],selectAllText:"انتخاب همه",deselectAllText:"انتخاب هیچ کدام",multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-fr_FR.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Aucune sélection', 27 | noneResultsText: 'Aucun résultat pour {0}', 28 | countSelectedText: function (numSelected, numTotal) { 29 | return (numSelected > 1) ? "{0} éléments sélectionnés" : "{0} élément sélectionné"; 30 | }, 31 | maxOptionsText: function (numAll, numGroup) { 32 | return [ 33 | (numAll > 1) ? 'Limite atteinte ({n} éléments max)' : 'Limite atteinte ({n} élément max)', 34 | (numGroup > 1) ? 'Limite du groupe atteinte ({n} éléments max)' : 'Limite du groupe atteinte ({n} élément max)' 35 | ]; 36 | }, 37 | multipleSeparator: ', ' 38 | }; 39 | })(jQuery); 40 | 41 | 42 | })); 43 | -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-fr_FR.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Aucune sélection",noneResultsText:"Aucun résultat pour {0}",countSelectedText:function(a,b){return a>1?"{0} éléments sélectionnés":"{0} élément sélectionné"},maxOptionsText:function(a,b){return[a>1?"Limite atteinte ({n} éléments max)":"Limite atteinte ({n} élément max)",b>1?"Limite du groupe atteinte ({n} éléments max)":"Limite du groupe atteinte ({n} élément max)"]},multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-hu_HU.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Válasszon!', 27 | noneResultsText: 'Nincs találat {0}', 28 | countSelectedText: function (numSelected, numTotal) { 29 | return '{0} elem kiválasztva'; 30 | }, 31 | maxOptionsText: function (numAll, numGroup) { 32 | return [ 33 | 'Legfeljebb {n} elem választható', 34 | 'A csoportban legfeljebb {n} elem választható' 35 | ]; 36 | }, 37 | selectAllText: 'Mind', 38 | deselectAllText: 'Egyik sem', 39 | multipleSeparator: ', ' 40 | }; 41 | })(jQuery); 42 | 43 | 44 | })); 45 | -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-hu_HU.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Válasszon!",noneResultsText:"Nincs találat {0}",countSelectedText:function(a,b){return"{0} elem kiválasztva"},maxOptionsText:function(a,b){return["Legfeljebb {n} elem választható","A csoportban legfeljebb {n} elem választható"]},selectAllText:"Mind",deselectAllText:"Egyik sem",multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-it_IT.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Nessuna selezione', 27 | noneResultsText: 'Nessun risultato per {0}', 28 | countSelectedText: 'Selezionati {0} di {1}', 29 | maxOptionsText: ['Limite raggiunto ({n} {var} max)', 'Limite del gruppo raggiunto ({n} {var} max)', ['elementi', 'elemento']], 30 | multipleSeparator: ', ' 31 | }; 32 | })(jQuery); 33 | 34 | 35 | })); 36 | -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-it_IT.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nessuna selezione",noneResultsText:"Nessun risultato per {0}",countSelectedText:"Selezionati {0} di {1}",maxOptionsText:["Limite raggiunto ({n} {var} max)","Limite del gruppo raggiunto ({n} {var} max)",["elementi","elemento"]],multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-ko_KR.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: '항목을 선택해주세요', 27 | noneResultsText: '{0} 검색 결과가 없습니다', 28 | countSelectedText: function (numSelected, numTotal) { 29 | return "{0}개를 선택하였습니다"; 30 | }, 31 | maxOptionsText: function (numAll, numGroup) { 32 | return [ 33 | '{n}개까지 선택 가능합니다', 34 | '해당 그룹은 {n}개까지 선택 가능합니다' 35 | ]; 36 | }, 37 | selectAllText: '전체선택', 38 | deselectAllText: '전체해제', 39 | multipleSeparator: ', ' 40 | }; 41 | })(jQuery); 42 | 43 | 44 | })); 45 | -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-ko_KR.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"항목을 선택해주세요",noneResultsText:"{0} 검색 결과가 없습니다",countSelectedText:function(a,b){return"{0}개를 선택하였습니다"},maxOptionsText:function(a,b){return["{n}개까지 선택 가능합니다","해당 그룹은 {n}개까지 선택 가능합니다"]},selectAllText:"전체선택",deselectAllText:"전체해제",multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-nl_NL.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Niets geselecteerd', 27 | noneResultsText: 'Geen resultaten gevonden voor {0}', 28 | countSelectedText: '{0} van {1} geselecteerd', 29 | maxOptionsText: ['Limiet bereikt ({n} {var} max)', 'Groep limiet bereikt ({n} {var} max)', ['items', 'item']], 30 | multipleSeparator: ', ' 31 | }; 32 | })(jQuery); 33 | 34 | 35 | })); 36 | -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-nl_NL.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Niets geselecteerd",noneResultsText:"Geen resultaten gevonden voor {0}",countSelectedText:"{0} van {1} geselecteerd",maxOptionsText:["Limiet bereikt ({n} {var} max)","Groep limiet bereikt ({n} {var} max)",["items","item"]],multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-pl_PL.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Nic nie zaznaczono', 27 | noneResultsText: 'Brak wyników wyszukiwania {0}', 28 | countSelectedText: 'Zaznaczono {0} z {1}', 29 | maxOptionsText: ['Osiągnięto limit ({n} {var} max)', 'Limit grupy osiągnięty ({n} {var} max)', ['elementy', 'element']], 30 | selectAll: 'Zaznacz wszystkie', 31 | deselectAll: 'Odznacz wszystkie', 32 | multipleSeparator: ', ' 33 | }; 34 | })(jQuery); 35 | 36 | 37 | })); 38 | -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-pl_PL.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nic nie zaznaczono",noneResultsText:"Brak wyników wyszukiwania {0}",countSelectedText:"Zaznaczono {0} z {1}",maxOptionsText:["Osiągnięto limit ({n} {var} max)","Limit grupy osiągnięty ({n} {var} max)",["elementy","element"]],selectAll:"Zaznacz wszystkie",deselectAll:"Odznacz wszystkie",multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-pt_BR.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Nada selecionado', 27 | noneResultsText: 'Nada encontrado contendo {0}', 28 | countSelectedText: 'Selecionado {0} de {1}', 29 | maxOptionsText: ['Limite excedido (máx. {n} {var})', 'Limite do grupo excedido (máx. {n} {var})', ['itens', 'item']], 30 | multipleSeparator: ', ' 31 | }; 32 | })(jQuery); 33 | 34 | 35 | })); 36 | -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-pt_BR.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nada selecionado",noneResultsText:"Nada encontrado contendo {0}",countSelectedText:"Selecionado {0} de {1}",maxOptionsText:["Limite excedido (máx. {n} {var})","Limite do grupo excedido (máx. {n} {var})",["itens","item"]],multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-pt_PT.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Nenhum seleccionado', 27 | noneResultsText: 'Sem resultados contendo {0}', 28 | countSelectedText: 'Selecionado {0} de {1}', 29 | maxOptionsText: ['Limite ultrapassado (máx. {n} {var})', 'Limite de seleções ultrapassado (máx. {n} {var})', ['itens', 'item']], 30 | multipleSeparator: ', ' 31 | }; 32 | })(jQuery); 33 | 34 | 35 | })); 36 | -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-pt_PT.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nenhum seleccionado",noneResultsText:"Sem resultados contendo {0}",countSelectedText:"Selecionado {0} de {1}",maxOptionsText:["Limite ultrapassado (máx. {n} {var})","Limite de seleções ultrapassado (máx. {n} {var})",["itens","item"]],multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-ro_RO.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Nu a fost selectat nimic', 27 | noneResultsText: 'Nu exista niciun rezultat {0}', 28 | countSelectedText: '{0} din {1} selectat(e)', 29 | maxOptionsText: ['Limita a fost atinsa ({n} {var} max)', 'Limita de grup a fost atinsa ({n} {var} max)', ['iteme', 'item']], 30 | multipleSeparator: ', ' 31 | }; 32 | })(jQuery); 33 | 34 | 35 | })); 36 | -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-ro_RO.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nu a fost selectat nimic",noneResultsText:"Nu exista niciun rezultat {0}",countSelectedText:"{0} din {1} selectat(e)",maxOptionsText:["Limita a fost atinsa ({n} {var} max)","Limita de grup a fost atinsa ({n} {var} max)",["iteme","item"]],multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-ru_RU.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Ничего не выбрано', 27 | noneResultsText: 'Совпадений не найдено {0}', 28 | countSelectedText: 'Выбрано {0} из {1}', 29 | maxOptionsText: ['Достигнут предел ({n} {var} максимум)', 'Достигнут предел в группе ({n} {var} максимум)', ['items', 'item']], 30 | doneButtonText: 'Закрыть', 31 | multipleSeparator: ', ' 32 | }; 33 | })(jQuery); 34 | 35 | 36 | })); 37 | -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-ru_RU.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Ничего не выбрано",noneResultsText:"Совпадений не найдено {0}",countSelectedText:"Выбрано {0} из {1}",maxOptionsText:["Достигнут предел ({n} {var} максимум)","Достигнут предел в группе ({n} {var} максимум)",["items","item"]],doneButtonText:"Закрыть",multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-sk_SK.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Vyberte zo zoznamu', 27 | noneResultsText: 'Pre výraz {0} neboli nájdené žiadne výsledky', 28 | countSelectedText: 'Vybrané {0} z {1}', 29 | maxOptionsText: ['Limit prekročený ({n} {var} max)', 'Limit skupiny prekročený ({n} {var} max)', ['položiek', 'položka']], 30 | selectAllText: 'Vybrať všetky', 31 | deselectAllText: 'Zrušiť výber', 32 | multipleSeparator: ', ' 33 | }; 34 | })(jQuery); 35 | 36 | 37 | })); 38 | -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-sk_SK.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Vyberte zo zoznamu",noneResultsText:"Pre výraz {0} neboli nájdené žiadne výsledky",countSelectedText:"Vybrané {0} z {1}",maxOptionsText:["Limit prekročený ({n} {var} max)","Limit skupiny prekročený ({n} {var} max)",["položiek","položka"]],selectAllText:"Vybrať všetky",deselectAllText:"Zrušiť výber",multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-sl_SI.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Nič izbranega', 27 | noneResultsText: 'Ni zadetkov za {0}', 28 | countSelectedText: function (numSelected, numTotal) { 29 | "Število izbranih: {0}"; 30 | }, 31 | maxOptionsText: function (numAll, numGroup) { 32 | return [ 33 | 'Omejitev dosežena (max. izbranih: {n})', 34 | 'Omejitev skupine dosežena (max. izbranih: {n})' 35 | ]; 36 | }, 37 | selectAllText: 'Izberi vse', 38 | deselectAllText: 'Počisti izbor', 39 | multipleSeparator: ', ' 40 | }; 41 | })(jQuery); 42 | 43 | 44 | })); 45 | -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-sl_SI.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nič izbranega",noneResultsText:"Ni zadetkov za {0}",countSelectedText:function(a,b){"Število izbranih: {0}"},maxOptionsText:function(a,b){return["Omejitev dosežena (max. izbranih: {n})","Omejitev skupine dosežena (max. izbranih: {n})"]},selectAllText:"Izberi vse",deselectAllText:"Počisti izbor",multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-sv_SE.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Inget valt', 27 | noneResultsText: 'Inget sökresultat matchar {0}', 28 | countSelectedText: function (numSelected, numTotal) { 29 | return (numSelected === 1) ? "{0} alternativ valt" : "{0} alternativ valda"; 30 | }, 31 | maxOptionsText: function (numAll, numGroup) { 32 | return [ 33 | 'Gräns uppnåd (max {n} alternativ)', 34 | 'Gräns uppnåd (max {n} gruppalternativ)' 35 | ]; 36 | }, 37 | selectAllText: 'Markera alla', 38 | deselectAllText: 'Avmarkera alla', 39 | multipleSeparator: ', ' 40 | }; 41 | })(jQuery); 42 | 43 | 44 | })); 45 | -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-sv_SE.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Inget valt",noneResultsText:"Inget sökresultat matchar {0}",countSelectedText:function(a,b){return 1===a?"{0} alternativ valt":"{0} alternativ valda"},maxOptionsText:function(a,b){return["Gräns uppnåd (max {n} alternativ)","Gräns uppnåd (max {n} gruppalternativ)"]},selectAllText:"Markera alla",deselectAllText:"Avmarkera alla",multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-tr_TR.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Hiçbiri seçilmedi', 27 | noneResultsText: 'Hiçbir sonuç bulunamadı {0}', 28 | countSelectedText: function (numSelected, numTotal) { 29 | return (numSelected == 1) ? "{0} öğe seçildi" : "{0} öğe seçildi"; 30 | }, 31 | maxOptionsText: function (numAll, numGroup) { 32 | return [ 33 | (numAll == 1) ? 'Limit aşıldı (maksimum {n} sayıda öğe )' : 'Limit aşıldı (maksimum {n} sayıda öğe)', 34 | (numGroup == 1) ? 'Grup limiti aşıldı (maksimum {n} sayıda öğe)' : 'Grup limiti aşıldı (maksimum {n} sayıda öğe)' 35 | ]; 36 | }, 37 | selectAllText: 'Tümünü Seç', 38 | deselectAllText: 'Seçiniz', 39 | multipleSeparator: ', ' 40 | }; 41 | })(jQuery); 42 | 43 | 44 | })); 45 | -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-tr_TR.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Hiçbiri seçilmedi",noneResultsText:"Hiçbir sonuç bulunamadı {0}",countSelectedText:function(a,b){return"{0} öğe seçildi"},maxOptionsText:function(a,b){return[1==a?"Limit aşıldı (maksimum {n} sayıda öğe )":"Limit aşıldı (maksimum {n} sayıda öğe)","Grup limiti aşıldı (maksimum {n} sayıda öğe)"]},selectAllText:"Tümünü Seç",deselectAllText:"Seçiniz",multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-ua_UA.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Нічого не вибрано', 27 | noneResultsText: 'Збігів не знайдено {0}', 28 | countSelectedText: 'Вибрано {0} із {1}', 29 | maxOptionsText: ['Досягнута межа ({n} {var} максимум)', 'Досягнута межа в групі ({n} {var} максимум)', ['items', 'item']], 30 | multipleSeparator: ', ' 31 | }; 32 | })(jQuery); 33 | 34 | 35 | })); 36 | -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-ua_UA.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Нічого не вибрано",noneResultsText:"Збігів не знайдено {0}",countSelectedText:"Вибрано {0} із {1}",maxOptionsText:["Досягнута межа ({n} {var} максимум)","Досягнута межа в групі ({n} {var} максимум)",["items","item"]],multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-zh_CN.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: '没有选中任何项', 27 | noneResultsText: '没有找到匹配项', 28 | countSelectedText: '选中{1}中的{0}项', 29 | maxOptionsText: ['超出限制 (最多选择{n}项)', '组选择超出限制(最多选择{n}组)'], 30 | multipleSeparator: ', ' 31 | }; 32 | })(jQuery); 33 | 34 | 35 | })); 36 | -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-zh_CN.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"没有选中任何项",noneResultsText:"没有找到匹配项",countSelectedText:"选中{1}中的{0}项",maxOptionsText:["超出限制 (最多选择{n}项)","组选择超出限制(最多选择{n}组)"],multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-zh_TW.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: '沒有選取任何項目', 27 | noneResultsText: '沒有找到符合的結果', 28 | countSelectedText: '已經選取{0}個項目', 29 | maxOptionsText: ['超過限制 (最多選擇{n}項)', '超過限制(最多選擇{n}組)'], 30 | selectAllText: '選取全部', 31 | deselectAllText: '全部取消', 32 | multipleSeparator: ', ' 33 | }; 34 | })(jQuery); 35 | 36 | 37 | })); 38 | -------------------------------------------------------------------------------- /src/main/webapp/css/i18n/defaults-zh_TW.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"沒有選取任何項目",noneResultsText:"沒有找到符合的結果",countSelectedText:"已經選取{0}個項目",maxOptionsText:["超過限制 (最多選擇{n}項)","超過限制(最多選擇{n}組)"],selectAllText:"選取全部",deselectAllText:"全部取消",multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /src/main/webapp/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /src/main/webapp/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /src/main/webapp/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /src/main/webapp/fonts/glyphicons/flat-ui-icons-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/fonts/glyphicons/flat-ui-icons-regular.eot -------------------------------------------------------------------------------- /src/main/webapp/fonts/glyphicons/flat-ui-icons-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/fonts/glyphicons/flat-ui-icons-regular.ttf -------------------------------------------------------------------------------- /src/main/webapp/fonts/glyphicons/flat-ui-icons-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/fonts/glyphicons/flat-ui-icons-regular.woff -------------------------------------------------------------------------------- /src/main/webapp/fonts/lato/lato-black.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/fonts/lato/lato-black.eot -------------------------------------------------------------------------------- /src/main/webapp/fonts/lato/lato-black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/fonts/lato/lato-black.ttf -------------------------------------------------------------------------------- /src/main/webapp/fonts/lato/lato-black.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/fonts/lato/lato-black.woff -------------------------------------------------------------------------------- /src/main/webapp/fonts/lato/lato-bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/fonts/lato/lato-bold.eot -------------------------------------------------------------------------------- /src/main/webapp/fonts/lato/lato-bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/fonts/lato/lato-bold.ttf -------------------------------------------------------------------------------- /src/main/webapp/fonts/lato/lato-bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/fonts/lato/lato-bold.woff -------------------------------------------------------------------------------- /src/main/webapp/fonts/lato/lato-bolditalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/fonts/lato/lato-bolditalic.eot -------------------------------------------------------------------------------- /src/main/webapp/fonts/lato/lato-bolditalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/fonts/lato/lato-bolditalic.ttf -------------------------------------------------------------------------------- /src/main/webapp/fonts/lato/lato-bolditalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/fonts/lato/lato-bolditalic.woff -------------------------------------------------------------------------------- /src/main/webapp/fonts/lato/lato-italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/fonts/lato/lato-italic.eot -------------------------------------------------------------------------------- /src/main/webapp/fonts/lato/lato-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/fonts/lato/lato-italic.ttf -------------------------------------------------------------------------------- /src/main/webapp/fonts/lato/lato-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/fonts/lato/lato-italic.woff -------------------------------------------------------------------------------- /src/main/webapp/fonts/lato/lato-light.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/fonts/lato/lato-light.eot -------------------------------------------------------------------------------- /src/main/webapp/fonts/lato/lato-light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/fonts/lato/lato-light.ttf -------------------------------------------------------------------------------- /src/main/webapp/fonts/lato/lato-light.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/fonts/lato/lato-light.woff -------------------------------------------------------------------------------- /src/main/webapp/fonts/lato/lato-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/fonts/lato/lato-regular.eot -------------------------------------------------------------------------------- /src/main/webapp/fonts/lato/lato-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/fonts/lato/lato-regular.ttf -------------------------------------------------------------------------------- /src/main/webapp/fonts/lato/lato-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/fonts/lato/lato-regular.woff -------------------------------------------------------------------------------- /src/main/webapp/home.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" import="java.util.*" pageEncoding="Utf-8"%> 2 | <%@ taglib prefix="s" uri="/struts-tags"%> 3 | 4 | 5 | 6 | 7 | <s:text name="home_title"></s:text> 8 | 9 | 10 | 11 | 12 | 13 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 |
26 |
27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /src/main/webapp/images/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/images/background.jpg -------------------------------------------------------------------------------- /src/main/webapp/images/faces/user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/images/faces/user.png -------------------------------------------------------------------------------- /src/main/webapp/images/photo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/images/photo.jpg -------------------------------------------------------------------------------- /src/main/webapp/images/pin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/images/pin.png -------------------------------------------------------------------------------- /src/main/webapp/images/scan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xwlcn/webssh/782daf03a37af70dc7b74182fbb84c1465949838/src/main/webapp/images/scan.png -------------------------------------------------------------------------------- /src/main/webapp/index.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="s" uri="/struts-tags"%> 4 | 5 | 6 | 7 | 8 | Insert title here 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-bg_BG.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Нищо избрано', 27 | noneResultsText: 'Няма резултат за {0}', 28 | countSelectedText: function (numSelected, numTotal) { 29 | return (numSelected == 1) ? "{0} избран елемент" : "{0} избрани елемента"; 30 | }, 31 | maxOptionsText: function (numAll, numGroup) { 32 | return [ 33 | (numAll == 1) ? 'Лимита е достигнат ({n} елемент максимум)' : 'Лимита е достигнат ({n} елемента максимум)', 34 | (numGroup == 1) ? 'Груповия лимит е достигнат ({n} елемент максимум)' : 'Груповия лимит е достигнат ({n} елемента максимум)' 35 | ]; 36 | }, 37 | selectAllText: 'Избери всички', 38 | deselectAllText: 'Размаркирай всички', 39 | multipleSeparator: ', ' 40 | }; 41 | })(jQuery); 42 | 43 | 44 | })); 45 | -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-bg_BG.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Нищо избрано",noneResultsText:"Няма резултат за {0}",countSelectedText:function(a,b){return 1==a?"{0} избран елемент":"{0} избрани елемента"},maxOptionsText:function(a,b){return[1==a?"Лимита е достигнат ({n} елемент максимум)":"Лимита е достигнат ({n} елемента максимум)",1==b?"Груповия лимит е достигнат ({n} елемент максимум)":"Груповия лимит е достигнат ({n} елемента максимум)"]},selectAllText:"Избери всички",deselectAllText:"Размаркирай всички",multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-cs_CZ.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Nic není vybráno', 27 | noneResultsText: 'Žádné výsledky {0}', 28 | countSelectedText: 'Označeno {0} z {1}', 29 | maxOptionsText: ['Limit překročen ({n} {var} max)', 'Limit skupiny překročen ({n} {var} max)', ['položek', 'položka']], 30 | multipleSeparator: ', ' 31 | }; 32 | })(jQuery); 33 | 34 | 35 | })); 36 | -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-cs_CZ.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nic není vybráno",noneResultsText:"Žádné výsledky {0}",countSelectedText:"Označeno {0} z {1}",maxOptionsText:["Limit překročen ({n} {var} max)","Limit skupiny překročen ({n} {var} max)",["položek","položka"]],multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-da_DK.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Intet valgt', 27 | noneResultsText: 'Ingen resultater fundet {0}', 28 | countSelectedText: function (numSelected, numTotal) { 29 | return (numSelected == 1) ? "{0} valgt" : "{0} valgt"; 30 | }, 31 | maxOptionsText: function (numAll, numGroup) { 32 | return [ 33 | (numAll == 1) ? 'Begrænsning nået (max {n} valgt)' : 'Begrænsning nået (max {n} valgte)', 34 | (numGroup == 1) ? 'Gruppe-begrænsning nået (max {n} valgt)' : 'Gruppe-begrænsning nået (max {n} valgte)' 35 | ]; 36 | }, 37 | selectAllText: 'Markér alle', 38 | deselectAllText: 'Afmarkér alle', 39 | multipleSeparator: ', ' 40 | }; 41 | })(jQuery); 42 | 43 | 44 | })); 45 | -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-da_DK.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Intet valgt",noneResultsText:"Ingen resultater fundet {0}",countSelectedText:function(a,b){return"{0} valgt"},maxOptionsText:function(a,b){return[1==a?"Begrænsning nået (max {n} valgt)":"Begrænsning nået (max {n} valgte)",1==b?"Gruppe-begrænsning nået (max {n} valgt)":"Gruppe-begrænsning nået (max {n} valgte)"]},selectAllText:"Markér alle",deselectAllText:"Afmarkér alle",multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-de_DE.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Bitte wählen...', 27 | noneResultsText: 'Keine Ergebnisse für {0}', 28 | countSelectedText: '{0} von {1} ausgewählt', 29 | maxOptionsText: ['Limit erreicht ({n} {var} max.)', 'Gruppen-Limit erreicht ({n} {var} max.)', ['Eintrag', 'Einträge']], 30 | multipleSeparator: ', ' 31 | }; 32 | })(jQuery); 33 | 34 | 35 | })); 36 | -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-de_DE.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Bitte wählen...",noneResultsText:"Keine Ergebnisse für {0}",countSelectedText:"{0} von {1} ausgewählt",maxOptionsText:["Limit erreicht ({n} {var} max.)","Gruppen-Limit erreicht ({n} {var} max.)",["Eintrag","Einträge"]],multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-en_US.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Nothing selected', 27 | noneResultsText: 'No results match {0}', 28 | countSelectedText: function (numSelected, numTotal) { 29 | return (numSelected == 1) ? "{0} item selected" : "{0} items selected"; 30 | }, 31 | maxOptionsText: function (numAll, numGroup) { 32 | return [ 33 | (numAll == 1) ? 'Limit reached ({n} item max)' : 'Limit reached ({n} items max)', 34 | (numGroup == 1) ? 'Group limit reached ({n} item max)' : 'Group limit reached ({n} items max)' 35 | ]; 36 | }, 37 | selectAllText: 'Select All', 38 | deselectAllText: 'Deselect All', 39 | multipleSeparator: ', ' 40 | }; 41 | })(jQuery); 42 | 43 | 44 | })); 45 | -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-en_US.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nothing selected",noneResultsText:"No results match {0}",countSelectedText:function(a,b){return 1==a?"{0} item selected":"{0} items selected"},maxOptionsText:function(a,b){return[1==a?"Limit reached ({n} item max)":"Limit reached ({n} items max)",1==b?"Group limit reached ({n} item max)":"Group limit reached ({n} items max)"]},selectAllText:"Select All",deselectAllText:"Deselect All",multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-es_CL.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'No hay selección', 27 | noneResultsText: 'No hay resultados {0}', 28 | countSelectedText: 'Seleccionados {0} de {1}', 29 | maxOptionsText: ['Límite alcanzado ({n} {var} max)', 'Límite del grupo alcanzado({n} {var} max)', ['elementos', 'element']], 30 | multipleSeparator: ', ' 31 | }; 32 | })(jQuery); 33 | 34 | 35 | })); 36 | -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-es_CL.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"No hay selección",noneResultsText:"No hay resultados {0}",countSelectedText:"Seleccionados {0} de {1}",maxOptionsText:["Límite alcanzado ({n} {var} max)","Límite del grupo alcanzado({n} {var} max)",["elementos","element"]],multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-eu.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Hautapenik ez', 27 | noneResultsText: 'Emaitzarik ez {0}', 28 | countSelectedText: '{1}(e)tik {0} hautatuta', 29 | maxOptionsText: ['Mugara iritsita ({n} {var} gehienez)', 'Taldearen mugara iritsita ({n} {var} gehienez)', ['elementu', 'elementu']], 30 | multipleSeparator: ', ' 31 | }; 32 | })(jQuery); 33 | 34 | 35 | })); 36 | -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-eu.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Hautapenik ez",noneResultsText:"Emaitzarik ez {0}",countSelectedText:"{1}(e)tik {0} hautatuta",maxOptionsText:["Mugara iritsita ({n} {var} gehienez)","Taldearen mugara iritsita ({n} {var} gehienez)",["elementu","elementu"]],multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-fa_IR.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'چیزی انتخاب نشده است', 27 | noneResultsText: 'هیج مشابهی برای {0} پیدا نشد', 28 | countSelectedText: "{0} از {1} مورد انتخاب شده", 29 | maxOptionsText: ['بیشتر ممکن نیست {حداکثر {n} عدد}', 'بیشتر ممکن نیست {حداکثر {n} عدد}'], 30 | selectAllText: 'انتخاب همه', 31 | deselectAllText: 'انتخاب هیچ کدام', 32 | multipleSeparator: ', ' 33 | }; 34 | })(jQuery); 35 | 36 | 37 | })); 38 | -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-fa_IR.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"چیزی انتخاب نشده است",noneResultsText:"هیج مشابهی برای {0} پیدا نشد",countSelectedText:"{0} از {1} مورد انتخاب شده",maxOptionsText:["بیشتر ممکن نیست {حداکثر {n} عدد}","بیشتر ممکن نیست {حداکثر {n} عدد}"],selectAllText:"انتخاب همه",deselectAllText:"انتخاب هیچ کدام",multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-fr_FR.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Aucune sélection', 27 | noneResultsText: 'Aucun résultat pour {0}', 28 | countSelectedText: function (numSelected, numTotal) { 29 | return (numSelected > 1) ? "{0} éléments sélectionnés" : "{0} élément sélectionné"; 30 | }, 31 | maxOptionsText: function (numAll, numGroup) { 32 | return [ 33 | (numAll > 1) ? 'Limite atteinte ({n} éléments max)' : 'Limite atteinte ({n} élément max)', 34 | (numGroup > 1) ? 'Limite du groupe atteinte ({n} éléments max)' : 'Limite du groupe atteinte ({n} élément max)' 35 | ]; 36 | }, 37 | multipleSeparator: ', ' 38 | }; 39 | })(jQuery); 40 | 41 | 42 | })); 43 | -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-fr_FR.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Aucune sélection",noneResultsText:"Aucun résultat pour {0}",countSelectedText:function(a,b){return a>1?"{0} éléments sélectionnés":"{0} élément sélectionné"},maxOptionsText:function(a,b){return[a>1?"Limite atteinte ({n} éléments max)":"Limite atteinte ({n} élément max)",b>1?"Limite du groupe atteinte ({n} éléments max)":"Limite du groupe atteinte ({n} élément max)"]},multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-hu_HU.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Válasszon!', 27 | noneResultsText: 'Nincs találat {0}', 28 | countSelectedText: function (numSelected, numTotal) { 29 | return '{0} elem kiválasztva'; 30 | }, 31 | maxOptionsText: function (numAll, numGroup) { 32 | return [ 33 | 'Legfeljebb {n} elem választható', 34 | 'A csoportban legfeljebb {n} elem választható' 35 | ]; 36 | }, 37 | selectAllText: 'Mind', 38 | deselectAllText: 'Egyik sem', 39 | multipleSeparator: ', ' 40 | }; 41 | })(jQuery); 42 | 43 | 44 | })); 45 | -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-hu_HU.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Válasszon!",noneResultsText:"Nincs találat {0}",countSelectedText:function(a,b){return"{0} elem kiválasztva"},maxOptionsText:function(a,b){return["Legfeljebb {n} elem választható","A csoportban legfeljebb {n} elem választható"]},selectAllText:"Mind",deselectAllText:"Egyik sem",multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-it_IT.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Nessuna selezione', 27 | noneResultsText: 'Nessun risultato per {0}', 28 | countSelectedText: 'Selezionati {0} di {1}', 29 | maxOptionsText: ['Limite raggiunto ({n} {var} max)', 'Limite del gruppo raggiunto ({n} {var} max)', ['elementi', 'elemento']], 30 | multipleSeparator: ', ' 31 | }; 32 | })(jQuery); 33 | 34 | 35 | })); 36 | -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-it_IT.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nessuna selezione",noneResultsText:"Nessun risultato per {0}",countSelectedText:"Selezionati {0} di {1}",maxOptionsText:["Limite raggiunto ({n} {var} max)","Limite del gruppo raggiunto ({n} {var} max)",["elementi","elemento"]],multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-ko_KR.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: '항목을 선택해주세요', 27 | noneResultsText: '{0} 검색 결과가 없습니다', 28 | countSelectedText: function (numSelected, numTotal) { 29 | return "{0}개를 선택하였습니다"; 30 | }, 31 | maxOptionsText: function (numAll, numGroup) { 32 | return [ 33 | '{n}개까지 선택 가능합니다', 34 | '해당 그룹은 {n}개까지 선택 가능합니다' 35 | ]; 36 | }, 37 | selectAllText: '전체선택', 38 | deselectAllText: '전체해제', 39 | multipleSeparator: ', ' 40 | }; 41 | })(jQuery); 42 | 43 | 44 | })); 45 | -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-ko_KR.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"항목을 선택해주세요",noneResultsText:"{0} 검색 결과가 없습니다",countSelectedText:function(a,b){return"{0}개를 선택하였습니다"},maxOptionsText:function(a,b){return["{n}개까지 선택 가능합니다","해당 그룹은 {n}개까지 선택 가능합니다"]},selectAllText:"전체선택",deselectAllText:"전체해제",multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-nl_NL.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Niets geselecteerd', 27 | noneResultsText: 'Geen resultaten gevonden voor {0}', 28 | countSelectedText: '{0} van {1} geselecteerd', 29 | maxOptionsText: ['Limiet bereikt ({n} {var} max)', 'Groep limiet bereikt ({n} {var} max)', ['items', 'item']], 30 | multipleSeparator: ', ' 31 | }; 32 | })(jQuery); 33 | 34 | 35 | })); 36 | -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-nl_NL.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Niets geselecteerd",noneResultsText:"Geen resultaten gevonden voor {0}",countSelectedText:"{0} van {1} geselecteerd",maxOptionsText:["Limiet bereikt ({n} {var} max)","Groep limiet bereikt ({n} {var} max)",["items","item"]],multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-pl_PL.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Nic nie zaznaczono', 27 | noneResultsText: 'Brak wyników wyszukiwania {0}', 28 | countSelectedText: 'Zaznaczono {0} z {1}', 29 | maxOptionsText: ['Osiągnięto limit ({n} {var} max)', 'Limit grupy osiągnięty ({n} {var} max)', ['elementy', 'element']], 30 | selectAll: 'Zaznacz wszystkie', 31 | deselectAll: 'Odznacz wszystkie', 32 | multipleSeparator: ', ' 33 | }; 34 | })(jQuery); 35 | 36 | 37 | })); 38 | -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-pl_PL.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nic nie zaznaczono",noneResultsText:"Brak wyników wyszukiwania {0}",countSelectedText:"Zaznaczono {0} z {1}",maxOptionsText:["Osiągnięto limit ({n} {var} max)","Limit grupy osiągnięty ({n} {var} max)",["elementy","element"]],selectAll:"Zaznacz wszystkie",deselectAll:"Odznacz wszystkie",multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-pt_BR.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Nada selecionado', 27 | noneResultsText: 'Nada encontrado contendo {0}', 28 | countSelectedText: 'Selecionado {0} de {1}', 29 | maxOptionsText: ['Limite excedido (máx. {n} {var})', 'Limite do grupo excedido (máx. {n} {var})', ['itens', 'item']], 30 | multipleSeparator: ', ' 31 | }; 32 | })(jQuery); 33 | 34 | 35 | })); 36 | -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-pt_BR.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nada selecionado",noneResultsText:"Nada encontrado contendo {0}",countSelectedText:"Selecionado {0} de {1}",maxOptionsText:["Limite excedido (máx. {n} {var})","Limite do grupo excedido (máx. {n} {var})",["itens","item"]],multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-pt_PT.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Nenhum seleccionado', 27 | noneResultsText: 'Sem resultados contendo {0}', 28 | countSelectedText: 'Selecionado {0} de {1}', 29 | maxOptionsText: ['Limite ultrapassado (máx. {n} {var})', 'Limite de seleções ultrapassado (máx. {n} {var})', ['itens', 'item']], 30 | multipleSeparator: ', ' 31 | }; 32 | })(jQuery); 33 | 34 | 35 | })); 36 | -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-pt_PT.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nenhum seleccionado",noneResultsText:"Sem resultados contendo {0}",countSelectedText:"Selecionado {0} de {1}",maxOptionsText:["Limite ultrapassado (máx. {n} {var})","Limite de seleções ultrapassado (máx. {n} {var})",["itens","item"]],multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-ro_RO.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Nu a fost selectat nimic', 27 | noneResultsText: 'Nu exista niciun rezultat {0}', 28 | countSelectedText: '{0} din {1} selectat(e)', 29 | maxOptionsText: ['Limita a fost atinsa ({n} {var} max)', 'Limita de grup a fost atinsa ({n} {var} max)', ['iteme', 'item']], 30 | multipleSeparator: ', ' 31 | }; 32 | })(jQuery); 33 | 34 | 35 | })); 36 | -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-ro_RO.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nu a fost selectat nimic",noneResultsText:"Nu exista niciun rezultat {0}",countSelectedText:"{0} din {1} selectat(e)",maxOptionsText:["Limita a fost atinsa ({n} {var} max)","Limita de grup a fost atinsa ({n} {var} max)",["iteme","item"]],multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-ru_RU.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Ничего не выбрано', 27 | noneResultsText: 'Совпадений не найдено {0}', 28 | countSelectedText: 'Выбрано {0} из {1}', 29 | maxOptionsText: ['Достигнут предел ({n} {var} максимум)', 'Достигнут предел в группе ({n} {var} максимум)', ['items', 'item']], 30 | doneButtonText: 'Закрыть', 31 | multipleSeparator: ', ' 32 | }; 33 | })(jQuery); 34 | 35 | 36 | })); 37 | -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-ru_RU.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Ничего не выбрано",noneResultsText:"Совпадений не найдено {0}",countSelectedText:"Выбрано {0} из {1}",maxOptionsText:["Достигнут предел ({n} {var} максимум)","Достигнут предел в группе ({n} {var} максимум)",["items","item"]],doneButtonText:"Закрыть",multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-sk_SK.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Vyberte zo zoznamu', 27 | noneResultsText: 'Pre výraz {0} neboli nájdené žiadne výsledky', 28 | countSelectedText: 'Vybrané {0} z {1}', 29 | maxOptionsText: ['Limit prekročený ({n} {var} max)', 'Limit skupiny prekročený ({n} {var} max)', ['položiek', 'položka']], 30 | selectAllText: 'Vybrať všetky', 31 | deselectAllText: 'Zrušiť výber', 32 | multipleSeparator: ', ' 33 | }; 34 | })(jQuery); 35 | 36 | 37 | })); 38 | -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-sk_SK.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Vyberte zo zoznamu",noneResultsText:"Pre výraz {0} neboli nájdené žiadne výsledky",countSelectedText:"Vybrané {0} z {1}",maxOptionsText:["Limit prekročený ({n} {var} max)","Limit skupiny prekročený ({n} {var} max)",["položiek","položka"]],selectAllText:"Vybrať všetky",deselectAllText:"Zrušiť výber",multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-sl_SI.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Nič izbranega', 27 | noneResultsText: 'Ni zadetkov za {0}', 28 | countSelectedText: function (numSelected, numTotal) { 29 | "Število izbranih: {0}"; 30 | }, 31 | maxOptionsText: function (numAll, numGroup) { 32 | return [ 33 | 'Omejitev dosežena (max. izbranih: {n})', 34 | 'Omejitev skupine dosežena (max. izbranih: {n})' 35 | ]; 36 | }, 37 | selectAllText: 'Izberi vse', 38 | deselectAllText: 'Počisti izbor', 39 | multipleSeparator: ', ' 40 | }; 41 | })(jQuery); 42 | 43 | 44 | })); 45 | -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-sl_SI.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nič izbranega",noneResultsText:"Ni zadetkov za {0}",countSelectedText:function(a,b){"Število izbranih: {0}"},maxOptionsText:function(a,b){return["Omejitev dosežena (max. izbranih: {n})","Omejitev skupine dosežena (max. izbranih: {n})"]},selectAllText:"Izberi vse",deselectAllText:"Počisti izbor",multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-sv_SE.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Inget valt', 27 | noneResultsText: 'Inget sökresultat matchar {0}', 28 | countSelectedText: function (numSelected, numTotal) { 29 | return (numSelected === 1) ? "{0} alternativ valt" : "{0} alternativ valda"; 30 | }, 31 | maxOptionsText: function (numAll, numGroup) { 32 | return [ 33 | 'Gräns uppnåd (max {n} alternativ)', 34 | 'Gräns uppnåd (max {n} gruppalternativ)' 35 | ]; 36 | }, 37 | selectAllText: 'Markera alla', 38 | deselectAllText: 'Avmarkera alla', 39 | multipleSeparator: ', ' 40 | }; 41 | })(jQuery); 42 | 43 | 44 | })); 45 | -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-sv_SE.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Inget valt",noneResultsText:"Inget sökresultat matchar {0}",countSelectedText:function(a,b){return 1===a?"{0} alternativ valt":"{0} alternativ valda"},maxOptionsText:function(a,b){return["Gräns uppnåd (max {n} alternativ)","Gräns uppnåd (max {n} gruppalternativ)"]},selectAllText:"Markera alla",deselectAllText:"Avmarkera alla",multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-tr_TR.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Hiçbiri seçilmedi', 27 | noneResultsText: 'Hiçbir sonuç bulunamadı {0}', 28 | countSelectedText: function (numSelected, numTotal) { 29 | return (numSelected == 1) ? "{0} öğe seçildi" : "{0} öğe seçildi"; 30 | }, 31 | maxOptionsText: function (numAll, numGroup) { 32 | return [ 33 | (numAll == 1) ? 'Limit aşıldı (maksimum {n} sayıda öğe )' : 'Limit aşıldı (maksimum {n} sayıda öğe)', 34 | (numGroup == 1) ? 'Grup limiti aşıldı (maksimum {n} sayıda öğe)' : 'Grup limiti aşıldı (maksimum {n} sayıda öğe)' 35 | ]; 36 | }, 37 | selectAllText: 'Tümünü Seç', 38 | deselectAllText: 'Seçiniz', 39 | multipleSeparator: ', ' 40 | }; 41 | })(jQuery); 42 | 43 | 44 | })); 45 | -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-tr_TR.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Hiçbiri seçilmedi",noneResultsText:"Hiçbir sonuç bulunamadı {0}",countSelectedText:function(a,b){return"{0} öğe seçildi"},maxOptionsText:function(a,b){return[1==a?"Limit aşıldı (maksimum {n} sayıda öğe )":"Limit aşıldı (maksimum {n} sayıda öğe)","Grup limiti aşıldı (maksimum {n} sayıda öğe)"]},selectAllText:"Tümünü Seç",deselectAllText:"Seçiniz",multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-ua_UA.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: 'Нічого не вибрано', 27 | noneResultsText: 'Збігів не знайдено {0}', 28 | countSelectedText: 'Вибрано {0} із {1}', 29 | maxOptionsText: ['Досягнута межа ({n} {var} максимум)', 'Досягнута межа в групі ({n} {var} максимум)', ['items', 'item']], 30 | multipleSeparator: ', ' 31 | }; 32 | })(jQuery); 33 | 34 | 35 | })); 36 | -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-ua_UA.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Нічого не вибрано",noneResultsText:"Збігів не знайдено {0}",countSelectedText:"Вибрано {0} із {1}",maxOptionsText:["Досягнута межа ({n} {var} максимум)","Досягнута межа в групі ({n} {var} максимум)",["items","item"]],multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-zh_CN.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: '没有选中任何项', 27 | noneResultsText: '没有找到匹配项', 28 | countSelectedText: '选中{1}中的{0}项', 29 | maxOptionsText: ['超出限制 (最多选择{n}项)', '组选择超出限制(最多选择{n}组)'], 30 | multipleSeparator: ', ' 31 | }; 32 | })(jQuery); 33 | 34 | 35 | })); 36 | -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-zh_CN.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"没有选中任何项",noneResultsText:"没有找到匹配项",countSelectedText:"选中{1}中的{0}项",maxOptionsText:["超出限制 (最多选择{n}项)","组选择超出限制(最多选择{n}组)"],multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-zh_TW.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | 8 | (function (root, factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as an anonymous module unless amdModuleId is set 11 | define(["jquery"], function (a0) { 12 | return (factory(a0)); 13 | }); 14 | } else if (typeof exports === 'object') { 15 | // Node. Does not work with strict CommonJS, but 16 | // only CommonJS-like environments that support module.exports, 17 | // like Node. 18 | module.exports = factory(require("jquery")); 19 | } else { 20 | factory(jQuery); 21 | } 22 | }(this, function (jQuery) { 23 | 24 | (function ($) { 25 | $.fn.selectpicker.defaults = { 26 | noneSelectedText: '沒有選取任何項目', 27 | noneResultsText: '沒有找到符合的結果', 28 | countSelectedText: '已經選取{0}個項目', 29 | maxOptionsText: ['超過限制 (最多選擇{n}項)', '超過限制(最多選擇{n}組)'], 30 | selectAllText: '選取全部', 31 | deselectAllText: '全部取消', 32 | multipleSeparator: ', ' 33 | }; 34 | })(jQuery); 35 | 36 | 37 | })); 38 | -------------------------------------------------------------------------------- /src/main/webapp/js/i18n/defaults-zh_TW.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap-select v1.7.3 (http://silviomoreto.github.io/bootstrap-select) 3 | * 4 | * Copyright 2013-2015 bootstrap-select 5 | * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) 6 | */ 7 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"沒有選取任何項目",noneResultsText:"沒有找到符合的結果",countSelectedText:"已經選取{0}個項目",maxOptionsText:["超過限制 (最多選擇{n}項)","超過限制(最多選擇{n}組)"],selectAllText:"選取全部",deselectAllText:"全部取消",multipleSeparator:", "}}(a)}); -------------------------------------------------------------------------------- /src/main/webapp/js/login.js: -------------------------------------------------------------------------------- 1 | $("#submit").click(function(){ 2 | var data = $("#loginForm").serialize(); 3 | var old = $(this).val(); 4 | $(this).val("Login..."); 5 | $(this).prop("disabled", true); 6 | $.post("login", data, function(data){ 7 | data = jQuery.parseJSON(data); 8 | $("#submit").prop("disabled",false); 9 | $("#submit").prop("disabled",""); 10 | $("#submit").val(old); 11 | if(data.code!=useraction_login_success){ 12 | $("#verifyCode").attr('src','../getImage?t='+new Date().getTime()); 13 | $("#verify").val(''); 14 | $("#message").html(data.msg); 15 | $("#myModal").modal('show'); 16 | setTimeout(function(){$("#myModal").modal('hide')},3000); 17 | }else{ 18 | window.location="../index"; 19 | } 20 | }); 21 | }); -------------------------------------------------------------------------------- /src/main/webapp/js/machine.js: -------------------------------------------------------------------------------- 1 | var ci; 2 | $("#updateModal").on("hidden.bs.modal", function() { 3 | $(this).removeData("bs.modal"); 4 | }); 5 | $(function(){ 6 | $('#deleteModal').modal({backdrop: 'static', keyboard: false, show:false}); 7 | }) 8 | $("#keytype").change(function(){ 9 | switch($(this).val()) { 10 | case '0': 11 | $('#keyword').attr('name','nameKeyWord'); 12 | break; 13 | case '1': 14 | $('#keyword').attr('name','hostKeyWord'); 15 | break; 16 | case '2': 17 | $('#keyword').attr('name','portKeyWord'); 18 | break; 19 | } 20 | }); 21 | function selAll(){ 22 | $('input[name="ids"]').each(function(){ 23 | this.checked = true; 24 | }); 25 | } 26 | function deSelAll(){ 27 | $('input[name="ids"]').each(function(){ 28 | this.checked = !this.checked; 29 | }); 30 | } 31 | function deleteSel(){ 32 | var data = $('form[name="machineForm"]').serialize(); 33 | $.post('deleteMachines', data, function(data){ 34 | showMsg(jQuery.parseJSON(data)); 35 | }); 36 | } 37 | function cancel(){ 38 | $(ci).parent().parent().find("input[name='ids']")[0].checked = false; 39 | } 40 | $(document).ready(function(){ 41 | 42 | $("a[name='del']").each(function(){ 43 | $(this).click(function(){ 44 | ci = this; 45 | $(this).parent().parent().find("input[name='ids']")[0].checked = true; 46 | }); 47 | }); 48 | }) 49 | $("#btnSub").click(function(){ 50 | var data = $('#updateForm').serialize(); 51 | $.post('updateMachine',data,function(data){ 52 | showMsg(jQuery.parseJSON(data)); 53 | }) 54 | }); 55 | function showMsg(data){ 56 | $('#message').html(data.msg); 57 | //success 58 | if (data.code == machineaction_deletemachines_success || data.code == machineaction_updatemachine_success) { 59 | $("#message").removeClass("alert alert-danger").addClass("alert alert-success"); 60 | } 61 | //failed 62 | else { 63 | $("#message").removeClass("alert alert-danger").addClass("alert alert-danger"); 64 | } 65 | $("#msgModal").modal('show'); 66 | setTimeout(function(){location.reload();},1000); 67 | } -------------------------------------------------------------------------------- /src/main/webapp/js/menu.js: -------------------------------------------------------------------------------- 1 | function writeCookie(name, value, hours) 2 | { 3 | var expire = ""; 4 | if(hours != null) 5 | { 6 | expire = new Date((new Date()).getTime() + hours * 3600000); 7 | expire = "; expires=" + expire.toGMTString(); 8 | } 9 | document.cookie = name + "=" + escape(value) + expire; 10 | } 11 | function readCookie(name) 12 | { 13 | var cookieValue = ""; 14 | var search = name + "="; 15 | if(document.cookie.length > 0) 16 | { 17 | offset = document.cookie.indexOf(search); 18 | if (offset != -1) 19 | { 20 | offset += search.length; 21 | end = document.cookie.indexOf(";", offset); 22 | if (end == -1) end = document.cookie.length; 23 | cookieValue = unescape(document.cookie.substring(offset, end)) 24 | } 25 | } 26 | return cookieValue; 27 | } 28 | 29 | $(function(){ 30 | var a = readCookie('lastMenu'); 31 | var c = $('.panel-group').find('.panel-collapse'); 32 | for(var i=0;i 3 | <%@ taglib prefix="s" uri="/struts-tags"%> 4 |
5 | 6 | 11 | 38 | 44 |
45 | -------------------------------------------------------------------------------- /src/main/webapp/user/updateNote.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="s" uri="/struts-tags"%> 4 |
5 | 6 | 11 | 23 | 31 |
32 | 33 | -------------------------------------------------------------------------------- /src/main/webapp/user/usercenter.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 | <s:text name="usercenter_title"></s:text> 11 | 12 | 13 | 14 | 15 | 16 | 20 | 21 | 22 | 23 |
24 | 25 |
26 |
27 | 28 | 29 |
30 |
31 |
32 | 33 | 34 | 35 |
-------------------------------------------------------------------------------- /src/main/webapp/user/welcome.jsp: -------------------------------------------------------------------------------- 1 | <%@page import="java.text.DateFormat"%> 2 | <%@page import="java.text.SimpleDateFormat"%> 3 | <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 4 | <%@ taglib prefix="s" uri="/struts-tags"%> 5 | 6 |
7 |
8 |
9 |

10 |
11 |
12 |
13 |
14 |

15 |

${session.user.lastLoginIP}

16 |

17 |

18 |
19 |
20 |
21 |

22 |
23 |

24 |
25 |
26 |
27 | More 28 |
29 |
30 | 31 |
32 |

33 |

34 |

35 |

36 | 37 |
38 | Read 39 |

40 |
41 |
42 |
43 |

 

44 |

memorandum book

45 |

Open it!

46 |
  ${noteCount }  
47 |

 

48 |
49 |
50 |
51 |
52 |
53 | --------------------------------------------------------------------------------