diff --git a/README.md b/README.md
index 5077e0762bb166cf75ade658887cea81f3337ef1..c92cdb5f934ffca9b162b5a6c99807cf13994723 100755
--- a/README.md
+++ b/README.md
@@ -77,9 +77,14 @@ _注:kift为该功能的开发名称,其实际成果命名为kiftd。_
> 提示:当您更新版本后,请手动清除浏览器的缓存,之后刷新网盘主页以确保数据文件保持最新!否则可能导致新版页面功能无法使用。
-### 常规更新v1.0.22
-_本次更新为维护性的更新,修复一些已经发现的问题以优化使用体验,推荐所有用户升级。_
-+ 优化了在线音乐播放功能——现在,kiftd的在线音乐播放功能能够正确显示使用非UTF-8编码的中文LRC歌词了。
+### 新版本v1.0.23
+_本次更新加入了用户们期待的一些新功能,进一步增强kiftd的使用体验,推荐所有用户升级。_
++ 用户修改密码功能——这是用户们反馈最多的功能。现在,只需在设置中启用该功能便可以让访问者直接在主页上自由地修改账户的登录密码了。
++ 永久资源链接功能——为满足用户希望将kiftd作为在线资源服务器的需求,您可以在设置中启用该功能,这样kiftd将为每个文件生成一个永久有效的外部资源链接(外链)从而方便用户将kiftd中的文件资源(如图片、视频、音乐甚至是HTML页面等)在其他位置引用。
++ 自由注册新账户功能——这是用户们反馈第二多的功能。现在,只需在账户配置文件中添加该功能的设置项便可以让访问者在您的kiftd中自由注册新账户了,详细内容请参见《kiftd说明文档》。
++ 设定IP访问限制——现在,kiftd允许通过账户配置文件中的相关设置来禁止或者只允许特定IP进行访问您的kiftd。
++ 完善了日志信息内容——日志内容中新增了关于操作者IP地址的记录,方便您对某项操作请求的来源进行跟踪。
++ 在主页面的源代码中新增了服务器的版本号标注——这样,您便可以通过浏览器的“显示网页源代码”功能在线查看kiftd服务器的版本了。
> 需要查看更多版本历史信息?请访问: https://kohgylw.gitee.io/News.html
@@ -122,4 +127,4 @@ _本次更新为维护性的更新,修复一些已经发现的问题以优化
_作者会每隔1-3周浏览一次邮箱,如未能及时回复请耐心等待。回复或许会迟到,但它不会缺席。_
-2019-09-02 kohgylw@青阳龙野 作者保留版权
+2018-2019 kohgylw@青阳龙野 作者保留版权
diff --git a/kiftd-1.0.22-RELEASE.jar b/kiftd-1.0.22-RELEASE.jar
deleted file mode 100644
index 6dbefccb8b607941aa0cd955862643e85663a621..0000000000000000000000000000000000000000
Binary files a/kiftd-1.0.22-RELEASE.jar and /dev/null differ
diff --git a/kiftd-1.0.23-RELEASE.jar b/kiftd-1.0.23-RELEASE.jar
new file mode 100644
index 0000000000000000000000000000000000000000..8eec1148c96cf86d2a6d35c924cb06f1ed6b2563
Binary files /dev/null and b/kiftd-1.0.23-RELEASE.jar differ
diff --git "a/kiftd\350\257\264\346\230\216\346\226\207\346\241\243.pdf" "b/kiftd\350\257\264\346\230\216\346\226\207\346\241\243.pdf"
index a6baaf7198fbb650cdc994a2f207edcef9939ca8..a51ad574c2cde7ac85ca615836401216782103a6 100644
Binary files "a/kiftd\350\257\264\346\230\216\346\226\207\346\241\243.pdf" and "b/kiftd\350\257\264\346\230\216\346\226\207\346\241\243.pdf" differ
diff --git a/mybatisResource/mapperXML/PropertiesMapper.xml b/mybatisResource/mapperXML/PropertiesMapper.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a9d555d21c0f77baa72f426c5334a09bdba4983d
--- /dev/null
+++ b/mybatisResource/mapperXML/PropertiesMapper.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+ INSERT INTO PROPERTIES
+ VALUES(#{propertieKey,jdbcType=VARCHAR},#{propertieValue,jdbcType=VARCHAR})
+
+
+
+ UPDATE PROPERTIES SET propertie_value =
+ #{propertieValue,jdbcType=VARCHAR} WHERE propertie_key =
+ #{propertieKey,jdbcType=VARCHAR}
+
+
+
+ DELETE FROM PROPERTIES WHERE
+ propertie_key = #{propertieKey,jdbcType=VARCHAR}
+
+
+
+
\ No newline at end of file
diff --git a/webContext/home.html b/webContext/home.html
index 472b56a15a4fd6f21590d8f38bb331f79028bf21..d4fbf69423d8a94a010c055c9f0f31c8f9c3e51e 100644
--- a/webContext/home.html
+++ b/webContext/home.html
@@ -1,5 +1,7 @@
-
+
+
+
"),$("#dclmbutton").attr("disabled",!1)),$("#downloadAllCheckedModal").modal("toggle")}function downloadAllChecked(){$("#dclmbutton").attr("disabled",!0);var a=getCheckedFilesAndFolders();$("#downloadAllCheckedName").text("提示:服务器正在对选中资源进行压缩(共"+a.size+"项),这可能需要一些时间(文件越大耗时越长),压缩完成将自动开始下载。"),$.ajax({url:"homeController/getPackTime.ajax",type:"POST",data:{strIdList:a.filesId,strFidList:a.foldersId},dataType:"text",success:function(a){var b;
-"0"!=a?(b=0,$("#downloadAllCheckedLoad").text("已耗时:"+b+"秒(预计耗时:"+a+")"),zipTimer=setInterval(function(){b++,$("#downloadAllCheckedLoad").text("已耗时:"+b+"秒(预计耗时:"+a+")")},1e3)):(b=0,$("#downloadAllCheckedLoad").text("已耗时:"+b+"秒"),zipTimer=setInterval(function(){b++,$("#downloadAllCheckedLoad").text("已耗时:"+b+"秒")},1e3))},error:function(){$("#downloadAllCheckedLoad").text("(无法获取预计耗时)")}}),$.ajax({type:"POST",url:"homeController/downloadCheckedFiles.ajax",data:{strIdList:a.filesId,strFidList:a.foldersId},dataType:"text",success:function(a){var c,d;null!=zipTimer&&window.clearInterval(zipTimer),"ERROR"==a?$("#downloadAllCheckedName").text("提示:压缩过程出错。无法完成压缩,请重试或告知管理员。"):($("#downloadAllCheckedLoad").text(""),$("#downloadAllCheckedName").text("提示:压缩完成!准备开始下载..."),setTimeout("$('#downloadAllCheckedModal').modal('hide');",800),c=document.createElement("form"),c.action="homeController/downloadCheckedFilesZip.do",c.method="post",c.style.display="none",d=document.createElement("input"),d.name="zipId",d.value=a,c.appendChild(d),document.body.appendChild(c),c.submit())},error:function(){$("#downloadAllCheckedName").text("提示:请求失败。无法完成压缩,请重试或告知管理员。")}})}function showDeleteAllCheckedModel(){$("#deleteFileBox").html("");var a=getCheckedFilesAndFolders();$("#dfmbutton").attr("disabled",!1),0==a.size?$("#deleteFileMessage").html(checkFilesTip):($("#deleteFileBox").html("
全部删除"),$("#deleteFileMessage").text("提示:确定要彻底删除这"+a.size+"项么?该操作不可恢复!")),$("#deleteFileModal").modal("toggle")}function deleteAllChecked(){var a=getCheckedFilesAndFolders();$("#dfmbutton").attr("disabled",!0),$("#deleteFileMessage").text("提示:正在删除,请稍候..."),$.ajax({type:"POST",dataType:"text",data:{strIdList:a.filesId,strFidList:a.foldersId},url:"homeController/deleteCheckedFiles.ajax",success:function(a){"mustLogin"==a?window.location.href="login.html":"noAuthorized"==a?($("#deleteFileMessage").text("提示:您的操作未被授权,删除失败"),$("#dfmbutton").attr("disabled",!1)):"errorParameter"==a?($("#deleteFileMessage").text("提示:参数不正确,未能全部删除文件"),$("#dfmbutton").attr("disabled",!1)):"cannotDeleteFile"==a?($("#deleteFileMessage").text("提示:出现意外错误,可能未能删除全部文件"),$("#dfmbutton").attr("disabled",!1)):"deleteFileSuccess"==a?($("#deleteFileModal").modal("hide"),showFolderView(locationpath)):($("#deleteFileMessage").text("提示:出现意外错误,可能未能删除全部文件"),$("#dfmbutton").attr("disabled",!1))},error:function(){$("#deleteFileMessage").text("提示:出现意外错误,可能未能删除全部文件"),$("#dfmbutton").attr("disabled",!1)}})}function playAudio(fileId){$("#audioPlayerModal").modal("show"),null==pingInt&&(pingInt=setInterval("ping()",6e4)),null==ap&&(ap=new APlayer({container:document.getElementById("aplayer"),lrcType:3,mutex:!0,volume:.7,theme:"#EDEDED",audio:[]}),ap.on("pause",function(){$("#playOrPause").html("
")}),ap.on("play",function(){$("#playOrPause").html("
")})),ap.list.clear(),$.ajax({url:"homeController/playAudios.ajax",data:{fileId:fileId},type:"POST",dataType:"text",success:function(result){var i,ail=eval("("+result+")");for(i=0;i
",">");ap.list.add(ail.as),ap.list.switch(ail.index),audio_play()},error:function(){alert("错误:无法获取音乐列表,请稍后再试"),closeAudioPlayer()}})}function closeAudioPlayer(){$("#audioPlayerModal").modal("hide")}function audio_playOrPause(){ap.toggle()}function audio_play(){ap.play()}function audio_pasue(){ap.pause()}function audio_fw(){ap.skipForward()}function audio_bw(){ap.skipBack()}function audio_vulome_up(){ap.volume(ap.audio.volume+.1,!0)}function audio_vulome_down(){ap.volume(ap.audio.volume-.1,!0)}function sortbyfn(){$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass();var a=1;$("#sortByFN").hasClass("glyphicon-triangle-bottom")?($("#sortByFN").removeClass(),$("#sortByFN").addClass("glyphicon glyphicon-triangle-top"),a=-1):($("#sortByFN").removeClass(),$("#sortByFN").addClass("glyphicon glyphicon-triangle-bottom")),folderView.fileList.sort(function(b,c){return a*c.fileName.localeCompare(b.fileName,"zh")}),folderView.folderList.sort(function(b,c){return a*c.folderName.localeCompare(b.folderName,"zh")}),showFolderTable(folderView)}function sortbycd(){$("#sortByFN").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass();var a=1;$("#sortByCD").hasClass("glyphicon-triangle-bottom")?($("#sortByCD").removeClass(),$("#sortByCD").addClass("glyphicon glyphicon-triangle-top"),a=-1):($("#sortByCD").removeClass(),$("#sortByCD").addClass("glyphicon glyphicon-triangle-bottom")),folderView.fileList.sort(function(b,c){var d=b.fileCreationDate.replace("年","-").replace("月","-").replace("日",""),e=c.fileCreationDate.replace("年","-").replace("月","-").replace("日",""),f=new Date(Date.parse(d)).getTime()-new Date(Date.parse(e)).getTime();return a*f}),folderView.folderList.sort(function(b,c){var d=b.folderCreationDate.replace("年","-").replace("月","-").replace("日",""),e=c.folderCreationDate.replace("年","-").replace("月","-").replace("日",""),f=new Date(Date.parse(d)).getTime()-new Date(Date.parse(e)).getTime();return a*f}),showFolderTable(folderView)}function sortbyfs(){$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByCN").removeClass(),$("#sortByFS").hasClass("glyphicon-triangle-bottom")?($("#sortByFS").removeClass(),$("#sortByFS").addClass("glyphicon glyphicon-triangle-top"),folderView.fileList.sort(function(a,b){return b.fileSize-a.fileSize})):($("#sortByFS").removeClass(),$("#sortByFS").addClass("glyphicon glyphicon-triangle-bottom"),folderView.fileList.sort(function(a,b){return a.fileSize-b.fileSize})),showFolderTable(folderView)}function sortbycn(){$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass();var a=1;$("#sortByCN").hasClass("glyphicon-triangle-bottom")?($("#sortByCN").removeClass(),$("#sortByCN").addClass("glyphicon glyphicon-triangle-top"),a=-1):($("#sortByCN").removeClass(),$("#sortByCN").addClass("glyphicon glyphicon-triangle-bottom")),folderView.fileList.sort(function(b,c){return a*c.fileCreator.localeCompare(b.fileCreator,"zh")}),folderView.folderList.sort(function(b,c){return a*c.folderCreator.localeCompare(b.folderCreator,"zh")}),showFolderTable(folderView)}function showOriginFolderView(){$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),folderView=null!=screenedFoldrView?$.extend(!0,{},screenedFoldrView):$.extend(!0,{},originFolderView),showFolderTable(folderView)}function startMoveFile(){$("#cutSignTx").hasClass("cuted")&&void 0!==checkedMovefiles?($("#moveFilesMessage").text("提示:确定将这"+checkedMovefiles.size+"项移动到当前位置么?"),$("#moveFilesBox").html("全部移动"),$("#selectFileMoveModelAsAll").removeAttr("checked"),$("#selectFileMoveModelAlert").hide(),$("#moveFilesModal").modal("show")):(checkedMovefiles=getCheckedFilesAndFolders(),void 0==checkedMovefiles||0==checkedMovefiles.size?($("#moveFilesMessage").html(checkFilesTip),$("#selectFileMoveModelAsAll").removeAttr("checked"),$("#selectFileMoveModelAlert").hide(),$("#moveFilesModal").modal("show")):($("#cutSignTx").html("粘贴("+checkedMovefiles.size+")+V"),$("#cutSignTx").addClass("cuted")))}function doMoveFiles(){$("#dmvfbutton").attr("disabled",!0),$("#moveFilesMessage").text("提示:正在移动,请稍候..."),$.ajax({type:"POST",dataType:"text",data:{strIdList:checkedMovefiles.filesId,strFidList:checkedMovefiles.foldersId,locationpath:locationpath},url:"homeController/confirmMoveFiles.ajax",success:function(result){if("mustLogin"==result)window.location.href="login.html";else if("noAuthorized"==result)$("#moveFilesMessage").text("提示:您的操作未被授权,移动失败"),$("#dmvfbutton").attr("disabled",!1);else if("errorParameter"==result)$("#moveFilesMessage").text("提示:参数不正确,未能全部移动文件,请刷新后重试"),$("#dmvfbutton").attr("disabled",!1);else if("cannotMoveFiles"==result)$("#moveFilesMessage").text("提示:出现意外错误,可能未能移动全部文件,请刷新后重试"),$("#dmvfbutton").attr("disabled",!1);else if("confirmMoveFiles"==result)strMoveOptMap={},sendMoveFilesReq();else if(result.startsWith("duplicationFileName:")){repeMap=eval("("+result.substring(20)+")"),repeIndex=0,strMoveOptMap={},mRepeSize=repeMap.repeFolders.length+repeMap.repeNodes.length,repeMap.repeFolders.length>0?$("#mrepeFileName").text(repeMap.repeFolders[repeIndex].folderName):$("#mrepeFileName").text(repeMap.repeNodes[repeIndex].fileName);var authList=originFolderView.authList;checkAuth(authList,"D")?$("#movecoverbtn").show():$("#movecoverbtn").hide(),$("#selectFileMoveModelAlert").show()}else result.startsWith("CANT_MOVE_TO_INSIDE:")?$("#moveFilesMessage").text("错误:不能将一个文件夹移动到其自身内部:"+result.substring(20)):($("#moveFilesMessage").text("提示:出现意外错误,可能未能移动全部文件,请刷新后重试"),$("#dmvfbutton").attr("disabled",!1))},error:function(){$("#moveFilesMessage").text("提示:出现意外错误,可能未能移动全部文件"),$("#dmvfbutton").attr("disabled",!1)}})}function selectFileMoveModel(a){if($("#selectFileMoveModelAsAll").prop("checked")){for(;mRepeSize>repeIndex;)repeIndexrepeIndex?repeIndexc;c++)b.test(originFolderView.folderList[c].folderName)&&screenedFoldrView.folderList.push(originFolderView.folderList[c]);for(c=0,d=originFolderView.fileList.length;d>c;c++)b.test(originFolderView.fileList[c].fileName)&&screenedFoldrView.fileList.push(originFolderView.fileList[c]);$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),folderView=$.extend(!0,{},screenedFoldrView),showFolderTable(folderView)}catch(e){alert("错误:搜索关键字有误。请在特殊符号(例如“*”)前加上“\\”进行转义。")}}function selectInCompletePath(keyworld){return 0==keyworld.length?(showFolderView(locationpath),void 0):(startLoading(),$.ajax({type:"POST",dataType:"text",data:{fid:locationpath,keyworld:keyworld},url:"homeController/sreachInCompletePath.ajax",success:function(result){endLoading(),"ERROR"==result?(doAlert(),$("#tb").html("获取失败,请尝试刷新"),$("#publishTime").html("获取失败,请尝试刷新"),$("#parentlistbox").html("获取失败,请尝试刷新")):"mustLogin"==result?window.location.href="login.html":"notAccess"==result?(document.cookie="folder_id="+escape("root"),window.location.href="/"):(folderView=eval("("+result+")"),locationpath=folderView.folder.folderId,parentpath=folderView.folder.folderParent,constraintLevel=folderView.folder.folderConstraint,screenedFoldrView=null,$("#sreachKeyWordIn").val("all:"+folderView.keyWorld),showParentList(folderView),showAccountView(folderView),showPublishTime(folderView),originFolderView=$.extend(!0,{},folderView),$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),showFolderTable(folderView))},error:function(){endLoading(),doAlert(),$("#tb").html("获取失败,请尝试刷新"),$("#publishTime").html("获取失败,请尝试刷新"),$("#parentlistbox").html("获取失败,请尝试刷新")}}),void 0)}function goBackToTop(){$("html,body").animate({scrollTop:0},"slow")}function getDownloadURL(){$.ajax({url:"externalLinksController/getDownloadKey.ajax",type:"POST",dataType:"text",data:{fId:getDownloadFileId},success:function(a){$("#downloadHrefBox").html(""+window.location.protocol+"//"+window.location.host+"/externalLinksController/downloadFileByKey/"+getDownloadFileName+"?dkey="+a+"")},error:function(){$("#downloadHrefBox").html("获取失败,请检查网络状态或点此重新获取。")}})}function ping(){$.ajax({url:"homeController/ping.ajax",type:"POST",dataType:"text",data:{},success:function(a){"pong"!=a&&null!=pingInt&&(window.clearInterval(pingInt),pingInt=null)},error:function(){null!=pingInt&&(window.clearInterval(pingInt),pingInt=null)}})}function isSupportWebkitdirectory(){var a=document.createElement("input");return"webkitdirectory"in a&&!/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)?!0:!1}function showUploadFolderModel(){if($("#importFolderAlert").hide(),$("#importFolderAlert").text(""),0==isImporting)if($("#folderpath").val(""),$("#importfolder").val(""),$("#importpros").width("0%"),$("#importpros").attr("aria-valuenow","0"),$("#importstatus").html(""),$("#folderpath").attr("disabled",!1),$("#importFolderLevelBtn").attr("disabled",!1),$("#importcount").text(""),$("#importbutton").attr("disabled",!1),$("#importfoldertypelist").html(""),$("#selectFolderImportModelAlert").hide(),null!=account){$("#folderpath").attr("folderConstraintLevel",constraintLevel+""),$("#importfoldertype").text(folderTypes[constraintLevel]);for(var a=constraintLevel;a"+folderTypes[a]+"")}else $("#importfoldertypelist").append(""+folderTypes[0]+"");$("#importFolderModal").modal("show")}function checkimportpath(){$("#importfolder").click()}function getInputImport(){ifs=$("#importfolder")[0].files,ifs.length>0&&(importFolderName=ifs[0].webkitRelativePath.substring(0,ifs[0].webkitRelativePath.indexOf("/")),$("#folderpath").val(importFolderName))}function checkImportFolder(){var maxSize,maxFileIndex,i;if(0==isUpLoading&&0==isImporting)if(null!=ifs&&ifs.length>0){for($("#folderpath").attr("disabled",!0),$("#importFolderLevelBtn").attr("disabled",!0),$("#importbutton").attr("disabled",!0),$("#importFolderAlert").hide(),$("#importFolderAlert").text(""),isImporting=!0,maxSize=0,maxFileIndex=0,i=0;imaxSize&&(maxSize=ifs[i].size,maxFileIndex=i);$.ajax({url:"homeController/checkImportFolder.ajax",type:"POST",dataType:"text",data:{folderName:importFolderName,maxSize:maxSize,folderId:locationpath},success:function(result){var resJson=eval("("+result+")");switch(resJson.result){case"noAuthorized":showImportFolderAlert("提示:您的操作未被授权,无法开始上传");break;case"errorParameter":showImportFolderAlert("提示:参数不正确,无法开始上传");break;case"mustLogin":window.location.href="login.html";break;case"fileOverSize":showImportFolderAlert("提示:文件["+ifs[maxFileIndex].webkitRelativePath+"]的体积超过最大限制("+resJson.maxSize+"),无法开始上传");break;case"repeatFolder_Both":$("#repeFolderName").text(importFolderName),$("#importcoverbtn").hide(),$("#selectFolderImportModelAlert").show();break;case"repeatFolder_coverOrBoth":$("#repeFolderName").text(importFolderName),$("#importcoverbtn").show(),$("#selectFolderImportModelAlert").show();break;case"permitUpload":iteratorImport(0);break;default:showImportFolderAlert("提示:出现意外错误,无法开始上传")}},error:function(){showImportFolderAlert("提示:出现意外错误,无法开始上传")}})}else showImportFolderAlert("提示:您未选择任何文件夹,无法开始上传");else showImportFolderAlert("提示:另一项上传文件或文件夹的任务尚未完成,无法开始上传")}function showImportFolderAlert(a){isImporting=!1,$("#folderpath").attr("disabled",!1),$("#importFolderLevelBtn").attr("disabled",!1),$("#importFolderAlert").show(),$("#importFolderAlert").text(a),$("#importbutton").attr("disabled",!1)}function importProgress(a){if(a.lengthComputable){var b=Math.round(100*a.loaded/a.total);$("#importpros").width(b+"%"),$("#importpros").attr("aria-valuenow",""+b)}}function importAndCover(){$("#selectFolderImportModelAlert").hide(),$.ajax({url:"homeController/deleteFolderByName.ajax",type:"POST",data:{parentId:locationpath,folderName:importFolderName},dataType:"text",success:function(a){"deleteSuccess"==a?iteratorImport(0):showImportFolderAlert("提示:无法覆盖原文件夹,上传失败")},error:function(){showImportFolderAlert("提示:无法覆盖原文件夹,上传失败")}})}function importAndBoth(){$("#selectFolderImportModelAlert").hide();var fc=$("#folderpath").attr("folderConstraintLevel");$.ajax({url:"homeController/createNewFolderByName.ajax",type:"POST",data:{parentId:locationpath,folderName:importFolderName,folderConstraint:fc},dataType:"text",success:function(result){var resJson=eval("("+result+")");"success"==resJson.result?iteratorImport(0,resJson.newName):showImportFolderAlert("提示:生成新文件夹名称失败,无法开始上传")},error:function(){showImportFolderAlert("提示:生成新文件夹名称失败,无法开始上传")}})}function iteratorImport(a,b){var c,d,e,f,g;$("#importpros").width("0%"),$("#importpros").attr("aria-valuenow","0"),c=ifs[a],d=ifs.length,e=$("#folderpath").attr("folderConstraintLevel"),null!=c?(f=c.webkitRelativePath,d>1&&$("#importcount").text("("+(a+1)+"/"+d+")"),$("#importstatus").prepend(""+f+"[正在上传...]
"),xhr=new XMLHttpRequest,g=new FormData,g.append("file",c),g.append("folderId",locationpath),g.append("folderConstraint",e),b&&g.append("newFolderName",b),xhr.open("POST","homeController/doImportFolder.ajax",!0),xhr.upload.addEventListener("progress",importProgress,!1),xhr.send(g),null==pingInt&&(pingInt=setInterval("ping()",6e4)),xhr.onloadend=function(){var c,e;null!=pingInt&&(window.clearInterval(pingInt),pingInt=null),200===xhr.status?(c=xhr.responseText,"uploadsuccess"==c?($("#ils_"+a).text("[已完成]"),e=a+1,d>e?iteratorImport(e,b):(isImporting=!1,$("#folderpath").removeAttr("disabled"),$("#importFolderLevelBtn").removeAttr("disabled"),$("#importfolder").val(""),$("#folderpath").val(""),$("#importpros").width("0%"),$("#importpros").attr("aria-valuenow","0"),$("#importbutton").attr("disabled",!1),$("#importcount").text(""),$("#importstatus").text(""),$("#importFolderModal").modal("hide"),showFolderView(locationpath))):"uploaderror"==c?(showImportFolderAlert("提示:出现意外错误,文件:["+f+"]上传失败,上传被中断。"),$("#ils_"+a).text("[失败]")):(showImportFolderAlert("提示:出现意外错误,文件:["+f+"]上传失败,上传被中断。"),$("#ils_"+a).text("[失败]"))):(showImportFolderAlert("提示:出现意外错误,文件:["+f+"]上传失败,上传被中断。"),$("#ils_"+a).text("[失败]"))}):(showImportFolderAlert("提示:要上传的文件不存在。"),$("#importstatus").prepend("未找到要上传的文件[失败]
"))}function abortImport(){isImporting=!1,null!=xhr&&xhr.abort(),$("#importFolderModal").modal("hide"),showFolderView(locationpath)}function changeImportFolderType(a){$("#importfoldertype").text(folderTypes[a]),$("#folderpath").attr("folderConstraintLevel",a+"")}var ap,zipTimer,folderView,originFolderView,fs,ifs,checkedMovefiles,constraintLevel,account,importFolderName,xhr,viewer,viewerPageIndex,viewerTotal,pvl,winHeight,pingInt,folderTypes,repeList,repeIndex,repeModelList,repeMap,strMoveOptMap,mRepeSize,screenedFoldrView,getDownloadFileId,getDownloadFileName,locationpath="root",parentpath="null",isUpLoading=!1,isImporting=!1,viewerPageSize=15,checkFilesTip="提示:您还未选择任何文件,请先选中一些文件后再执行本操作:
单击:选中某一文件
Shift+单击:选中多个文件
Shift+双击:选中连续的文件
Shitf+A:选中/取消选中所有文件";$(function(){window.onresize=function(){changeFilesTableStyle()},getServerOS();var a=document.cookie.match(new RegExp("(^| )folder_id=([^;]*)(;|$)"));null!=a?showFolderView(unescape(a[2])):showFolderView("root"),$(document).click(function(a){var b=$("#filetable")[0],c=a.srcElement;c||(c=a.target),c===b||$.contains(b,a.target)||$(".filerow").removeClass("info")}),$("#audioPlayerModal").on("hidden.bs.modal",function(){null!=ap&&(ap.seek(0),ap.pause()),null!=pingInt&&(window.clearInterval(pingInt),pingInt=null)}),$("#downloadAllCheckedModal").on("hidden.bs.modal",function(){null!=zipTimer&&window.clearInterval(zipTimer)}),$("#loginModal").on("hidden.bs.modal",function(){$("#accountid").val(""),$("#accountpwd").val(""),$("#accountidbox").removeClass("has-error"),$("#accountpwdbox").removeClass("has-error"),$("#alertbox").removeClass("alert"),$("#alertbox").removeClass("alert-danger"),$("#alertbox").text(""),$("#vercodebox").html(""),$("#vercodebox").removeClass("show"),$("#vercodebox").addClass("hidden")}),$(".modal").on("shown.bs.modal",function(){$(this).addClass("shown")}),$(".modal").on("hidden.bs.modal",function(){$(this).removeClass("shown")}),$("body").keypress(function(a){var c,b=a.keyCode?a.keyCode:a.which?a.which:a.charCode;return 13==b?("sreachKeyWordIn"===document.activeElement.id?doSearchFile():(c=$(".shown .btn-primary"),null!=c.get(0)&&c.click()),!1):void 0}),$("#loginModal").on("shown.bs.modal",function(){$("#accountid").focus()}),$("#newFolderModal").on("show.bs.modal",function(){if($("#folderalert").removeClass("alert"),$("#folderalert").removeClass("alert-danger"),$("#foldernamebox").removeClass("has-error"),$("#folderalert").text(""),$("#foldername").val(""),$("#foldertypelist").html(""),null!=account){$("#foldername").attr("folderConstraintLevel",constraintLevel+""),$("#newfoldertype").text(folderTypes[constraintLevel]);for(var b=constraintLevel;b"+folderTypes[b]+"")}else $("#foldertypelist").append(""+folderTypes[0]+"")}),$("#newFolderModal").on("shown.bs.modal",function(){$("#foldername").focus()}),$("#uploadFileModal,#importFolderModal").on("hidden.bs.modal",function(){(isUpLoading||isImporting)&&($("#operationMenuBox").attr("data-placement","top"),$("#operationMenuBox").attr("data-trigger","focus"),$("#operationMenuBox").attr("data-title","上传中"),$("#operationMenuBox").attr("data-content","您可以重新打开上传窗口查看上传进度。"),$("#operationMenuBox").popover(),$("#operationMenuBox").popover("show"),setTimeout(function(){$("#operationMenuBox").attr("data-title",""),$("#operationMenuBox").attr("data-content",""),$("#operationMenuBox").popover("destroy")},2e3))}),$("#renameFolderModal").on("show.bs.modal",function(){if($("#editfolderalert").removeClass("alert"),$("#editfolderalert").removeClass("alert-danger"),$("#folderrenamebox").removeClass("has-error"),$("#editfolderalert").text(""),$("#editfoldertypelist").html(""),null!=account)for(var b=constraintLevel;b"+folderTypes[b]+"");else $("#editfoldertypelist").append(""+folderTypes[0]+"")}),document.ondragover=function(a){a.preventDefault?(a.preventDefault(),a.stopPropagation()):(window.event.cancelBubble=!0,window.event.returnValue=!1)},document.ondrop=function(a){var b,c,d,e,f,g;if(a.preventDefault?(a.preventDefault(),a.stopPropagation()):(window.event.cancelBubble=!0,window.event.returnValue=!1),null!=folderView.authList)if(checkAuth(folderView.authList,"U"))if(isUpLoading||isImporting)alert("提示:您正在执行另一项上传任务,请在上传窗口关闭后再试。");else if(window.ActiveXObject||"ActiveXObject"in window)alert("提示:IE浏览器不支持拖拽上传。您可以使用现代浏览器或将浏览模式切换为“极速模式”来体验该功能。");else{if(b=null!=a.dataTransfer?a.dataTransfer:window.event.dataTransfer,c=!0,void 0!==b.items)for(d=0;d+C"),$("#cutSignTx").removeClass("cuted"),$("#moveFilesBox").html("")}),"function"!=typeof String.prototype.startsWith&&(String.prototype.startsWith=function(a){return this.slice(0,a.length)===a}),"function"!=typeof String.prototype.endsWith&&(String.prototype.endsWith=function(a){return-1!==this.indexOf(a,this.length-a.length)}),$("#folderInfoModal").on("show.bs.modal",function(){var b=folderView.folder;$("#fim_name").text(b.folderName),$("#fim_creator").text(b.folderCreator),$("#fim_folderCreationDate").text(b.folderCreationDate),$("#fim_statistics").text("共包含 "+folderView.folderList.length+" 个文件夹, "+folderView.fileList.length+" 个文件。"),$("#fim_folderId").text(b.folderId)}),$("#downloadModal").on("hidden.bs.modal",function(){$("#downloadURLCollapse").collapse("hide")}),window.innerHeight?winHeight=window.innerHeight:document.body&&document.body.clientHeight&&(winHeight=document.body.clientHeight),$(window).scroll(function(){$(this).scrollTop()>2*winHeight?$("#gobacktotopbox").removeClass("hidden"):$("#gobacktotopbox").addClass("hidden")}),$("#downloadURLCollapse").on("shown.bs.collapse",function(){getDownloadURL()})}),folderTypes=["公开的","仅小组","仅创建者"];
\ No newline at end of file
+function changeFilesTableStyle(){var a=$(window).width();800>a?($("#filetableheadera").addClass("filetableheaderstyle"),$(".hiddenColumn").hide(),$(".rightbtn").hide(),$("#vicetbbox").show(),$("#filetableoptmenusreach").hide()):($("#filetableheadera").removeClass("filetableheaderstyle"),$(".hiddenColumn").show(),$(".rightbtn").show(),$("#vicetbbox").hide(),$("#filetableoptmenusreach").show()),768>a?($("#filetableheadera").attr("data-toggle","collapse"),$("#filetableheadera").attr("data-target","#filetableoptmenu"),$("#mdropdownicon").html("(点击展开/折叠菜单)")):($("#filetableheadera").attr("data-toggle","modal"),$("#filetableheadera").attr("data-target","#folderInfoModal"),$("#mdropdownicon").html(""))}function doAlert(){alert("错误:无法连接到kiftd服务器,请检查您的网络连接或查看服务器运行状态。")}function getServerOS(){$.ajax({type:"POST",dataType:"text",data:{},url:"homeController/getServerOS.ajax",success:function(a){return"mustLogin"==a?(window.location.href="prv/login.html",void 0):($("#serverOS").text(a),void 0)},error:function(){$("#serverOS").html("获取失败,点击重试")}})}function showFolderView(fid,targetId){startLoading(),$.ajax({type:"POST",dataType:"text",data:{fid:fid},url:"homeController/getFolderView.ajax",success:function(result){endLoading(),"ERROR"==result?(doAlert(),$("#tb").html("获取失败,请尝试刷新"),$("#publishTime").html("获取失败,请尝试刷新"),$("#parentlistbox").html("获取失败,请尝试刷新")):"mustLogin"==result?window.location.href="prv/login.html":"NOT_FOUND"==result?(document.cookie="folder_id="+escape("root"),window.location.href="/"):"notAccess"==result?(document.cookie="folder_id="+escape("root"),window.location.href="/"):(folderView=eval("("+result+")"),locationpath=folderView.folder.folderId,document.cookie="folder_id="+escape(locationpath),parentpath=folderView.folder.folderParent,constraintLevel=folderView.folder.folderConstraint,screenedFoldrView=null,$("#sreachKeyWordIn").val(""),showParentList(folderView),showAccountView(folderView),showPublishTime(folderView),originFolderView=$.extend(!0,{},folderView),$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),showFolderTable(folderView),null!=targetId&&targetId.length>0&&($("#"+targetId).addClass("info"),$("html,body").animate({scrollTop:$("#"+targetId).offset().top-$(window).height()/2},"slow")))},error:function(){endLoading(),doAlert(),$("#tb").html("获取失败,请尝试刷新"),$("#publishTime").html("获取失败,请尝试刷新"),$("#parentlistbox").html("获取失败,请尝试刷新")}})}function startLoading(){$("#loadingModal").modal({backdrop:"static",keyboard:!1}),$("#loadingModal").modal("show"),$("#loadingModal").addClass("shown")}function endLoading(){$("#loadingModal").modal("hide"),$("#loadingModal").removeClass("shown")}function startLogin(){$("#accountid").attr("disabled","disabled"),$("#accountpwd").attr("disabled","disabled"),$("#dologinButton").attr("disabled","disabled")}function finishLogin(){$("#accountid").removeAttr("disabled","disabled"),$("#accountpwd").removeAttr("disabled","disabled"),$("#dologinButton").removeAttr("disabled","disabled")}function dologin(){var accountId=$("#accountid").val(),accountPwd=$("#accountpwd").val(),check="y";0==accountId.length?($("#accountidbox").addClass("has-error"),check="n"):$("#accountidbox").removeClass("has-error"),0==accountPwd.length?($("#accountpwdbox").addClass("has-error"),check="n"):$("#accountpwdbox").removeClass("has-error"),"y"==check&&(startLogin(),$.ajax({url:"homeController/getPublicKey.ajax",type:"POST",data:{},dataType:"text",success:function(result){var encrypted,publicKeyInfo=eval("("+result+")"),date=new Date,loginInfo='{accountId:"'+accountId+'",accountPwd:"'+accountPwd+'",time:"'+publicKeyInfo.time+'"}',encrypt=new JSEncrypt;encrypt.setPublicKey(publicKeyInfo.publicKey),encrypted=encrypt.encrypt(loginInfo),sendLoginInfo(encrypted)},error:function(){finishLogin(),$("#alertbox").addClass("alert"),$("#alertbox").addClass("alert-danger"),$("#alertbox").text("提示:登录请求失败,请检查网络或服务器运行状态")}}))}function sendLoginInfo(a){$.ajax({type:"POST",dataType:"text",url:"homeController/doLogin.ajax",data:{encrypted:a,vercode:$("#vercode").val()},success:function(a){switch(finishLogin(),$("#alertbox").removeClass("alert"),$("#alertbox").removeClass("alert-danger"),$("#alertbox").text(""),$("#vercodebox").html(""),$("#vercodebox").removeClass("show"),$("#vercodebox").addClass("hidden"),a){case"permitlogin":$("#accountidbox").removeClass("has-error"),$("#accountpwdbox").removeClass("has-error"),$("#loginModal").modal("hide"),showFolderView(locationpath);break;case"accountnotfound":$("#accountidbox").addClass("has-error"),$("#accountpwdbox").removeClass("has-error"),$("#alertbox").addClass("alert"),$("#alertbox").addClass("alert-danger"),$("#alertbox").text("提示:登录失败,账户不存在或未设置");break;case"accountpwderror":$("#accountpwdbox").addClass("has-error"),$("#accountidbox").removeClass("has-error"),$("#alertbox").addClass("alert"),$("#alertbox").addClass("alert-danger"),$("#alertbox").text("提示:登录失败,密码错误或未设置");break;case"needsubmitvercode":$("#vercodebox").html(""),$("#vercodebox").removeClass("hidden"),$("#vercodebox").addClass("show");break;case"error":$("#alertbox").addClass("alert"),$("#alertbox").addClass("alert-danger"),$("#alertbox").text("提示:登录失败,登录请求无法通过加密效验(可能是请求耗时过长导致的)");break;default:$("#alertbox").addClass("alert"),$("#alertbox").addClass("alert-danger"),$("#alertbox").text("提示:无法登录,未知错误")}},error:function(){finishLogin(),$("#alertbox").addClass("alert"),$("#alertbox").addClass("alert-danger"),$("#alertbox").text("提示:登录请求失败,请检查网络或服务器运行状态")}})}function getNewVerCode(){$("#showvercode").attr("src","homeController/getNewVerCode.do?s="+(new Date).getTime())}function dologout(){$("#logoutModal").modal("hide"),$.ajax({url:"homeController/doLogout.ajax",type:"POST",data:{},dataType:"text",success:function(a){"SUCCESS"==a&&showFolderView(locationpath)},error:function(){doAlert()}})}function showParentList(a){$("#parentFolderList").html("");var b=a.folder;a.parentList.length>0?$.each(a.parentList,function(a,b){$("#parentFolderList").append(""+b.folderName+"")}):$("#parentFolderList").html("无"),b.folderName.length>6?$("#currentFolderName").text(b.folderName.substr(0,6)+"..."):$("#currentFolderName").text(b.folderName),"ROOT"==b.folderName?($("#folderIconSpan").removeClass("glyphicon-folder-close"),$("#folderIconSpan").removeClass("glyphicon-search"),$("#folderIconSpan").addClass("glyphicon-home")):null!=a.keyWorld?($("#folderIconSpan").removeClass("glyphicon-folder-close"),$("#folderIconSpan").removeClass("glyphicon-home"),$("#folderIconSpan").addClass("glyphicon-search")):($("#folderIconSpan").removeClass("glyphicon-home"),$("#folderIconSpan").removeClass("glyphicon-search"),$("#folderIconSpan").addClass("glyphicon-folder-close"))}function showAccountView(a){$("#tb,#tb2").html(""),account=a.account,null!=a.account?($("#tb").append("注销 ["+a.account+"] "),$("#tb2").append("注销 ["+a.account+"] "),"true"==a.allowChangePassword&&($("#tb").append(" 修改密码 "),$("#tb2").append(" 修改密码 "))):($("#tb").append("登入 "),$("#tb2").append("登入 "),"true"==a.allowSignUp&&($("#tb").append(" 立即注册 "),$("#tb2").append(" 立即注册 ")));var b=a.authList;$("#fileListDropDown li").addClass("disabled"),$("#fileListDropDown li a").attr("onclick",""),$("#fileListDropDown li a").attr("href","javascript:void(0);"),null!=b&&(checkAuth(b,"C")&&($("#createFolderButtonLi").removeClass("disabled"),$("#createFolderButtonLi a").attr("onclick","showNewFolderModel()")),checkAuth(b,"U")&&($("#uploadFileButtonLi").removeClass("disabled"),$("#uploadFileButtonLi a").attr("onclick","showUploadFileModel()"),checkAuth(b,"C")&&isSupportWebkitdirectory()&&($("#uploadFolderButtonLi").removeClass("disabled"),$("#uploadFolderButtonLi a").attr("onclick","showUploadFolderModel()"))),checkAuth(b,"L")?$("#packageDownloadBox").html(" 打包下载"):$("#packageDownloadBox").html(""),checkAuth(b,"D")&&($("#deleteSeelectFileButtonLi").removeClass("disabled"),$("#deleteSeelectFileButtonLi a").attr("onclick","showDeleteAllCheckedModel()")),checkAuth(b,"M")&&($("#cutFileButtonLi").removeClass("disabled"),$("#cutFileButtonLi a").attr("onclick","startMoveFile()"),void 0!==checkedMovefiles&&checkedMovefiles.length>0&&($("#cutSignTx").text("粘贴("+checkedMovefiles.length+")"),$("#cutSignTx").addClass("cuted"))))}function checkAuth(a,b){var c=!1;return $.each(a,function(a,d){d==b&&(c=!0)}),c}function showPublishTime(a){$("#publishTime").html("");var b="";b=null!=a.publishTime?a.publishTime:"--",$("#publishTime").text(b)}function refreshFolderView(){null!=locationpath&&locationpath.length>0?showFolderView(locationpath):showFolderView("root")}function returnPF(){null!=parentpath&&"null"!=parentpath?showFolderView(parentpath):showFolderView("root")}function showFolderTable(a){var b,c,d,e,f,g,h,i,j,k,l,m;for($("#foldertable").html(""),null!=parentpath&&"null"!=parentpath&&$("#foldertable").append("../ | -- | -- | -- | -- |
"),b=a.authList,c=!1,d=!1,e=!1,f=!1,checkAuth(b,"D")&&(c=!0),checkAuth(b,"R")&&(d=!0),checkAuth(b,"L")&&(e=!0),checkAuth(b,"O")&&(f=!0),g=a.folderList.length;g>0;g--)h=a.folderList[g-1],h.folderName=h.folderName.replace("'","'").replace("<","<").replace(">",">"),i="/"+h.folderName+" | "+h.folderCreationDate+" | -- | "+h.folderCreator+" | ",c&&(i=i+" 删除"),d&&(i=i+" 编辑"),f&&(i=i+" 定位"),d||c||f||(i+="--"),i+=" |
",$("#foldertable").append(i);for(j=a.fileList.length;j>0;j--){if(k=a.fileList[j-1],k.fileName=k.fileName.replace("'","'").replace("<","<").replace(">",">"),l=""+k.fileName+" | "+k.fileCreationDate+" | ","0"==k.fileSize?l+="<1MB | ":l=l+""+k.fileSize+"MB | ",l=l+""+k.fileCreator+" | ",e)switch(l=l+" 下载",m=getSuffix(k.fileName)){case"mp4":case"webm":case"mov":case"avi":case"wmv":case"mkv":case"flv":l=l+" 播放";break;case"pdf":l=l+" 预览";break;case"jpg":case"jpeg":case"gif":case"png":case"bmp":l=l+" 查看";break;case"mp3":case"wav":case"ogg":l=l+" 播放";break;case"docx":l=l+" 预览";break;case"txt":l=l+" 预览";break;case"ppt":case"pptx":l=l+" 预览"}c&&(l=l+" 删除"),d&&(l=l+" 重命名"),f&&(l=l+" 定位"),e&&"true"==a.showFileChain&&(l=l+" 链接"),d||c||e||f||(l+="--"),l+=" |
",$("#foldertable").append(l)}changeFilesTableStyle()}function showNewFolderModel(){$("#newFolderModal").modal("show")}function changeNewFolderType(a){$("#newfoldertype").text(folderTypes[a]),$("#foldername").attr("folderConstraintLevel",a+"")}function createfolder(){var a=$("#foldername").val(),b=$("#foldername").attr("folderConstraintLevel"),c=new RegExp('[/|\\\\*\\<\\>\\?\\:\\&\\$"]+',"g");0==a.length?showFolderAlert("提示:文件夹名称不能为空。"):a.length>128?showFolderAlert("提示:文件夹名称太长。"):c.test(a)||0==a.indexOf(".")?showFolderAlert("提示:文件夹名中不应含有:引号 / * | < > & $ : ? 且不能以“.”开头。"):($("#folderalert").removeClass("alert"),$("#folderalert").removeClass("alert-danger"),$("#foldernamebox").removeClass("has-error"),$("#folderalert").text(""),$.ajax({type:"POST",dataType:"text",data:{parentId:locationpath,folderName:a,folderConstraint:b},url:"homeController/newFolder.ajax",success:function(a){"mustLogin"==a?window.location.href="prv/login.html":"noAuthorized"==a?showFolderAlert("提示:您的操作未被授权,创建文件夹失败。"):"errorParameter"==a?showFolderAlert("提示:参数不正确,创建文件夹失败。"):"cannotCreateFolder"==a?showFolderAlert("提示:出现意外错误,可能未能创建文件夹。"):"nameOccupied"==a?showFolderAlert("提示:该名称已被占用,请选取其他名称。"):"createFolderSuccess"==a?($("#newFolderModal").modal("hide"),showFolderView(locationpath)):($("#newFolderModal").modal("hide"),showFolderView(locationpath))},error:function(){showFolderAlert("提示:出现意外错误,可能未能创建文件夹")}}))}function showFolderAlert(a){$("#folderalert").addClass("alert"),$("#folderalert").addClass("alert-danger"),$("#foldernamebox").addClass("has-error"),$("#folderalert").text(a)}function entryFolder(a){showFolderView(a)}function showDeleteFolderModel(a,b){$("#deleteFolderBox").html("删除"),$("#dmbutton").attr("disabled",!1),$("#deleteFolderMessage").text("提示:确定要彻底删除文件夹:["+b+"]及其全部内容么?该操作不可恢复"),$("#deleteFolderModal").modal("toggle")}function deleteFolder(a){$("#dmbutton").attr("disabled",!0),$("#deleteFolderMessage").text("提示:正在删除,请稍候..."),$.ajax({type:"POST",dataType:"text",data:{folderId:a},url:"homeController/deleteFolder.ajax",success:function(a){"mustLogin"==a?window.location.href="prv/login.html":"noAuthorized"==a?($("#deleteFolderMessage").text("提示:您的操作未被授权,删除文件夹失败"),$("#dmbutton").attr("disabled",!1)):"errorParameter"==a?($("#deleteFolderMessage").text("提示:参数不正确,删除文件夹失败"),$("#dmbutton").attr("disabled",!1)):"cannotDeleteFolder"==a?($("#deleteFolderMessage").text("提示:出现意外错误,可能未能删除文件夹"),$("#dmbutton").attr("disabled",!1)):"deleteFolderSuccess"==a?($("#deleteFolderModal").modal("hide"),showFolderView(locationpath)):($("#deleteFolderMessage").text("提示:出现意外错误,可能未能删除文件夹"),$("#dmbutton").attr("disabled",!1))},error:function(){$("#deleteFolderMessage").text("提示:出现意外错误,可能未能删除文件夹"),$("#dmbutton").attr("disabled",!1)}})}function showRenameFolderModel(a,b,c){$("#renameFolderBox").html("修改"),$("#newfoldername").val(b),changeEditFolderType(c),$("#renameFolderModal").modal("show")}function changeEditFolderType(a){$("#editfoldertype").text(folderTypes[a]),$("#newfoldername").attr("folderConstraintLevel",a+"")}function renameFolder(a){var b=$("#newfoldername").val(),c=$("#newfoldername").attr("folderConstraintLevel"),d=new RegExp('[/|\\\\*\\<\\>\\?\\:\\&\\$"]+',"g");0==b.length?showRFolderAlert("提示:文件夹名称不能为空。"):b.length>128?showRFolderAlert("提示:文件夹名称太长。"):d.test(b)||0==b.indexOf(".")?showRFolderAlert("提示:文件夹名中不应含有:引号 / * | < > & $ : ? 且不能以“.”开头。"):($("#newfolderalert").removeClass("alert"),$("#newfolderalert").removeClass("alert-danger"),$("#folderrenamebox").removeClass("has-error"),$("#newfolderalert").text(""),$.ajax({type:"POST",dataType:"text",data:{folderId:a,newName:b,folderConstraint:c},url:"homeController/renameFolder.ajax",success:function(a){"mustLogin"==a?window.location.href="prv/login.html":"noAuthorized"==a?showRFolderAlert("提示:您的操作未被授权,编辑失败。"):"errorParameter"==a?showRFolderAlert("提示:参数不正确,编辑失败,请刷新后重试。"):"nameOccupied"==a?showRFolderAlert("提示:该名称已被占用,请选取其他名称。"):"renameFolderSuccess"==a?($("#renameFolderModal").modal("hide"),showFolderView(locationpath)):showRFolderAlert("提示:出现意外错误,可能未能编辑文件夹,请刷新后重试。")},error:function(){showRFolderAlert("提示:出现意外错误,可能未能编辑文件夹,请刷新后重试。")}}))}function showRFolderAlert(a){$("#editfolderalert").addClass("alert"),$("#editfolderalert").addClass("alert-danger"),$("#folderrenamebox").addClass("has-error"),$("#editfolderalert").text(a)}function showUploadFileModel(){$("#uploadFileAlert").hide(),$("#uploadFileAlert").text(""),0==isUpLoading&&($("#filepath").removeAttr("disabled"),$("#uploadfile").val(""),$("#filepath").val(""),$("#pros").width("0%"),$("#pros").attr("aria-valuenow","0"),$("#umbutton").attr("disabled",!1),$("#filecount").text(""),$("#uploadstatus").html(""),$("#selectcount").text(""),$("#selectFileUpLoadModelAsAll").removeAttr("checked"),$("#selectFileUpLoadModelAlert").hide()),$("#uploadFileModal").modal("show")}function checkpath(){$("#uploadfile").click()}function getInputUpload(){fs=$("#uploadfile").get(0).files,showfilepath()}function showfilepath(){var b,a="";for(b=0;b0){for($("#filepath").attr("disabled","disabled"),$("#umbutton").attr("disabled",!0),isUpLoading=!0,repeModelList=null,$("#uploadFileAlert").hide(),$("#uploadFileAlert").text(""),filenames=new Array,maxSize=0,maxFileIndex=0,i=0;imaxSize&&(maxSize=fs[i].size,maxFileIndex=i);namelist=JSON.stringify(filenames),$.ajax({type:"POST",dataType:"text",data:{folderId:locationpath,namelist:namelist,maxSize:maxSize,maxFileIndex:maxFileIndex},url:"homeController/checkUploadFile.ajax",success:function(result){if("mustLogin"==result)window.location.href="prv/login.html";else if("errorParameter"==result)showUploadFileAlert("提示:参数不正确,无法开始上传");else if("noAuthorized"==result)showUploadFileAlert("提示:您的操作未被授权,无法开始上传");else{var resp=eval("("+result+")");"fileTooLarge"==resp.checkResult?showUploadFileAlert("提示:文件["+resp.overSizeFile+"]的体积超过最大限制("+resp.maxUploadFileSize+"),无法开始上传"):"hasExistsNames"==resp.checkResult?(repeList=resp.pereFileNameList,repeIndex=0,selectFileUpLoadModelStart()):"permitUpload"==resp.checkResult?doupload(1):showUploadFileAlert("提示:出现意外错误,无法开始上传")}},error:function(){showUploadFileAlert("提示:出现意外错误,无法开始上传")}})}else showUploadFileAlert("提示:您未选择任何文件,无法开始上传");else showUploadFileAlert("提示:另一项上传文件或文件夹的任务尚未完成,无法开始上传")}function selectFileUpLoadModelStart(){var a=originFolderView.authList;checkAuth(a,"D")?$("#uploadcoverbtn").show():$("#uploadcoverbtn").hide(),$("#selectFileUpLoadModelAlert").show(),$("#repeFileName").text(repeList[repeIndex])}function selectFileUpLoadModelEnd(a){if(null==repeModelList&&(repeModelList={}),repeModelList[$("#repeFileName").text()]=a,$("#selectFileUpLoadModelAlert").hide(),$("#selectFileUpLoadModelAsAll").prop("checked")){for(var b=repeIndex;b1&&$("#filecount").text("("+a+"/"+b+")"),$("#uploadstatus").prepend(""+d+"[正在上传...]
"),xhr=new XMLHttpRequest,e=new FormData,e.append("file",c),e.append("folderId",locationpath),null!=repeModelList&&null!=repeModelList[d]){if("skip"==repeModelList[d])return $("#uls_"+a).text("[已完成]"),b>a?(doupload(a+1),void 0):(isUpLoading=!1,$("#filepath").removeAttr("disabled"),$("#uploadfile").val(""),$("#filepath").val(""),$("#pros").width("0%"),$("#pros").attr("aria-valuenow","0"),$("#umbutton").attr("disabled",!1),$("#filecount").text(""),$("#uploadstatus").text(""),$("#selectcount").text(""),$("#uploadFileModal").modal("hide"),showFolderView(locationpath),void 0);e.append("repeType",repeModelList[d])}xhr.open("POST","homeController/douploadFile.ajax",!0),xhr.upload.addEventListener("progress",uploadProgress,!1),xhr.send(e),null==pingInt&&(pingInt=setInterval("ping()",6e4)),xhr.onloadend=function(){if(null!=pingInt&&(window.clearInterval(pingInt),pingInt=null),200===xhr.status){var c=xhr.responseText;"uploadsuccess"==c?($("#uls_"+a).text("[已完成]"),b>a?doupload(a+1):(isUpLoading=!1,$("#filepath").removeAttr("disabled"),$("#uploadfile").val(""),$("#filepath").val(""),$("#pros").width("0%"),$("#pros").attr("aria-valuenow","0"),$("#umbutton").attr("disabled",!1),$("#filecount").text(""),$("#uploadstatus").text(""),$("#selectcount").text(""),$("#uploadFileModal").modal("hide"),showFolderView(locationpath))):"uploaderror"==c?(showUploadFileAlert("提示:出现意外错误,文件:["+d+"]上传失败,上传被中断。"),$("#uls_"+a).text("[失败]")):(showUploadFileAlert("提示:出现意外错误,文件:["+d+"]上传失败,上传被中断。"),$("#uls_"+a).text("[失败]"))}else showUploadFileAlert("提示:出现意外错误,文件:["+d+"]上传失败,上传被中断。"),$("#uls_"+a).text("[失败]")}}else showUploadFileAlert("提示:要上传的文件不存在。"),$("#uploadstatus").prepend("未找到要上传的文件[失败]
")}function uploadProgress(a){if(a.lengthComputable){var b=Math.round(100*a.loaded/a.total);$("#pros").width(b+"%"),$("#pros").attr("aria-valuenow",""+b)}}function showUploadFileAlert(a){isUpLoading=!1,$("#filepath").removeAttr("disabled"),$("#uploadFileAlert").show(),$("#uploadFileAlert").text(a),$("#umbutton").attr("disabled",!1)}function abortUpload(){isUpLoading=!1,null!=xhr&&xhr.abort(),$("#uploadFileModal").modal("hide"),showFolderView(locationpath)}function showDownloadModel(a,b){$("#downloadFileName").text("提示:您确认要下载文件:["+b+"]么?"),$("#downloadHrefBox").html("正在生成..."),getDownloadFileId=a,getDownloadFileName=b.replace("#","%23").replace("%","%25").replace("?","%3F"),$("#downloadFileBox").html("开始下载"),$("#dlmbutton").attr("disabled",!1),$("#downloadModal").modal("show")}function dodownload(a){$("#dlmbutton").attr("disabled",!0),$("#downloadFileName").text("提示:准备开始下载,请稍候..."),setTimeout("$('#downloadModal').modal('hide');",800),window.location.href="homeController/downloadFile.do?fileId="+a}function showDeleteFileModel(a,b){$("#deleteFileBox").html("删除"),$("#dfmbutton").attr("disabled",!1),$("#deleteFileMessage").text("提示:确定要彻底删除文件:["+b+"]么?该操作不可恢复"),$("#deleteFileModal").modal("toggle")}function deleteFile(a){$("#dfmbutton").attr("disabled",!0),$("#deleteFileMessage").text("提示:正在删除,请稍候..."),$.ajax({type:"POST",dataType:"text",data:{fileId:a},url:"homeController/deleteFile.ajax",success:function(a){"mustLogin"==a?window.location.href="prv/login.html":"noAuthorized"==a?($("#deleteFileMessage").text("提示:您的操作未被授权,删除失败"),$("#dfmbutton").attr("disabled",!1)):"errorParameter"==a?($("#deleteFileMessage").text("提示:参数不正确,删除失败"),$("#dfmbutton").attr("disabled",!1)):"cannotDeleteFile"==a?($("#deleteFileMessage").text("提示:出现意外错误,可能未能删除文件"),$("#dfmbutton").attr("disabled",!1)):"deleteFileSuccess"==a?($("#deleteFileModal").modal("hide"),showFolderView(locationpath)):($("#deleteFileMessage").text("提示:出现意外错误,可能未能删除文件"),$("#dfmbutton").attr("disabled",!1))},error:function(){$("#deleteFileMessage").text("提示:出现意外错误,可能未能删除文件"),$("#dfmbutton").attr("disabled",!1)}})}function showRenameFileModel(a,b){$("#newFileNamealert").removeClass("alert"),$("#newFileNamealert").removeClass("alert-danger"),$("#filerenamebox").removeClass("has-error"),$("#newFileNamealert").text(""),$("#renameFileBox").html("修改"),$("#newfilename").val(b),$("#renameFileModal").modal("toggle")}function renameFile(a){var b=new RegExp('[/|\\\\*\\<\\>\\?\\:\\&\\$"]+',"g"),c=$("#newfilename").val();c.length>0?c.length<128?b.test(c)||0==c.indexOf(".")?showRFileAlert("提示:文件名中不应含有:引号 / * | < > & $ : ? 且不能以“.”开头。"):$.ajax({type:"POST",dataType:"text",data:{fileId:a,newFileName:c},url:"homeController/renameFile.ajax",success:function(a){"mustLogin"==a?window.location.href="prv/login.html":"cannotRenameFile"==a?showRFileAlert("提示:出现意外错误,可能未能重命名文件,请刷新后重试。"):"renameFileSuccess"==a?($("#renameFileModal").modal("hide"),showFolderView(locationpath)):"errorParameter"==a?showRFileAlert("提示:参数错误,重命名失败,请刷新后重试。"):"nameOccupied"==a?showRFileAlert("提示:该名称已被占用,请选取其他名称。"):"noAuthorized"==a?showRFileAlert("提示:您的操作未被授权,重命名失败,请刷新后重试。"):showRFileAlert("提示:出现意外错误,可能未能重命名文件,请刷新后重试。")},error:function(){showRFileAlert("提示:出现意外错误,可能未能重命名文件。")}}):showRFileAlert("提示:文件名称太长。"):showRFileAlert("提示:文件名不能为空。")}function showRFileAlert(a){$("#newFileNamealert").addClass("alert"),$("#newFileNamealert").addClass("alert-danger"),$("#filerenamebox").addClass("has-error"),$("#newFileNamealert").text(a)}function getSuffix(a){var b=a.lastIndexOf("."),c=a.length,d=a.substring(b+1,c);return d.toLowerCase()}function playVideo(a){window.open("quickview/video.html?fileId="+a)}function pdfView(a){window.open("/pdfview/web/viewer.html?file=/fileblocks/"+a)}function docxView(a){window.open("/pdfview/web/viewer.html?file=/resourceController/getWordView/"+a)}function txtView(a){window.open("/pdfview/web/viewer.html?file=/resourceController/getTxtView/"+a)}function pptView(a){window.open("/pdfview/web/viewer.html?file=/resourceController/getPPTView/"+a)}function showPicture(fileId){$.ajax({url:"homeController/getPrePicture.ajax",data:{fileId:fileId},type:"POST",dataType:"text",success:function(result){if("ERROR"!=result)if(pvl=eval("("+result+")"),pvl.pictureViewList.length<=viewerPageSize)createViewList();else{viewerPageIndex=Math.ceil((pvl.index+1)/viewerPageSize),viewerTotal=Math.ceil(pvl.pictureViewList.length/viewerPageSize),createViewListByPage();var innerIndex=pvl.index-(viewerPageIndex-1)*viewerPageSize;viewerPageIndex>1&&innerIndex++,viewer.viewer("view",innerIndex),viewer.viewer("show",!0)}else alert("错误:无法定位要预览的文件或该操作未被授权。")},error:function(){alert("错误:请求失败,请刷新重试。")}})}function createViewList(){var a,b;if(null==viewer){for(a=document.createElement("ul"),b=0;b
"):$(a).append("
");viewer=$(a),viewer.viewer({loop:!1,hidden:function(){viewer.data("viewer").destroy(),viewer=null}})}viewer.viewer("view",pvl.index),viewer.viewer("show",!0)}function createViewListByPage(){var a,b,c;if(null==viewer){for(a=document.createElement("ul"),b=(viewerPageIndex-1)*viewerPageSize,viewerPageIndex>1&&$(a).append("
"),c=0;viewerPageSize>c&&c
"):$(a).append("
");viewerTotal>viewerPageIndex&&$(a).append("
"),viewer=$(a),viewer.viewer({loop:!1,view:function(a){0==a.detail.index&&1!=viewerPageIndex?(viewerPageIndex--,viewer.data("viewer").destroy(),viewer.empty(),viewer=null,createViewListByPage(),viewerPageIndex>1?viewer.viewer("view",viewerPageSize):viewer.viewer("view",viewerPageSize-1)):(a.detail.index==viewerPageSize+1||a.detail.index==viewerPageSize&&1==viewerPageIndex)&&(viewerPageIndex++,viewer.data("viewer").destroy(),viewer.empty(),viewer=null,createViewListByPage(),viewer.viewer("view",1))},hidden:function(){viewer.data("viewer").destroy(),viewer.empty(),viewer=null}})}}function isShift(a){var b=window.event||a;return b.shiftKey?!0:!1}function checkfile(a,b){isShift(a)?$("#"+b).hasClass("info")?$("#"+b).removeClass("info"):$("#"+b).addClass("info"):($(".filerow").removeClass("info"),$("#"+b).addClass("info"))}function checkConsFile(a,b){var c,d,e;if(isShift(a)&&(c=$("#"+b),d=c.index(),e=$(".filerow.info:last").index(),-1!=e))if(d>e)for(;c[0]&&!c.hasClass("info");)c.addClass("info"),c=c.prev();else for(;c[0]&&!c.hasClass("info");)c.addClass("info"),c=c.next()}function getCheckedFilesAndFolders(){var b,c,d,e,a=new Object;for(a.size=0,b=new Array,c=new Array,d=$(".info").get(),e=0;e开始下载"),$("#dclmbutton").attr("disabled",!1)),$("#downloadAllCheckedModal").modal("toggle")}function downloadAllChecked(){$("#dclmbutton").attr("disabled",!0);var a=getCheckedFilesAndFolders();$("#downloadAllCheckedName").text("提示:服务器正在对选中资源进行压缩(共"+a.size+"项),这可能需要一些时间(文件越大耗时越长),压缩完成将自动开始下载。"),$.ajax({url:"homeController/getPackTime.ajax",type:"POST",data:{strIdList:a.filesId,strFidList:a.foldersId},dataType:"text",success:function(a){var b;"0"!=a?(b=0,$("#downloadAllCheckedLoad").text("已耗时:"+b+"秒(预计耗时:"+a+")"),zipTimer=setInterval(function(){b++,$("#downloadAllCheckedLoad").text("已耗时:"+b+"秒(预计耗时:"+a+")")},1e3)):(b=0,$("#downloadAllCheckedLoad").text("已耗时:"+b+"秒"),zipTimer=setInterval(function(){b++,$("#downloadAllCheckedLoad").text("已耗时:"+b+"秒")},1e3))},error:function(){$("#downloadAllCheckedLoad").text("(无法获取预计耗时)")}}),$.ajax({type:"POST",url:"homeController/downloadCheckedFiles.ajax",data:{strIdList:a.filesId,strFidList:a.foldersId},dataType:"text",success:function(a){var c,d;null!=zipTimer&&window.clearInterval(zipTimer),"ERROR"==a?$("#downloadAllCheckedName").text("提示:压缩过程出错。无法完成压缩,请重试或告知管理员。"):($("#downloadAllCheckedLoad").text(""),$("#downloadAllCheckedName").text("提示:压缩完成!准备开始下载..."),setTimeout("$('#downloadAllCheckedModal').modal('hide');",800),c=document.createElement("form"),c.action="homeController/downloadCheckedFilesZip.do",c.method="post",c.style.display="none",d=document.createElement("input"),d.name="zipId",d.value=a,c.appendChild(d),document.body.appendChild(c),c.submit())},error:function(){$("#downloadAllCheckedName").text("提示:请求失败。无法完成压缩,请重试或告知管理员。")}})}function showDeleteAllCheckedModel(){$("#deleteFileBox").html("");var a=getCheckedFilesAndFolders();$("#dfmbutton").attr("disabled",!1),0==a.size?$("#deleteFileMessage").html(checkFilesTip):($("#deleteFileBox").html("全部删除"),$("#deleteFileMessage").text("提示:确定要彻底删除这"+a.size+"项么?该操作不可恢复!")),$("#deleteFileModal").modal("toggle")}function deleteAllChecked(){var a=getCheckedFilesAndFolders();$("#dfmbutton").attr("disabled",!0),$("#deleteFileMessage").text("提示:正在删除,请稍候..."),$.ajax({type:"POST",dataType:"text",data:{strIdList:a.filesId,strFidList:a.foldersId},url:"homeController/deleteCheckedFiles.ajax",success:function(a){"mustLogin"==a?window.location.href="prv/login.html":"noAuthorized"==a?($("#deleteFileMessage").text("提示:您的操作未被授权,删除失败"),$("#dfmbutton").attr("disabled",!1)):"errorParameter"==a?($("#deleteFileMessage").text("提示:参数不正确,未能全部删除文件"),$("#dfmbutton").attr("disabled",!1)):"cannotDeleteFile"==a?($("#deleteFileMessage").text("提示:出现意外错误,可能未能删除全部文件"),$("#dfmbutton").attr("disabled",!1)):"deleteFileSuccess"==a?($("#deleteFileModal").modal("hide"),showFolderView(locationpath)):($("#deleteFileMessage").text("提示:出现意外错误,可能未能删除全部文件"),$("#dfmbutton").attr("disabled",!1))},error:function(){$("#deleteFileMessage").text("提示:出现意外错误,可能未能删除全部文件"),$("#dfmbutton").attr("disabled",!1)}})}function playAudio(fileId){$("#audioPlayerModal").modal("show"),null==pingInt&&(pingInt=setInterval("ping()",6e4)),null==ap&&(ap=new APlayer({container:document.getElementById("aplayer"),lrcType:3,mutex:!0,volume:.7,theme:"#EDEDED",audio:[]}),ap.on("pause",function(){$("#playOrPause").html("")}),ap.on("play",function(){$("#playOrPause").html("")})),ap.list.clear(),$.ajax({url:"homeController/playAudios.ajax",data:{fileId:fileId},type:"POST",dataType:"text",success:function(result){var i,ail=eval("("+result+")");for(i=0;i",">");ap.list.add(ail.as),ap.list.switch(ail.index),audio_play()},error:function(){alert("错误:无法获取音乐列表,请稍后再试"),closeAudioPlayer()}})}function closeAudioPlayer(){$("#audioPlayerModal").modal("hide")}function audio_playOrPause(){ap.toggle()}function audio_play(){ap.play()}function audio_pasue(){ap.pause()}function audio_fw(){ap.skipForward()}function audio_bw(){ap.skipBack()}function audio_vulome_up(){ap.volume(ap.audio.volume+.1,!0)}function audio_vulome_down(){ap.volume(ap.audio.volume-.1,!0)}function sortbyfn(){$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass();var a=1;$("#sortByFN").hasClass("glyphicon-triangle-bottom")?($("#sortByFN").removeClass(),$("#sortByFN").addClass("glyphicon glyphicon-triangle-top"),a=-1):($("#sortByFN").removeClass(),$("#sortByFN").addClass("glyphicon glyphicon-triangle-bottom")),folderView.fileList.sort(function(b,c){return a*c.fileName.localeCompare(b.fileName,"zh")}),folderView.folderList.sort(function(b,c){return a*c.folderName.localeCompare(b.folderName,"zh")}),showFolderTable(folderView)}function sortbycd(){$("#sortByFN").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass();var a=1;$("#sortByCD").hasClass("glyphicon-triangle-bottom")?($("#sortByCD").removeClass(),$("#sortByCD").addClass("glyphicon glyphicon-triangle-top"),a=-1):($("#sortByCD").removeClass(),$("#sortByCD").addClass("glyphicon glyphicon-triangle-bottom")),folderView.fileList.sort(function(b,c){var d=b.fileCreationDate.replace("年","-").replace("月","-").replace("日",""),e=c.fileCreationDate.replace("年","-").replace("月","-").replace("日",""),f=new Date(Date.parse(d)).getTime()-new Date(Date.parse(e)).getTime();return a*f}),folderView.folderList.sort(function(b,c){var d=b.folderCreationDate.replace("年","-").replace("月","-").replace("日",""),e=c.folderCreationDate.replace("年","-").replace("月","-").replace("日",""),f=new Date(Date.parse(d)).getTime()-new Date(Date.parse(e)).getTime();return a*f}),showFolderTable(folderView)}function sortbyfs(){$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByCN").removeClass(),$("#sortByFS").hasClass("glyphicon-triangle-bottom")?($("#sortByFS").removeClass(),$("#sortByFS").addClass("glyphicon glyphicon-triangle-top"),folderView.fileList.sort(function(a,b){return b.fileSize-a.fileSize})):($("#sortByFS").removeClass(),$("#sortByFS").addClass("glyphicon glyphicon-triangle-bottom"),folderView.fileList.sort(function(a,b){return a.fileSize-b.fileSize})),showFolderTable(folderView)}function sortbycn(){$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass();var a=1;$("#sortByCN").hasClass("glyphicon-triangle-bottom")?($("#sortByCN").removeClass(),$("#sortByCN").addClass("glyphicon glyphicon-triangle-top"),a=-1):($("#sortByCN").removeClass(),$("#sortByCN").addClass("glyphicon glyphicon-triangle-bottom")),folderView.fileList.sort(function(b,c){return a*c.fileCreator.localeCompare(b.fileCreator,"zh")}),folderView.folderList.sort(function(b,c){return a*c.folderCreator.localeCompare(b.folderCreator,"zh")}),showFolderTable(folderView)}function showOriginFolderView(){$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),folderView=null!=screenedFoldrView?$.extend(!0,{},screenedFoldrView):$.extend(!0,{},originFolderView),showFolderTable(folderView)}function startMoveFile(){$("#cutSignTx").hasClass("cuted")&&void 0!==checkedMovefiles?($("#moveFilesMessage").text("提示:确定将这"+checkedMovefiles.size+"项移动到当前位置么?"),$("#moveFilesBox").html("全部移动"),$("#selectFileMoveModelAsAll").removeAttr("checked"),$("#selectFileMoveModelAlert").hide(),$("#moveFilesModal").modal("show")):(checkedMovefiles=getCheckedFilesAndFolders(),void 0==checkedMovefiles||0==checkedMovefiles.size?($("#moveFilesMessage").html(checkFilesTip),$("#selectFileMoveModelAsAll").removeAttr("checked"),$("#selectFileMoveModelAlert").hide(),$("#moveFilesModal").modal("show")):($("#cutSignTx").html("粘贴("+checkedMovefiles.size+")+V"),$("#cutSignTx").addClass("cuted")))}function doMoveFiles(){$("#dmvfbutton").attr("disabled",!0),$("#moveFilesMessage").text("提示:正在移动,请稍候..."),$.ajax({type:"POST",dataType:"text",data:{strIdList:checkedMovefiles.filesId,strFidList:checkedMovefiles.foldersId,locationpath:locationpath},url:"homeController/confirmMoveFiles.ajax",success:function(result){if("mustLogin"==result)window.location.href="prv/login.html";else if("noAuthorized"==result)$("#moveFilesMessage").text("提示:您的操作未被授权,移动失败"),$("#dmvfbutton").attr("disabled",!1);else if("errorParameter"==result)$("#moveFilesMessage").text("提示:参数不正确,未能全部移动文件,请刷新后重试"),$("#dmvfbutton").attr("disabled",!1);else if("cannotMoveFiles"==result)$("#moveFilesMessage").text("提示:出现意外错误,可能未能移动全部文件,请刷新后重试"),$("#dmvfbutton").attr("disabled",!1);else if("confirmMoveFiles"==result)strMoveOptMap={},sendMoveFilesReq();else if(result.startsWith("duplicationFileName:")){repeMap=eval("("+result.substring(20)+")"),repeIndex=0,strMoveOptMap={},mRepeSize=repeMap.repeFolders.length+repeMap.repeNodes.length,repeMap.repeFolders.length>0?$("#mrepeFileName").text(repeMap.repeFolders[repeIndex].folderName):$("#mrepeFileName").text(repeMap.repeNodes[repeIndex].fileName);var authList=originFolderView.authList;checkAuth(authList,"D")?$("#movecoverbtn").show():$("#movecoverbtn").hide(),$("#selectFileMoveModelAlert").show()}else result.startsWith("CANT_MOVE_TO_INSIDE:")?$("#moveFilesMessage").text("错误:不能将一个文件夹移动到其自身内部:"+result.substring(20)):($("#moveFilesMessage").text("提示:出现意外错误,可能未能移动全部文件,请刷新后重试"),$("#dmvfbutton").attr("disabled",!1))},error:function(){$("#moveFilesMessage").text("提示:出现意外错误,可能未能移动全部文件"),$("#dmvfbutton").attr("disabled",!1)}})}function selectFileMoveModel(a){if($("#selectFileMoveModelAsAll").prop("checked")){for(;mRepeSize>repeIndex;)repeIndexrepeIndex?repeIndexc;c++)b.test(originFolderView.folderList[c].folderName)&&screenedFoldrView.folderList.push(originFolderView.folderList[c]);for(c=0,d=originFolderView.fileList.length;d>c;c++)b.test(originFolderView.fileList[c].fileName)&&screenedFoldrView.fileList.push(originFolderView.fileList[c]);$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),folderView=$.extend(!0,{},screenedFoldrView),showFolderTable(folderView)}catch(e){alert("错误:搜索关键字有误。请在特殊符号(例如“*”)前加上“\\”进行转义。")}}function selectInCompletePath(keyworld){return 0==keyworld.length?(showFolderView(locationpath),void 0):(startLoading(),$.ajax({type:"POST",dataType:"text",data:{fid:locationpath,keyworld:keyworld},url:"homeController/sreachInCompletePath.ajax",success:function(result){endLoading(),"ERROR"==result?(doAlert(),$("#tb").html("获取失败,请尝试刷新"),$("#publishTime").html("获取失败,请尝试刷新"),$("#parentlistbox").html("获取失败,请尝试刷新")):"mustLogin"==result?window.location.href="prv/login.html":"notAccess"==result?(document.cookie="folder_id="+escape("root"),window.location.href="/"):(folderView=eval("("+result+")"),locationpath=folderView.folder.folderId,parentpath=folderView.folder.folderParent,constraintLevel=folderView.folder.folderConstraint,screenedFoldrView=null,$("#sreachKeyWordIn").val("all:"+folderView.keyWorld),showParentList(folderView),showAccountView(folderView),showPublishTime(folderView),originFolderView=$.extend(!0,{},folderView),$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),showFolderTable(folderView))},error:function(){endLoading(),doAlert(),$("#tb").html("获取失败,请尝试刷新"),$("#publishTime").html("获取失败,请尝试刷新"),$("#parentlistbox").html("获取失败,请尝试刷新")}}),void 0)}function goBackToTop(){$("html,body").animate({scrollTop:0},"slow")}function getDownloadURL(){$.ajax({url:"externalLinksController/getDownloadKey.ajax",type:"POST",dataType:"text",data:{fId:getDownloadFileId},success:function(a){$("#downloadHrefBox").html(""+window.location.protocol+"//"+window.location.host+"/externalLinksController/downloadFileByKey/"+getDownloadFileName+"?dkey="+a+"")},error:function(){$("#downloadHrefBox").html("获取失败,请检查网络状态或点此重新获取。")}})}function ping(){$.ajax({url:"homeController/ping.ajax",type:"POST",dataType:"text",data:{},success:function(a){"pong"!=a&&null!=pingInt&&(window.clearInterval(pingInt),pingInt=null)},error:function(){null!=pingInt&&(window.clearInterval(pingInt),pingInt=null)}})}function isSupportWebkitdirectory(){var a=document.createElement("input");return"webkitdirectory"in a&&!/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)?!0:!1}function showUploadFolderModel(){if($("#importFolderAlert").hide(),$("#importFolderAlert").text(""),0==isImporting)if($("#folderpath").val(""),$("#importfolder").val(""),$("#importpros").width("0%"),$("#importpros").attr("aria-valuenow","0"),$("#importstatus").html(""),$("#folderpath").attr("disabled",!1),$("#importFolderLevelBtn").attr("disabled",!1),$("#importcount").text(""),$("#importbutton").attr("disabled",!1),$("#importfoldertypelist").html(""),$("#selectFolderImportModelAlert").hide(),null!=account){$("#folderpath").attr("folderConstraintLevel",constraintLevel+""),$("#importfoldertype").text(folderTypes[constraintLevel]);for(var a=constraintLevel;a"+folderTypes[a]+"")}else $("#importfoldertypelist").append(""+folderTypes[0]+"");$("#importFolderModal").modal("show")}function checkimportpath(){$("#importfolder").click()}function getInputImport(){ifs=$("#importfolder")[0].files,ifs.length>0&&(importFolderName=ifs[0].webkitRelativePath.substring(0,ifs[0].webkitRelativePath.indexOf("/")),$("#folderpath").val(importFolderName))}function checkImportFolder(){var maxSize,maxFileIndex,i;if(0==isUpLoading&&0==isImporting)if(null!=ifs&&ifs.length>0){for($("#folderpath").attr("disabled",!0),$("#importFolderLevelBtn").attr("disabled",!0),$("#importbutton").attr("disabled",!0),$("#importFolderAlert").hide(),$("#importFolderAlert").text(""),isImporting=!0,maxSize=0,maxFileIndex=0,i=0;imaxSize&&(maxSize=ifs[i].size,maxFileIndex=i);$.ajax({url:"homeController/checkImportFolder.ajax",type:"POST",dataType:"text",data:{folderName:importFolderName,maxSize:maxSize,folderId:locationpath},success:function(result){var resJson=eval("("+result+")");switch(resJson.result){case"noAuthorized":showImportFolderAlert("提示:您的操作未被授权,无法开始上传");break;case"errorParameter":showImportFolderAlert("提示:参数不正确,无法开始上传");break;case"mustLogin":window.location.href="prv/login.html";break;case"fileOverSize":showImportFolderAlert("提示:文件["+ifs[maxFileIndex].webkitRelativePath+"]的体积超过最大限制("+resJson.maxSize+"),无法开始上传");break;case"repeatFolder_Both":$("#repeFolderName").text(importFolderName),$("#importcoverbtn").hide(),$("#selectFolderImportModelAlert").show();break;case"repeatFolder_coverOrBoth":$("#repeFolderName").text(importFolderName),$("#importcoverbtn").show(),$("#selectFolderImportModelAlert").show();break;case"permitUpload":iteratorImport(0);break;default:showImportFolderAlert("提示:出现意外错误,无法开始上传")}},error:function(){showImportFolderAlert("提示:出现意外错误,无法开始上传")}})}else showImportFolderAlert("提示:您未选择任何文件夹,无法开始上传");else showImportFolderAlert("提示:另一项上传文件或文件夹的任务尚未完成,无法开始上传")}function showImportFolderAlert(a){isImporting=!1,$("#folderpath").attr("disabled",!1),$("#importFolderLevelBtn").attr("disabled",!1),$("#importFolderAlert").show(),$("#importFolderAlert").text(a),$("#importbutton").attr("disabled",!1)}function importProgress(a){if(a.lengthComputable){var b=Math.round(100*a.loaded/a.total);$("#importpros").width(b+"%"),$("#importpros").attr("aria-valuenow",""+b)}}function importAndCover(){$("#selectFolderImportModelAlert").hide(),$.ajax({url:"homeController/deleteFolderByName.ajax",type:"POST",data:{parentId:locationpath,folderName:importFolderName},dataType:"text",success:function(a){"deleteSuccess"==a?iteratorImport(0):showImportFolderAlert("提示:无法覆盖原文件夹,上传失败")},error:function(){showImportFolderAlert("提示:无法覆盖原文件夹,上传失败")}})}function importAndBoth(){$("#selectFolderImportModelAlert").hide();var fc=$("#folderpath").attr("folderConstraintLevel");$.ajax({url:"homeController/createNewFolderByName.ajax",type:"POST",data:{parentId:locationpath,folderName:importFolderName,folderConstraint:fc},dataType:"text",success:function(result){var resJson=eval("("+result+")");"success"==resJson.result?iteratorImport(0,resJson.newName):showImportFolderAlert("提示:生成新文件夹名称失败,无法开始上传")},error:function(){showImportFolderAlert("提示:生成新文件夹名称失败,无法开始上传")}})}function iteratorImport(a,b){var c,d,e,f,g;$("#importpros").width("0%"),$("#importpros").attr("aria-valuenow","0"),c=ifs[a],d=ifs.length,e=$("#folderpath").attr("folderConstraintLevel"),null!=c?(f=c.webkitRelativePath,d>1&&$("#importcount").text("("+(a+1)+"/"+d+")"),$("#importstatus").prepend(""+f+"[正在上传...]
"),xhr=new XMLHttpRequest,g=new FormData,g.append("file",c),g.append("folderId",locationpath),g.append("folderConstraint",e),b&&g.append("newFolderName",b),xhr.open("POST","homeController/doImportFolder.ajax",!0),xhr.upload.addEventListener("progress",importProgress,!1),xhr.send(g),null==pingInt&&(pingInt=setInterval("ping()",6e4)),xhr.onloadend=function(){var c,e;null!=pingInt&&(window.clearInterval(pingInt),pingInt=null),200===xhr.status?(c=xhr.responseText,"uploadsuccess"==c?($("#ils_"+a).text("[已完成]"),e=a+1,d>e?iteratorImport(e,b):(isImporting=!1,$("#folderpath").removeAttr("disabled"),$("#importFolderLevelBtn").removeAttr("disabled"),$("#importfolder").val(""),$("#folderpath").val(""),$("#importpros").width("0%"),$("#importpros").attr("aria-valuenow","0"),$("#importbutton").attr("disabled",!1),$("#importcount").text(""),$("#importstatus").text(""),$("#importFolderModal").modal("hide"),showFolderView(locationpath))):"uploaderror"==c?(showImportFolderAlert("提示:出现意外错误,文件:["+f+"]上传失败,上传被中断。"),$("#ils_"+a).text("[失败]")):(showImportFolderAlert("提示:出现意外错误,文件:["+f+"]上传失败,上传被中断。"),$("#ils_"+a).text("[失败]"))):(showImportFolderAlert("提示:出现意外错误,文件:["+f+"]上传失败,上传被中断。"),$("#ils_"+a).text("[失败]"))}):(showImportFolderAlert("提示:要上传的文件不存在。"),$("#importstatus").prepend("未找到要上传的文件[失败]
"))}function abortImport(){isImporting=!1,null!=xhr&&xhr.abort(),$("#importFolderModal").modal("hide"),showFolderView(locationpath)}function changeImportFolderType(a){$("#importfoldertype").text(folderTypes[a]),$("#folderpath").attr("folderConstraintLevel",a+"")}function doChangePassword(){var change_oldPassword,change_newPassword,change_reqNewPassword;return $("#changepassword_oldepwdbox,#changepassword_newpwdbox,#changepassword_reqnewpwdbox").removeClass("has-error"),$("#changepasswordalertbox").hide(),change_oldPassword=$("#changepassword_oldpwd").val(),change_newPassword=$("#changepassword_newpwd").val(),change_reqNewPassword=$("#changepassword_reqnewpwd").val(),0==change_oldPassword.length?($("#changepassword_oldepwdbox").addClass("has-error"),$("#changepassword_oldpwd").focus(),void 0):0==change_newPassword.length?($("#changepassword_newpwdbox").addClass("has-error"),$("#changepassword_newpwd").focus(),void 0):0==change_reqNewPassword.length?($("#changepassword_reqnewpwdbox").addClass("has-error"),$("#changepassword_reqnewpwd").focus(),void 0):(isChangingPassword=!0,$("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd,#changePasswordButton,#changepassword_vercode").attr("disabled",!0),change_newPassword+""!=change_reqNewPassword+""?(showChangePasswordAlert("提示:两次输入的新密码不一致,请检查确认"),$("#changepassword_newpwdbox").addClass("has-error"),$("#changepassword_reqnewpwdbox").addClass("has-error"),void 0):($.ajax({url:"homeController/getPublicKey.ajax",type:"POST",data:{},dataType:"text",success:function(result){var encrypted,changepwd_publicKeyInfo=eval("("+result+")"),changePasswordInfo='{oldPwd:"'+change_oldPassword+'",newPwd:"'+change_newPassword+'",time:"'+changepwd_publicKeyInfo.time+'"}',encrypt=new JSEncrypt;encrypt.setPublicKey(changepwd_publicKeyInfo.publicKey),encrypted=encrypt.encrypt(changePasswordInfo),sendChangePasswordInfo(encrypted)},error:function(){showChangePasswordAlert("提示:密码修改失败,请检查网络链接或服务器运行状态")}}),void 0))}function sendChangePasswordInfo(a){$.ajax({type:"POST",dataType:"text",url:"homeController/doChangePassword.ajax",data:{encrypted:a,vercode:$("#changepassword_vercode").val()},success:function(a){switch($("#changepassword_vccodebox").hide(),isChangingPassword=!1,a){case"success":$("#changePasswordModal").modal("hide");break;case"mustlogin":showChangePasswordAlert("提示:登录已失效或尚未登录账户,请刷新并登陆账户");break;case"illegal":showChangePasswordAlert("提示:用户修改密码功能已被禁用,请求被拒绝");break;case"oldpwderror":showChangePasswordAlert("提示:旧密码输入错误,请求被拒绝"),$("#changepassword_oldepwdbox").addClass("has-error");break;case"needsubmitvercode":$("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd,#changePasswordButton").attr("disabled",!1),$("#changepassword_vccodebox").html(""),$("#changepassword_vccodebox").show(),isChangingPassword=!1;break;case"invalidnewpwd":showChangePasswordAlert("提示:密码修改失败,新密码不合法。新密码的长度需为3-32个字符,且仅支持ISO-8859-1中的字符(推荐使用英文字母、英文符号及阿拉伯数字)。");break;case"error":showChangePasswordAlert("提示:密码修改失败,修改请求无法通过加密效验(可能是请求耗时过长导致的)");break;case"cannotchangepwd":showChangePasswordAlert("提示:密码修改失败,发生意外错误,请稍后重试或联系管理员");break;default:showChangePasswordAlert("提示:密码修改失败,发生未知错误")}},error:function(){showChangePasswordAlert("提示:密码修改失败,请检查网络链接或服务器运行状态")}})}function showChangePasswordAlert(a){isChangingPassword=!1,$("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd,#changePasswordButton,#changepassword_vercode").attr("disabled",!1),$("#changepasswordalertbox").show(),$("#changepasswordalertbox").text(a)}function changePasswordGetNewVerCode(){$("#changepassword_showvercode").attr("src","homeController/getNewVerCode.do?s="+(new Date).getTime())}function getFileChain(a,b){$("#fileChainTextarea").text("正在获取……"),$("#copyChainBtn").attr("disabled",!0),$("#fileChainModal").modal("show"),$.ajax({type:"POST",dataType:"text",url:"homeController/getFileChainKey.ajax",data:{fid:a},success:function(a){switch(a){case"ERROR":$("#fileChainTextarea").text("提示:获取失败,请刷新页面或稍后再试。");break;case"mustlogin":window.location.href="prv/login.html";break;default:var c=b.replace("#","%23").replace("%","%25").replace("?","%3F");$("#fileChainTextarea").text(encodeURI(window.location.protocol+"//"+window.location.host+"/externalLinksController/chain/"+c+"?ckey=")+encodeURIComponent(a)),$("#copyChainBtn").attr("disabled",!1)}},error:function(){$("#fileChainTextarea").text("提示:获取失败,无法连接服务器。")}})}function copyFileChain(){if(node=document.getElementById("fileChainTextarea"),issafariBrowser=/Safari/.test(navigator.userAgent)&&!/Chrome/.test(navigator.userAgent))node.setSelectionRange(0,9999);else{const a=document.createRange();a.selectNode(node);const b=window.getSelection();b.rangeCount>0&&b.removeAllRanges(),b.addRange(a)}document.execCommand("copy")}var ap,zipTimer,folderView,originFolderView,fs,ifs,checkedMovefiles,constraintLevel,account,importFolderName,xhr,viewer,viewerPageIndex,viewerTotal,pvl,winHeight,pingInt,folderTypes,repeList,repeIndex,repeModelList,repeMap,strMoveOptMap,mRepeSize,screenedFoldrView,getDownloadFileId,getDownloadFileName,locationpath="root",parentpath="null",isUpLoading=!1,isImporting=!1,isChangingPassword=!1,viewerPageSize=15,checkFilesTip="提示:您还未选择任何文件,请先选中一些文件后再执行本操作:
单击:选中某一文件
Shift+单击:选中多个文件
Shift+双击:选中连续的文件
Shitf+A:选中/取消选中所有文件";$(function(){window.onresize=function(){changeFilesTableStyle()},getServerOS();var a=document.cookie.match(new RegExp("(^| )folder_id=([^;]*)(;|$)"));null!=a?showFolderView(unescape(a[2])):showFolderView("root"),$(document).click(function(a){var b=$("#filetable")[0],c=a.srcElement;c||(c=a.target),c===b||$.contains(b,a.target)||$(".filerow").removeClass("info")}),$("#audioPlayerModal").on("hidden.bs.modal",function(){null!=ap&&(ap.seek(0),ap.pause()),null!=pingInt&&(window.clearInterval(pingInt),pingInt=null)}),$("#downloadAllCheckedModal").on("hidden.bs.modal",function(){null!=zipTimer&&window.clearInterval(zipTimer)}),$("#loginModal").on("hidden.bs.modal",function(){$("#accountid").val(""),$("#accountpwd").val(""),$("#accountidbox").removeClass("has-error"),$("#accountpwdbox").removeClass("has-error"),$("#alertbox").removeClass("alert"),$("#alertbox").removeClass("alert-danger"),$("#alertbox").text(""),$("#vercodebox").html(""),$("#vercodebox").removeClass("show"),$("#vercodebox").addClass("hidden")}),$(".modal").on("shown.bs.modal",function(){$(this).addClass("shown")}),$(".modal").on("hidden.bs.modal",function(){$(this).removeClass("shown")}),$("body").keypress(function(a){var c,b=a.keyCode?a.keyCode:a.which?a.which:a.charCode;return 13==b?("sreachKeyWordIn"===document.activeElement.id?doSearchFile():(c=$(".shown .btn-primary"),null!=c.get(0)&&c.click()),!1):void 0}),$("#loginModal").on("shown.bs.modal",function(){$("#accountid").focus()}),$("#newFolderModal").on("show.bs.modal",function(){if($("#folderalert").removeClass("alert"),$("#folderalert").removeClass("alert-danger"),$("#foldernamebox").removeClass("has-error"),$("#folderalert").text(""),$("#foldername").val(""),$("#foldertypelist").html(""),null!=account){$("#foldername").attr("folderConstraintLevel",constraintLevel+""),$("#newfoldertype").text(folderTypes[constraintLevel]);for(var b=constraintLevel;b"+folderTypes[b]+"")}else $("#foldertypelist").append(""+folderTypes[0]+"")}),$("#newFolderModal").on("shown.bs.modal",function(){$("#foldername").focus()}),$("#uploadFileModal,#importFolderModal").on("hidden.bs.modal",function(){(isUpLoading||isImporting)&&($("#operationMenuBox").attr("data-placement","top"),$("#operationMenuBox").attr("data-trigger","focus"),$("#operationMenuBox").attr("data-title","上传中"),$("#operationMenuBox").attr("data-content","您可以重新打开上传窗口查看上传进度。"),$("#operationMenuBox").popover(),$("#operationMenuBox").popover("show"),setTimeout(function(){$("#operationMenuBox").attr("data-title",""),$("#operationMenuBox").attr("data-content",""),$("#operationMenuBox").popover("destroy")},2e3))}),$("#renameFolderModal").on("show.bs.modal",function(){if($("#editfolderalert").removeClass("alert"),$("#editfolderalert").removeClass("alert-danger"),$("#folderrenamebox").removeClass("has-error"),$("#editfolderalert").text(""),$("#editfoldertypelist").html(""),null!=account)for(var b=constraintLevel;b"+folderTypes[b]+"");else $("#editfoldertypelist").append(""+folderTypes[0]+"")}),document.ondragover=function(a){a.preventDefault?(a.preventDefault(),a.stopPropagation()):(window.event.cancelBubble=!0,window.event.returnValue=!1)},document.ondrop=function(a){var b,c,d,e,f,g;if(a.preventDefault?(a.preventDefault(),a.stopPropagation()):(window.event.cancelBubble=!0,window.event.returnValue=!1),null!=folderView.authList)if(checkAuth(folderView.authList,"U"))if(isUpLoading||isImporting)alert("提示:您正在执行另一项上传任务,请在上传窗口关闭后再试。");else if(window.ActiveXObject||"ActiveXObject"in window)alert("提示:IE浏览器不支持拖拽上传。您可以使用现代浏览器或将浏览模式切换为“极速模式”来体验该功能。");else{if(b=null!=a.dataTransfer?a.dataTransfer:window.event.dataTransfer,c=!0,void 0!==b.items)for(d=0;d+C"),$("#cutSignTx").removeClass("cuted"),$("#moveFilesBox").html("")}),"function"!=typeof String.prototype.startsWith&&(String.prototype.startsWith=function(a){return this.slice(0,a.length)===a}),"function"!=typeof String.prototype.endsWith&&(String.prototype.endsWith=function(a){return-1!==this.indexOf(a,this.length-a.length)}),$("#folderInfoModal").on("show.bs.modal",function(){var b=folderView.folder;$("#fim_name").text(b.folderName),$("#fim_creator").text(b.folderCreator),$("#fim_folderCreationDate").text(b.folderCreationDate),$("#fim_statistics").text("共包含 "+folderView.folderList.length+" 个文件夹, "+folderView.fileList.length+" 个文件。"),$("#fim_folderId").text(b.folderId)}),$("#downloadModal").on("hidden.bs.modal",function(){$("#downloadURLCollapse").collapse("hide")}),window.innerHeight?winHeight=window.innerHeight:document.body&&document.body.clientHeight&&(winHeight=document.body.clientHeight),$(window).scroll(function(){$(this).scrollTop()>2*winHeight?$("#gobacktotopbox").removeClass("hidden"):$("#gobacktotopbox").addClass("hidden")}),$("#downloadURLCollapse").on("shown.bs.collapse",function(){getDownloadURL()}),$("#changePasswordModal").on("show.bs.modal",function(){isChangingPassword||($("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd,#changePasswordButton,#changepassword_vercode").attr("disabled",!1),$("#changepassword_oldepwdbox,#changepassword_newpwdbox,#changepassword_reqnewpwdbox").removeClass("has-error"),$("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd").val(""),$("#changepasswordalertbox,#changepassword_vccodebox").hide())}),$("#changePasswordModal").on("shown.bs.modal",function(){isChangingPassword||$("#changepassword_oldpwd").focus()})}),folderTypes=["公开的","仅小组","仅创建者"];
\ No newline at end of file
diff --git a/webContext/js/login.js b/webContext/js/login.js
index 1162746d721911bd3994eefe2874dfea400e257c..91a21ac971c19b023ee847f182be2000a157fcf6 100644
--- a/webContext/js/login.js
+++ b/webContext/js/login.js
@@ -16,6 +16,23 @@ $(function() {
$("#vercodebox").addClass("hidden");
// 打开页面自动聚焦账户输入框
$("#accountid").focus();
+ // 询问是否可以显示注册按钮
+ $.ajax({
+ type : "POST",
+ dataType : "text",
+ data : {},
+ url : "homeController/askForAllowSignUpOrNot.ajax",
+ success : function(result) {
+ if (result == "true") {
+ $("#signupBox").removeClass("hidden");
+ $("#signupBox").addClass("show");
+ return;
+ }
+ },
+ error : function() {
+ alert("错误:无法连接到kiftd服务器,请检查您的网络连接或查看服务器运行状态。");
+ }
+ });
})
function dologin() {
@@ -78,7 +95,7 @@ function sendLoginInfo(encrypted) {
case "permitlogin":
$("#accountidbox").removeClass("has-error");
$("#accountpwdbox").removeClass("has-error");
- window.location.href = "home.html";
+ window.location.href = "/home.html";
break;
case "accountnotfound":
$("#accountidbox").addClass("has-error");
diff --git a/webContext/js/signup.js b/webContext/js/signup.js
new file mode 100644
index 0000000000000000000000000000000000000000..68e4dd453591fcfcd94a7d9d71c9ce94e581f0a7
--- /dev/null
+++ b/webContext/js/signup.js
@@ -0,0 +1,141 @@
+/**
+ * For signup.html
+ */
+$(function(){
+ // 回车键快捷操作
+ $("body").keypress(function(e) {
+ var keyCode = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;
+ if (keyCode == 13) {
+ var g = $("#signupBtn").click();
+ return false;
+ }
+ });
+ $("#accountid").focus();//再自动聚焦账户输入框
+})
+
+//获取一个新的验证码
+function getNewVerCode(){
+ $("#showvercode").attr("src","homeController/getNewVerCode.do?s="+(new Date()).getTime());
+}
+
+//执行注册过程
+function doSignUp(){
+ // 还原提示状态
+ $("#accountidbox,#accountpwdbox,#repaccountpwdbox").removeClass("has-error");
+ $("#alertbox").removeClass("show");
+ $("#alertbox").addClass("hidden");
+ var accountId = $("#accountid").val();
+ var accountPwd = $("#accountpwd").val();
+ var repAccountPwd = $("#repaccountpwd").val();
+ // 输入非空检查
+ if (accountId.length == 0) {
+ $("#accountidbox").addClass("has-error");
+ $("#accountid").focus();
+ return;
+ }
+ if (accountPwd.length == 0) {
+ $("#accountpwdbox").addClass("has-error");
+ $("#accountpwd").focus();
+ return;
+ }
+ if (repAccountPwd.length == 0) {
+ $("#repaccountpwdbox").addClass("has-error");
+ $("#repaccountpwd").focus();
+ return;
+ }
+ // 确认密码检查
+ $("#accountid,#accountpwd,#repaccountpwd,#signupBtn,#vercode").attr('disabled', true);
+ if (accountPwd+"" != repAccountPwd+"") {
+ showAlert("提示:两次输入的新密码不一致,请检查确认");
+ $("#accountpwdbox").addClass("has-error");
+ $("#repaccountpwdbox").addClass("has-error");
+ return;
+ }
+ // 以加密方式发送修改密码请求
+ $.ajax({
+ url : 'homeController/getPublicKey.ajax',
+ type : 'POST',
+ data : {},
+ dataType : 'text',
+ success : function(result) {
+ // 获取公钥
+ var signup_publicKeyInfo=eval("("+result+")");
+ // 生成JSON对象格式的信息
+ var signUpInfo = '{account:"' + accountId + '",pwd:"'
+ + accountPwd + '",time:"' + signup_publicKeyInfo.time + '"}';
+ var encrypt = new JSEncrypt();// 加密插件对象
+ encrypt.setPublicKey(signup_publicKeyInfo.publicKey);// 设置公钥
+ var encrypted = encrypt.encrypt(signUpInfo);// 进行加密
+ sendSignUpInfo(encrypted);
+ },
+ error : function() {
+ showAlert("提示:注册失败,请检查网络链接或服务器运行状态");
+ }
+ });
+}
+
+// 将加密数据发送至服务器并显示操作结果
+function sendSignUpInfo(encrypted){
+ $.ajax({
+ type : "POST",
+ dataType : "text",
+ url : "homeController/doSigUp.ajax",
+ data : {
+ encrypted : encrypted,
+ vercode : $("#vercode").val()
+ },
+ success : function(result) {
+ switch (result) {
+ case "success":
+ $("#accountidbox,#accountpwdbox,#repaccountpwdbox").removeClass("has-error");
+ window.location.href = "/home.html";
+ break;
+ case "illegal":
+ showAlert("提示:注册功能已被禁用,请求被拒绝");
+ break;
+ case "accountexists":
+ showAlert("提示:该账户名已存在,请使用其他账户名进行注册");
+ $("#accountidbox").addClass("has-error");
+ break;
+ case "needvercode":
+ $("#accountid,#accountpwd,#repaccountpwd,#signupBtn,#vercode").attr('disabled', false);
+ $("#vercodebox").removeClass("hidden");
+ $("#vercodebox").addClass("show");
+ getNewVerCode();
+ break;
+ case "invalidaccount":
+ showAlert("提示:注册失败,账户名不合法。账户名的长度需为3-32个字符,且仅支持ISO-8859-1中的字符(推荐使用英文字母、英文符号及阿拉伯数字)。");
+ $("#accountidbox").addClass("has-error");
+ break;
+ case "mustlogout":
+ showAlert("提示:您已经登入了一个账户,请先注销后再执行本操作");
+ break;
+ case "invalidpwd":
+ showAlert("提示:注册失败,密码格式不正确。密码的长度需为3-32个字符,且仅支持ISO-8859-1中的字符(推荐使用英文字母、英文符号及阿拉伯数字)。");
+ $("#accountpwdbox").addClass("has-error");
+ $("#repaccountpwdbox").addClass("has-error");
+ break;
+ case "error":
+ showAlert("提示:注册失败,注册请求无法通过加密效验(可能是请求耗时过长导致的)");
+ break;
+ case "cannotsignup":
+ showAlert("提示:注册失败,发生意外错误,请稍后重试或联系管理员");
+ break;
+ default:
+ showAlert("提示:注册失败,发生未知错误");
+ break;
+ }
+ },
+ error : function() {
+ showAlert("提示:注册失败,请检查网络链接或服务器运行状态");
+ }
+ });
+}
+
+// 显示修改密码错误提示
+function showAlert(txt) {
+ $("#accountid,#accountpwd,#repaccountpwd,#signupBtn,#vercode").attr('disabled', false);
+ $("#alertbox").removeClass("hidden");
+ $("#alertbox").addClass("show");
+ $("#alertbox").text(txt);
+}
\ No newline at end of file
diff --git a/webContext/prv/forbidden.html b/webContext/prv/forbidden.html
new file mode 100644
index 0000000000000000000000000000000000000000..8f143c67b4a08df30cb1ad0eb1006d4a0d5c2153
--- /dev/null
+++ b/webContext/prv/forbidden.html
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+KIFT
+
+
+
+
+
+
+
+
+
+
+
+
+ 青阳网络文件传输系统 KIFT
+
+
+
+
+
+
+
+
+ 错误:拒绝访问!
+
+
+ 您无权访问该服务器,请求已经被阻止。如有疑问请联系管理员。
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/webContext/prv/login.html b/webContext/prv/login.html
index def70a40a625899b710951d42077ad02b1ad421a..63e16d1d53767e5e0e3466794ea48e7cb7977717 100644
--- a/webContext/prv/login.html
+++ b/webContext/prv/login.html
@@ -66,6 +66,11 @@
+
+
+
diff --git a/webContext/prv/signup.html b/webContext/prv/signup.html
new file mode 100644
index 0000000000000000000000000000000000000000..ba7c487d622e06c50053300380847d561d0ac1cb
--- /dev/null
+++ b/webContext/prv/signup.html
@@ -0,0 +1,91 @@
+
+
+
+