From b669c846b097b6f16d99191fb2ecfe0a408ea589 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sun, 15 Apr 2012 13:25:31 +0200 Subject: add span around fileactions --- files/js/fileactions.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'files/js') diff --git a/files/js/fileactions.js b/files/js/fileactions.js index 60c4fadedd0..93b0d97336e 100644 --- a/files/js/fileactions.js +++ b/files/js/fileactions.js @@ -59,6 +59,7 @@ FileActions={ if($('tr').filterAttr('data-file',file).data('renaming')){ return; } + parent.children('a.name').append(''); var defaultAction=FileActions.getDefault(FileActions.getCurrentMimeType(),FileActions.getCurrentType()); for(name in actions){ if((name=='Download' || actions[name]!=defaultAction) && name!='Delete'){ @@ -81,7 +82,7 @@ FileActions={ action(currentFile); }); element.hide(); - parent.children('a.name').append(element); + parent.find('a.name>span.fileactions').append(element); } } if(actions['Delete']){ @@ -113,7 +114,7 @@ FileActions={ return false; }, hide:function(){ - $('#fileList .action').fadeOut(200,function(){ + $('#fileList span.fileactions').fadeOut(200,function(){ $(this).remove(); }); }, -- cgit v1.2.3 From d32799e4bf48412d71222401dba84aaab47a75a7 Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Sun, 15 Apr 2012 13:28:11 +0200 Subject: show text for file actions --- files/css/files.css | 6 +++--- files/js/fileactions.js | 7 +++---- 2 files changed, 6 insertions(+), 7 deletions(-) (limited to 'files/js') diff --git a/files/css/files.css b/files/css/files.css index 9e950517b82..03945f030b2 100644 --- a/files/css/files.css +++ b/files/css/files.css @@ -60,7 +60,7 @@ table tr[data-type="dir"] td.filename a.name {font-weight:bold; } table td.filename a.name input, table td.filename a.name form { width:100%; cursor:text; } table td.filename a, table td.login, table td.logout, table td.download, table td.upload, table td.create, table td.delete { padding:.2em .5em .5em 0; } table td.filename .nametext, .modified { float:left; padding:.3em 0; } -table td.filename .nametext { width:60%; } +table td.filename .nametext { width:70%; overflow:hidden; } table td.filename form { float:left; font-size:.85em; } table thead.fixed tr{ position:fixed; top:6.5em; z-index:49; -moz-box-shadow:0 -3px 7px #ddd; -webkit-box-shadow:0 -3px 7px #ddd; box-shadow:0 -3px 7px #ddd; } table thead.fixed { height:2em; } @@ -70,8 +70,8 @@ table thead.fixed { height:2em; } #fileList tr td.filename { -webkit-transition:background-image 500ms; -moz-transition:background-image 500ms; -o-transition:background-image 500ms; transition:background-image 500ms; } #select_all { float:left; margin:.3em 0.6em 0 .5em; } #uploadsize-message,#delete-confirm { display:none; } -.selectedActions a,#fileList a.action { float:right; display:inline; margin:0 .5em; padding:.3em .3em 0 .3em !important; } -a.action>img{ max-height:16px; max-width:16px; } +.selectedActions a,#fileList a.action { display:inline; margin:0 .5em; padding:.3em .3em 0 .3em !important; } +a.action>img{ max-height:16px; max-width:16px; vertical-align:text-top; } .selectedActions { display:none; } /* add breadcrumb divider to the File item in navigation panel */ diff --git a/files/js/fileactions.js b/files/js/fileactions.js index 93b0d97336e..5c6dc65d49d 100644 --- a/files/js/fileactions.js +++ b/files/js/fileactions.js @@ -67,11 +67,10 @@ FileActions={ if(img.call){ img=img(file); } - var html=''; var element=$(html); - if(img){ - element.append($('')); - } element.data('action',name); element.click(function(event){ event.stopPropagation(); -- cgit v1.2.3 From 7ddd0434270fa1cc51769e812f257cf63b0ec92f Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Sun, 15 Apr 2012 13:32:45 +0200 Subject: renamed extention to extension, also now only showing lowercase --- apps/files_archive/lib/tar.php | 4 ++-- apps/files_encryption/lib/proxy.php | 4 ++-- apps/files_sharing/get.php | 2 +- apps/media/js/loader.js | 6 +++--- apps/media/js/music.js | 6 +++--- apps/media/lib_scanner.php | 2 +- core/js/js.js | 4 ++-- files/css/files.css | 6 +++--- files/index.php | 4 ++-- files/js/filelist.js | 10 +++++----- files/templates/part.list.php | 2 +- lib/filestorage/common.php | 12 ++++++------ lib/helper.php | 12 ++++++------ lib/mimetypes.list.php | 2 +- lib/template.php | 2 +- 15 files changed, 39 insertions(+), 39 deletions(-) (limited to 'files/js') diff --git a/apps/files_archive/lib/tar.php b/apps/files_archive/lib/tar.php index a5d54004788..1eed11a762d 100644 --- a/apps/files_archive/lib/tar.php +++ b/apps/files_archive/lib/tar.php @@ -30,8 +30,8 @@ class OC_Archive_TAR extends OC_Archive{ */ static public function getTarType($file){ if(strpos($file,'.')){ - $extention=substr($file,strrpos($file,'.')); - switch($extention){ + $extension=substr($file,strrpos($file,'.')); + switch($extension){ case 'gz': case 'tgz': return self::GZIP; diff --git a/apps/files_encryption/lib/proxy.php b/apps/files_encryption/lib/proxy.php index c1c26d7754f..c68df06f9fa 100644 --- a/apps/files_encryption/lib/proxy.php +++ b/apps/files_encryption/lib/proxy.php @@ -41,8 +41,8 @@ class OC_FileProxy_Encryption extends OC_FileProxy{ if(self::isEncrypted($path)){ return true; } - $extention=substr($path,strrpos($path,'.')+1); - if(array_search($extention,self::$blackList)===false){ + $extension=substr($path,strrpos($path,'.')+1); + if(array_search($extension,self::$blackList)===false){ return true; } } diff --git a/apps/files_sharing/get.php b/apps/files_sharing/get.php index fa3535fd144..3e42bf6a6c7 100644 --- a/apps/files_sharing/get.php +++ b/apps/files_sharing/get.php @@ -31,7 +31,7 @@ if ($source !== false) { if ($i['type'] == 'file') { $fileinfo = pathinfo($i['name']); $i['basename'] = $fileinfo['filename']; - $i['extention'] = isset($fileinfo['extension']) ? ('.'.$fileinfo['extension']) : ''; + $i['extension'] = isset($fileinfo['extension']) ? ('.'.$fileinfo['extension']) : ''; } $i['directory'] = substr($i['directory'], $rootLength); if ($i['directory'] == "/") { diff --git a/apps/media/js/loader.js b/apps/media/js/loader.js index 514965666fa..393f8ba914e 100644 --- a/apps/media/js/loader.js +++ b/apps/media/js/loader.js @@ -1,10 +1,10 @@ function musicTypeFromFile(file){ - var extention=file.substr(file.indexOf('.')+1).toLowerCase(); - if(extention=='ogg'){ + var extension=file.substr(file.indexOf('.')+1).toLowerCase(); + if(extension=='ogg'){ return 'oga'; } //TODO check for more specific cases - return extention; + return extension; } function playAudio(filename){ diff --git a/apps/media/js/music.js b/apps/media/js/music.js index f93f0fded62..db129227626 100644 --- a/apps/media/js/music.js +++ b/apps/media/js/music.js @@ -48,10 +48,10 @@ function getUrlVars(){ } function musicTypeFromFile(file){ - var extention=file.split('.').pop().toLowerCase(); - if(extention=='ogg'){ + var extension=file.split('.').pop().toLowerCase(); + if(extension=='ogg'){ return 'oga'; } //TODO check for more specific cases - return extention; + return extension; } diff --git a/apps/media/lib_scanner.php b/apps/media/lib_scanner.php index 341f411bdb8..78c6ad491da 100644 --- a/apps/media/lib_scanner.php +++ b/apps/media/lib_scanner.php @@ -127,7 +127,7 @@ class OC_MEDIA_SCANNER{ } /** - * quick check if a song is a music file by checking the extention, not as good as a proper mimetype check but way faster + * quick check if a song is a music file by checking the extension, not as good as a proper mimetype check but way faster * @param string $filename * @return bool */ diff --git a/core/js/js.js b/core/js/js.js index 2e65dfac507..51dcbe5413e 100644 --- a/core/js/js.js +++ b/core/js/js.js @@ -69,10 +69,10 @@ OC={ * @param file the name of the image file * @return string * - * if no extention is given for the image, it will automatically decide between .png and .svg based on what the browser supports + * if no extension is given for the image, it will automatically decide between .png and .svg based on what the browser supports */ imagePath:function(app,file){ - if(file.indexOf('.')==-1){//if no extention is given, use png or svg depending on browser support + if(file.indexOf('.')==-1){//if no extension is given, use png or svg depending on browser support file+=(SVGSupport())?'.svg':'.png'; } return OC.filePath(app,'img',file); diff --git a/files/css/files.css b/files/css/files.css index 03945f030b2..e103f0a7a6c 100644 --- a/files/css/files.css +++ b/files/css/files.css @@ -40,9 +40,9 @@ tbody tr:hover, tbody tr:active, tbody tr.selected { background-color:#f8f8f8; h tbody tr { background-color:#fff; } tbody tr.selected { background-color:#eee; } tbody a { color:#000; } -span.extention, td.date { color:#999; } -span.extention { opacity:0; -webkit-transition:opacity 500ms; -moz-transition:opacity 500ms; -o-transition:opacity 500ms; transition:opacity 500ms; } -tr:hover span.extention { opacity:1; } +span.extension, td.date { color:#999; } +span.extension { text-transform:lowercase; opacity:0; -webkit-transition:opacity 500ms; -moz-transition:opacity 500ms; -o-transition:opacity 500ms; transition:opacity 500ms; } +tr:hover span.extension { opacity:1; } div.crumb { float:left; display:block; background:no-repeat right 0; padding:.75em 1.5em 0 1em; height:2.9em; } div.crumb:first-child { padding-left:1em; } div.crumb.last { font-weight:bold; } diff --git a/files/index.php b/files/index.php index 82d09608924..aea91542db6 100644 --- a/files/index.php +++ b/files/index.php @@ -51,10 +51,10 @@ foreach( OC_Files::getdirectorycontent( $dir ) as $i ){ $fileinfo=pathinfo($i['name']); $i['basename']=$fileinfo['filename']; if (!empty($fileinfo['extension'])) { - $i['extention']='.' . $fileinfo['extension']; + $i['extension']='.' . $fileinfo['extension']; } else { - $i['extention']=''; + $i['extension']=''; } } if($i['directory']=='/'){ diff --git a/files/js/filelist.js b/files/js/filelist.js index 35847e06dfe..533e03b43cd 100644 --- a/files/js/filelist.js +++ b/files/js/filelist.js @@ -7,15 +7,15 @@ FileList={ var html=''; if(name.indexOf('.')!=-1){ var basename=name.substr(0,name.lastIndexOf('.')); - var extention=name.substr(name.lastIndexOf('.')); + var extension=name.substr(name.lastIndexOf('.')); }else{ var basename=name; - var extention=false; + var extension=false; } html+=''; html+=''+basename - if(extention){ - html+=''+extention+''; + if(extension){ + html+=''+extension+''; } html+=''; if(size!='Pending'){ @@ -147,7 +147,7 @@ FileList={ span.text(basename); td.children('a.name').append(span); if(newname.indexOf('.')>0){ - span.append($(''+newname.substr(newname.lastIndexOf('.'))+'')); + span.append($(''+newname.substr(newname.lastIndexOf('.'))+'')); } $.get(OC.filePath('files','ajax','rename.php'), { dir : $('#dir').val(), newname: newname, file: name },function(){ tr.data('renaming',false); diff --git a/files/templates/part.list.php b/files/templates/part.list.php index b117d81a1a5..5a5941fc7ae 100644 --- a/files/templates/part.list.php +++ b/files/templates/part.list.php @@ -18,7 +18,7 @@ - + diff --git a/lib/filestorage/common.php b/lib/filestorage/common.php index f632474df01..f0bfc064cb5 100644 --- a/lib/filestorage/common.php +++ b/lib/filestorage/common.php @@ -100,11 +100,11 @@ abstract class OC_Filestorage_Common extends OC_Filestorage { } $head=fread($source,8192);//8kb should suffice to determine a mimetype if($pos=strrpos($path,'.')){ - $extention=substr($path,$pos); + $extension=substr($path,$pos); }else{ - $extention=''; + $extension=''; } - $tmpFile=OC_Helper::tmpFile($extention); + $tmpFile=OC_Helper::tmpFile($extension); file_put_contents($tmpFile,$head); $mime=OC_Helper::getMimeType($tmpFile); unlink($tmpFile); @@ -129,11 +129,11 @@ abstract class OC_Filestorage_Common extends OC_Filestorage { return false; } if($pos=strrpos($path,'.')){ - $extention=substr($path,$pos); + $extension=substr($path,$pos); }else{ - $extention=''; + $extension=''; } - $tmpFile=OC_Helper::tmpFile($extention); + $tmpFile=OC_Helper::tmpFile($extension); $target=fopen($tmpFile,'w'); $count=OC_Helper::streamCopy($source,$target); return $tmpFile; diff --git a/lib/helper.php b/lib/helper.php index 2026286352a..c33db5f10fe 100755 --- a/lib/helper.php +++ b/lib/helper.php @@ -310,9 +310,9 @@ class OC_Helper { $mimeType='application/octet-stream'; if ($mimeType=='application/octet-stream') { self::$mimetypes = include('mimetypes.fixlist.php'); - $extention=strtolower(strrchr(basename($path), ".")); - $extention=substr($extention,1);//remove leading . - $mimeType=(isset(self::$mimetypes[$extention]))?self::$mimetypes[$extention]:'application/octet-stream'; + $extension=strtolower(strrchr(basename($path), ".")); + $extension=substr($extension,1);//remove leading . + $mimeType=(isset(self::$mimetypes[$extension]))?self::$mimetypes[$extension]:'application/octet-stream'; } if (@is_dir($path)) { @@ -346,9 +346,9 @@ class OC_Helper { if(!self::$mimetypes || self::$mimetypes != include('mimetypes.list.php')){ self::$mimetypes=include('mimetypes.list.php'); } - $extention=strtolower(strrchr(basename($path), ".")); - $extention=substr($extention,1);//remove leading . - $mimeType=(isset(self::$mimetypes[$extention]))?self::$mimetypes[$extention]:'application/octet-stream'; + $extension=strtolower(strrchr(basename($path), ".")); + $extension=substr($extension,1);//remove leading . + $mimeType=(isset(self::$mimetypes[$extension]))?self::$mimetypes[$extension]:'application/octet-stream'; } return $mimeType; } diff --git a/lib/mimetypes.list.php b/lib/mimetypes.list.php index e0570e84ea5..ccf47999b1c 100644 --- a/lib/mimetypes.list.php +++ b/lib/mimetypes.list.php @@ -21,7 +21,7 @@ */ /** - * list of mimetypes by extention + * list of mimetypes by extension */ return array( diff --git a/lib/template.php b/lib/template.php index cb39a10df31..eeba2410b68 100644 --- a/lib/template.php +++ b/lib/template.php @@ -161,7 +161,7 @@ class OC_Template{ } /** - * @brief Returns the formfactor extention for current formfactor + * @brief Returns the formfactor extension for current formfactor */ protected function getFormFactorExtension() { -- cgit v1.2.3 From 75a4e4687262ec10ab579b881ddfcc70c887e594 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sun, 15 Apr 2012 15:48:02 +0200 Subject: do no offer 'undo delete' on opera opera lacks the onunload to make it work --- files/js/filelist.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'files/js') diff --git a/files/js/filelist.js b/files/js/filelist.js index 533e03b43cd..5bd85fc29ef 100644 --- a/files/js/filelist.js +++ b/files/js/filelist.js @@ -1,4 +1,5 @@ FileList={ + useUndo:true, update:function(fileListHtml) { $('#fileList').empty().html(fileListHtml); }, @@ -163,7 +164,7 @@ FileList={ }); }, do_delete:function(files){ - if(FileList.deleteFiles){//finish any ongoing deletes first + if(FileList.deleteFiles || !FileList.useUndo){//finish any ongoing deletes first FileList.finishDelete(function(){ FileList.do_delete(files); }); @@ -196,7 +197,6 @@ FileList={ boolOperationFinished(data, function(){ $('#notification').fadeOut(); $.each(FileList.deleteFiles,function(index,file){ -// alert(file); FileList.remove(file); }); FileList.deleteCanceled=true; @@ -225,7 +225,7 @@ $(document).ready(function(){ } $('#notification').fadeOut(); }); - + FileList.useUndo=('onbeforeunload' in window) $(window).bind('beforeunload', function (){ FileList.finishDelete(null,true); }); -- cgit v1.2.3 From c0bdad58932a29a1f21909e959416369a790fa8d Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sun, 15 Apr 2012 16:06:16 +0200 Subject: dont allow draging files to the current directory --- files/js/files.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'files/js') diff --git a/files/js/files.js b/files/js/files.js index 1c0a40c2368..2d943d85cd4 100644 --- a/files/js/files.js +++ b/files/js/files.js @@ -13,9 +13,11 @@ $(document).ready(function() { //drag/drop of files $('#fileList tr td.filename').draggable(dragOptions); $('#fileList tr[data-type="dir"][data-write="true"] td.filename').droppable(folderDropOptions); - $('div.crumb').droppable(crumbDropOptions); + $('div.crumb:not(.last)').droppable(crumbDropOptions); $('ul#apps>li:first-child').data('dir',''); - $('ul#apps>li:first-child').droppable(crumbDropOptions); + if($('div.crumb').length){ + $('ul#apps>li:first-child').droppable(crumbDropOptions); + } // Triggers invisible file input $('.file_upload_button_wrapper').live('click', function() { @@ -412,7 +414,7 @@ var dragOptions={ }; var folderDropOptions={ drop: function( event, ui ) { - var file=ui.draggable.text().trim(); + var file=ui.draggable.parent().data('file'); var target=$(this).text().trim(); var dir=$('#dir').val(); $.ajax({ @@ -438,7 +440,7 @@ var crumbDropOptions={ if(dir.substr(-1,1)!='/'){ dir=dir+'/'; } - if(target==dir){ + if(target==dir || target+'/'==dir){ return; } $.ajax({ -- cgit v1.2.3 From 8ecddb5bc311a7d9bb5def6783b8a71f09a8daa3 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sun, 15 Apr 2012 17:30:07 +0200 Subject: create a new filename when the uploaded file already exist --- files/ajax/upload.php | 3 +-- files/js/files.js | 23 +++++++++++++++++++++-- 2 files changed, 22 insertions(+), 4 deletions(-) (limited to 'files/js') diff --git a/files/ajax/upload.php b/files/ajax/upload.php index 76ea65fe933..b04796e3248 100644 --- a/files/ajax/upload.php +++ b/files/ajax/upload.php @@ -47,11 +47,10 @@ $result=array(); if(strpos($dir,'..') === false){ $fileCount=count($files['name']); for($i=0;$i<$fileCount;$i++){ - // $target=stripslashes($dir) . $files['name'][$i]; $target = OC_Helper::buildNotExistingFileName(stripslashes($dir), $files['name'][$i]); if(is_uploaded_file($files['tmp_name'][$i]) and OC_Filesystem::fromTmpFile($files['tmp_name'][$i],$target)){ $meta=OC_FileCache::getCached($target); - $result[]=array( "status" => "success", 'mime'=>$meta['mimetype'],'size'=>$meta['size'],'name'=>$files['name'][$i]); + $result[]=array( "status" => "success", 'mime'=>$meta['mimetype'],'size'=>$meta['size'],'name'=>basename($target)); } } OC_JSON::encodedPrint($result); diff --git a/files/js/files.js b/files/js/files.js index 2d943d85cd4..3ce95f992d0 100644 --- a/files/js/files.js +++ b/files/js/files.js @@ -211,12 +211,12 @@ $(document).ready(function() { var size=t('files','Pending'); } if(files){ - FileList.addFile(files[i].name,size,date,true); + FileList.addFile(getUniqueName(files[i].name),size,date,true); } } }else{ var filename=this.value.split('\\').pop(); //ie prepends C:\fakepath\ in front of the filename - FileList.addFile(filename,'Pending',date,true); + FileList.addFile(getUniqueName(filename),'Pending',date,true); } //clone the upload form and hide the new one to allow users to start a new upload while the old one is still uploading @@ -570,3 +570,22 @@ function getMimeIcon(mime, ready){ } } getMimeIcon.cache={}; + +function getUniqueName(name){ + if($('tr').filterAttr('data-file',name).length>0){ + var parts=name.split('.'); + var extension=parts.pop(); + var base=parts.join('.'); + numMatch=base.match(/\((\d+)\)/); + var num=2; + if(numMatch && numMatch.length>0){ + num=parseInt(numMatch[numMatch.length-1])+1; + base=base.split('(') + base.pop(); + base=base.join('(').trim(); + } + name=base+' ('+num+').'+extension; + return getUniqueName(name); + } + return name; +} -- cgit v1.2.3