//é var blockNewFolder = false; var pendingTask = false; $(function(){ $(document).ajaxStop(function() { $('.preloader').fadeOut(200); }); $(document).ajaxStart(function() { $('.preloader').show(); }); getFiles(); addedFiles = Array(); $('.tooltips').poshytip({ className: 'tooltip', showTimeout: 0, alignTo: 'target', alignX: 'center', offsetY: 10, allowTipHover: false }); imageExtension = Array(); imageExtensionRoot = 'tpl/UnderBlack/img/extension/'; imageExtensionMiniRoot = 'img/extension_mini/'; imageExtension['sql']='sql.png'; imageExtension['zip']='zip.png'; imageExtension['rar']='rar.png'; imageExtension['tar.gz']='archive.png'; imageExtension['7z']='zip.png'; imageExtension['gzip']='gzip.png'; imageExtension['php']='php.png'; imageExtension['py']='py.png'; imageExtension['jsp']='html.png'; imageExtension['html']='html.png'; imageExtension['htm']='html.png'; imageExtension['css']='css.png'; imageExtension['java']='java.png'; imageExtension['cpp']='cpp.png'; imageExtension['c']='c.png'; imageExtension['h']='h.png'; imageExtension['hpp']='hpp.png'; imageExtension['js']='js.png'; imageExtension['rss']='rss.png'; imageExtension['rb']='rb.png'; imageExtension['vcard']='authors.png'; imageExtension['exe']='exe.png'; imageExtension['deb']='package.png'; imageExtension['psd']='psd.png'; imageExtension['nfo']='readme.png'; imageExtension['csv']='calc.png'; imageExtension['xls']='calc.png'; imageExtension['xlsx']='calc.png'; imageExtension['ppt']='pres.png'; imageExtension['pptx']='pres.png'; imageExtension['doc']='doc.png'; imageExtension['odf']='doc.png'; imageExtension['docx']='doc.png'; imageExtension['otf']='doc.png'; imageExtension['rtf']='rtf.png'; imageExtension['txt']='txt.png'; imageExtension['log']='log.png'; imageExtension['src']='source.png'; imageExtension['tex']='tex.png'; imageExtension['bin']='bin.png'; imageExtension['cd']='cd.png'; imageExtension['sh']='script.png'; imageExtension['bash']='script.png'; imageExtension['bat']='script.png'; imageExtension['vcal']='vcal.png'; imageExtension['ical']='vcal.png'; imageExtension['mp3']='playlist.png'; imageExtension['avi']='playlist.png'; imageExtension['mp4']='video.png'; imageExtension['webm']='video.png'; imageExtension['wmv']='video.png'; imageExtension['mkv']='video.png'; imageExtension['rpm']='rpm.png'; imageExtension['tiff']='tiff.png'; imageExtension['jpg']='jpg.png'; imageExtension['jpeg']='jpg.png'; imageExtension['png']='png.png'; imageExtension['gif']='gif.png'; imageExtension['bmp']='bmp.png'; imageExtension['ico']='ico.png'; imageExtension['eps']='draw.png'; imageExtension['ai']='eps.png'; imageExtension['pdf']='pdf.png'; imageExtension['xml']='xml.png'; imageExtension['fla']='makefile.png'; imageExtension['swf']='makefile.png'; // var dropbox = $('.message'), // message = $('.message', dropbox); $(function () { $('#uploadButton').fileupload({ dataType: 'json', autoUpload: true, dropZone : '#uploadButton', maxFileSize: 5000000, sequentialUploads: true, add: function (e, data) { createImage(data.files[0]); pendingTask = true; data.submit(); }, done: function (e, data) { addedFiles.push({name:data.files[0].name,size:data.files[0].size,type:data.result.extension,path:data.result.filePath}); }, stop: function (e, data) { //enregistrement de l'evenement $.ajax({ url: "php/action.php?action=addEventForUpload", data:{files:array2json(addedFiles)} }); addedFiles = Array(); pendingTask = false; //rafraichissement du bousin getFiles(null,'//CURRENT'); }, progress: function (e, data) { var progress = parseInt(data.loaded / data.total * 100, 10); $.data(data.files[0]).find('.progress').width(progress+'%'); $.data(data.files[0]).find('.progressCount').html(progress+'%'); } }); }); var template = '
'+ ''+ ''+''+ ''+ ''+ '
'+ '
'+ '
'+ '
'; function createImage(file){ var preview = $(template), image = $('img', preview); fileName = $('.fileName', preview); image.width = 48; image.height = 48; var extension = file.name.split('.'); if(extension.length==1){ extension = null; }else{ extension = extension[extension.length-1]; } fileName.html(file.name); if(imageExtension[extension]!=null){ ext = imageExtensionRoot+imageExtension[extension] ; }else{ ext = imageExtensionRoot+'unknown.png'; } image.attr('src',ext); preview.appendTo($("#dropbox")); $.data(file,preview); } function showMessage(msg){ message.html(msg); } checkVersion(); }); function checkPendingTask(){ if(pendingTask){ alert('Certaines tâches sont encore en cours d\'execution, vous risquez de perdre des données.'); } } function generateBreadCrumb(folder){ returned = ''; if(folder!=null){ var dissolvedPath = explode('/',str_replace('../','',folder)); var path = '../'; for(i=0;i'+dissolvedPath[i]+''; } } } return returned; } function getFiles(keywords,folder){ if(!pendingTask){ if(keywords==null){keywords='';}else{keywords = "&keywords="+keywords} if(folder==null){folderVar='';}else{folderVar = "&folder="+folder} $.ajax({ url: "php/action.php?action=getFiles"+keywords+folderVar, success: function(returnedValue){ response = $.parseJSON(returnedValue); if(response.succes){ $('.breadcrumb').html(generateBreadCrumb(response.currentFolder)); t= response.status; $('#dropbox .preview,.tooltip').remove(); for(i=0;i'+stripslashes(file.url)+''+ '
x
'+ '
'+ ''+ '
    '+ '
  • '+file.size+'
  • '+ '
  • '+file.mtimeDate+' '+file.mtimeHour+'
  • '+ '
'+ '
'+ ''+stripslashes(file.shortname)+''+ '
'+ ''; }else if(file.type=='folder'){ var tpl = '
'+ '
'+stripslashes(file.url)+'
'+ ''; if(file.name!='..') tpl += '
x
'; tpl += ''+ ''+stripslashes(file.shortname)+''+ '
'; } $('#dropbox').append(tpl); } function zipFile(element){ var parent = $(element).parent().parent().parent().parent(); var file =$('.fileUrl',parent).html(); $.ajax({ url: "php/action.php?action=zipFile", data:{file:file}, success: function(response){ var response = $.parseJSON(response); if(response.succes==true){ window.location= './'+response.status; }else{ tell(response.status); } } }); } function publishFile(element){ var parent = $(element).parent().parent().parent().parent(); var file =$('.fileUrl',parent).html(); $.ajax({ url: "php/action.php?action=publishFile", data:{file:file}, success: function(response){ var response = $.parseJSON(response); if(response.succes==true){ $(element).attr('onclick','unpublishFile(this);'); $(element).parent().parent().parent().addClass('filePublished'); tell(response.status); }else{ tell(response.status); } } }); } function unpublishFile(element){ var parent = $(element).parent().parent().parent().parent(); var file =$('.fileUrl',parent).html(); $.ajax({ url: "php/action.php?action=unpublishFile", data:{file:file}, success: function(response){ var response = $.parseJSON(response); if(response.succes==true){ $(element).parent().parent().parent().removeClass('filePublished'); $(element).attr('onclick','publishFile(this);'); tell(response.status); }else{ tell(response.status); } } }); } function addFolder(){ if(!blockNewFolder){ blockNewFolder = true; $('.newFolder').hide(); $.ajax({ async:false, url: "php/action.php?action=addFolder", data:{name:$('input[name="folderName"]').val()}, success: function(response){ var response = $.parseJSON(response); if(response.succes){ getFiles(null,'//CURRENT'); $('.folderNameBloc').fadeOut(150); $('.folderNameBloc input').val(''); }else{ tell(response.status,3000); } } }); $('.newFolder').fadeIn(300); blockNewFolder = false; } } function deleteUser(message,id,tmpToken){ if(confirm(message))window.location="php/action.php?action=deleteUser&user="+id+"&tmpToken="+tmpToken; } function tell(message,time){ var fix = false; if(time==null)time = 3000; if(time==0)fix = true; var options = { position: 'top-right', timeout: time, sticky: fix }; message = ''+message; TINYPOP.show(message,options); } function openFile(element){ var parent = $(element).parent().parent(); var file = $('.fileUrl',parent).html(); window.location='./php/action.php?action=openFile&file='+file; } function focusFile(element){ var parent = $(element).parent().parent(); $('.imageHolder').css("color","#C9C9C9"); $('.imageHolder').css("font-weight","normal"); $('.imageHolder',parent).css("color","#ffffff"); $('.imageHolder',parent).css("font-weight","bold"); } function deleteFile(element){ if(confirm('Etes vous sûr de vouloir supprimer cet élement?')){ var parent = $(element).parent().parent(); var file =$('.fileUrl',parent).html(); file = file; $.ajax({ url: "php/action.php?action=deleteFiles", data:{file:file}, success: function(response){ var response = $.parseJSON(response); tell(response.status); if(response.succes)$(element).parent().parent().fadeOut(300); } }); } } function searchFiles(){ var keywords = $('input[name="search"]').val(); keywords = keywords.replace(' ',','); keywords = keywords.split(','); getFiles(keywords); } function renameFile(element){ var parent = $(element).parent(); file = $('.fileUrl',parent.parent()).html(); value = $('.fileName',parent).attr("title"); $('.fileName',parent).html(''); $('.fileName',parent).append(''); pressEnter('.fileNameArea',function(){ newValue = $('.fileNameArea',parent).val(); if(newValue!=value){ $.ajax({ url: "php/action.php?action=renameFile", data:{file:file,newName:newValue}, success: function(response){ var response = $.parseJSON(response); if(!response.succes){ tell(response.status); $('.fileName',parent).html(value); }else{ $('.fileName',parent).html(newValue); $('.fileName',parent).attr("title",newValue); $('.fileName',parent).attr("alt",newValue); $('.fileUrl',parent.parent()).html($('.fileUrl',parent.parent()).html().replace(value,newValue)); parent.poshytip('destroy'); parent.attr("title",newValue); parent.poshytip({ content:newValue, className: 'tooltip', showTimeout: 0, alignTo: 'target', alignX: 'center', offsetY: 10, allowTipHover: false }); } } }); }else{ $('.fileName',parent).html(value); } }); } function checkVersion(){ if(typeof(lastVersion) != 'undefined' && typeof(lastVersionNumber) != 'undefined' && typeof(lastVersionName) != 'undefined' && typeof(lastVersionUrl) != 'undefined'){ $.ajax({ url: "php/action.php?action=checkVersion", success: function(response){ if(responsedisponible ici.' if(typeof(specialMessage)!= 'undefined' && specialMessage!='') status = specialMessage; $('#versionBloc').html(status); $('#versionBloc').fadeIn(300); }}}); } } function pressEnter(input,func){ var testTextBox = $(input); var code =null; testTextBox.keypress(function(e) { code= (e.keyCode ? e.keyCode : e.which); if (code == 13) func(); // e.preventDefault(); }); } function getFileOption(elem){ $(".addOptions",$(elem).parent().parent()).slideToggle(200); } function explode(delimiter,string,limit){var emptyArray={0:''};if(arguments.length<2||typeof arguments[0]=='undefined'||typeof arguments[1]=='undefined'){return null;} if(delimiter===''||delimiter===false||delimiter===null){return false;} if(typeof delimiter=='function'||typeof delimiter=='object'||typeof string=='function'||typeof string=='object'){return emptyArray;} if(delimiter===true){delimiter='1';} if(!limit){return string.toString().split(delimiter.toString());} var splitted=string.toString().split(delimiter.toString());var partA=splitted.splice(0,limit-1);var partB=splitted.join(delimiter.toString());partA.push(partB);return partA;} function str_replace(search,replace,subject,count){var i=0,j=0,temp='',repl='',sl=0,fl=0,f=[].concat(search),r=[].concat(replace),s=subject,ra=Object.prototype.toString.call(r)==='[object Array]',sa=Object.prototype.toString.call(s)==='[object Array]';s=[].concat(s);if(count){this.window[count]=0;} for(i=0,sl=s.length;i