Skip to content
This repository was archived by the owner on Nov 15, 2024. It is now read-only.

Commit 2023765

Browse files
committed
fix double rename error
fix double rename error and refactoring
1 parent 4a7ba24 commit 2023765

File tree

2 files changed

+46
-47
lines changed

2 files changed

+46
-47
lines changed

filemanager/dialog.php

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -968,7 +968,7 @@ function extensionSort($x, $y) {
968968
$file_prevent_rename = isset($filePermissions[$file]['prevent_rename']) && $filePermissions[$file]['prevent_rename'];
969969
$file_prevent_delete = isset($filePermissions[$file]['prevent_delete']) && $filePermissions[$file]['prevent_delete'];
970970
}
971-
?><figure data-name="<?php echo $file ?>" class="<?php if($file=="..") echo "back-";?>directory" data-type="<?php if($file!=".."){ echo "dir"; } ?>">
971+
?><figure data-name="<?php echo $file ?>" data-path="<?php echo $rfm_subfolder.$subdir.$file;?>" class="<?php if($file=="..") echo "back-";?>directory" data-type="<?php if($file!=".."){ echo "dir"; } ?>">
972972
<?php if($file==".."){ ?>
973973
<input type="hidden" class="path" value="<?php echo str_replace('.','',dirname($rfm_subfolder.$subdir));?>"/>
974974
<input type="hidden" class="path_thumb" value="<?php echo dirname($thumbs_path.$subdir)."/";?>"/>
@@ -1008,9 +1008,9 @@ function extensionSort($x, $y) {
10081008
<?php } ?>
10091009
<div class='file-extension'><?php echo fix_strtolower(trans('Type_dir'));?></div>
10101010
<figcaption>
1011-
<a href="javascript:void('')" class="tip-left edit-button rename-file-paths <?php if($rename_folders && !$file_prevent_rename) echo "rename-folder";?>" title="<?php echo trans('Rename')?>" data-folder="1" data-permissions="<?php echo $file_array['permissions']; ?>" data-path="<?php echo $rfm_subfolder.$subdir.$file;?>">
1011+
<a href="javascript:void('')" class="tip-left edit-button rename-file-paths <?php if($rename_folders && !$file_prevent_rename) echo "rename-folder";?>" title="<?php echo trans('Rename')?>" data-folder="1" data-permissions="<?php echo $file_array['permissions']; ?>">
10121012
<i class="icon-pencil <?php if(!$rename_folders || $file_prevent_rename) echo 'icon-white';?>"></i></a>
1013-
<a href="javascript:void('')" class="tip-left erase-button <?php if($delete_folders && !$file_prevent_delete) echo "delete-folder";?>" title="<?php echo trans('Erase')?>" data-confirm="<?php echo trans('Confirm_Folder_del');?>" data-path="<?php echo $rfm_subfolder.$subdir.$file;?>" >
1013+
<a href="javascript:void('')" class="tip-left erase-button <?php if($delete_folders && !$file_prevent_delete) echo "delete-folder";?>" title="<?php echo trans('Erase')?>" data-confirm="<?php echo trans('Confirm_Folder_del');?>" >
10141014
<i class="icon-trash <?php if(!$delete_folders || $file_prevent_delete) echo 'icon-white';?>"></i>
10151015
</a>
10161016
</figcaption>
@@ -1145,7 +1145,8 @@ function extensionSort($x, $y) {
11451145
$file_prevent_rename = isset($filePermissions[$file]['prevent_rename']) && $filePermissions[$file]['prevent_rename'];
11461146
$file_prevent_delete = isset($filePermissions[$file]['prevent_delete']) && $filePermissions[$file]['prevent_delete'];
11471147
}
1148-
?> <figure data-name="<?php echo $file ?>" data-type="<?php if($is_img){ echo "img"; }else{ echo "file"; } ?>">
1148+
?>
1149+
<figure data-name="<?php echo $file ?>" data-path="<?php echo $rfm_subfolder.$subdir.$file;?>" data-type="<?php if($is_img){ echo "img"; }else{ echo "file"; } ?>">
11491150
<a href="javascript:void('')" class="link" data-file="<?php echo $file;?>" data-function="<?php echo $apply;?>">
11501151
<div class="img-precontainer">
11511152
<?php if($is_icon_thumb){ ?><div class="filetype"><?php echo $file_array['extension'] ?></div><?php } ?>
@@ -1215,10 +1216,10 @@ function extensionSort($x, $y) {
12151216
<?php }else{ ?>
12161217
<a class="preview disabled"><i class="icon-eye-open icon-white"></i></a>
12171218
<?php } ?>
1218-
<a href="javascript:void('')" class="tip-left edit-button rename-file-paths <?php if($rename_files && !$file_prevent_rename) echo "rename-file";?>" title="<?php echo trans('Rename')?>" data-folder="0" data-permissions="<?php echo $file_array['permissions']; ?>" data-path="<?php echo $rfm_subfolder.$subdir .$file;?>">
1219+
<a href="javascript:void('')" class="tip-left edit-button rename-file-paths <?php if($rename_files && !$file_prevent_rename) echo "rename-file";?>" title="<?php echo trans('Rename')?>" data-folder="0" data-permissions="<?php echo $file_array['permissions']; ?>">
12191220
<i class="icon-pencil <?php if(!$rename_files || $file_prevent_rename) echo 'icon-white';?>"></i></a>
12201221

1221-
<a href="javascript:void('')" class="tip-left erase-button <?php if($delete_files && !$file_prevent_delete) echo "delete-file";?>" title="<?php echo trans('Erase')?>" data-confirm="<?php echo trans('Confirm_del');?>" data-path="<?php echo $rfm_subfolder.$subdir.$file;?>">
1222+
<a href="javascript:void('')" class="tip-left erase-button <?php if($delete_files && !$file_prevent_delete) echo "delete-file";?>" title="<?php echo trans('Erase')?>" data-confirm="<?php echo trans('Confirm_del');?>">
12221223
<i class="icon-trash <?php if(!$delete_files || $file_prevent_delete) echo 'icon-white';?>"></i>
12231224
</a>
12241225
</form>

resources/assets/js/include.js

Lines changed: 39 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ var encodeURL,show_animation,hide_animation,apply,apply_none,apply_img,apply_any
33
{
44
"use strict";
55

6-
var version = "9.13.0";
6+
var version = "9.13.3";
77
var active_contextmenu = true;
88
var myLazyLoad = null;
99
var clipboard = null;
@@ -450,8 +450,8 @@ var encodeURL,show_animation,hide_animation,apply,apply_none,apply_img,apply_any
450450
grid.on('click', '.rename-file', function ()
451451
{
452452
var _this = jQuery(this);
453-
454-
var file_container = _this.parent().parent().parent();
453+
var file_container = _this.closest('figure');
454+
var path = file_container.attr('data-path');
455455
var file_title = file_container.find('h4');
456456
var old_name = $.trim(file_title.text());
457457
bootbox.prompt(jQuery('#rename').val(), jQuery('#cancel').val(), jQuery('#ok').val(), function (name)
@@ -461,7 +461,7 @@ var encodeURL,show_animation,hide_animation,apply,apply_none,apply_img,apply_any
461461
name = fix_filename(name);
462462
if (name != old_name)
463463
{
464-
execute_action('rename_file', _this.attr('data-path'), name, file_container, 'apply_file_rename');
464+
execute_action('rename_file', path, name, file_container, 'apply_file_rename');
465465
}
466466
}
467467
}, old_name);
@@ -470,8 +470,9 @@ var encodeURL,show_animation,hide_animation,apply,apply_none,apply_img,apply_any
470470
grid.on('click', '.rename-folder', function ()
471471
{
472472
var _this = jQuery(this);
473+
var file_container = _this.closest('figure');
474+
var path = file_container.attr('data-path');
473475

474-
var file_container = _this.parent().parent().parent();
475476
var file_title = file_container.find('h4');
476477
var old_name = $.trim(file_title.text());
477478
bootbox.prompt(jQuery('#rename').val(), jQuery('#cancel').val(), jQuery('#ok').val(), function (name)
@@ -481,7 +482,7 @@ var encodeURL,show_animation,hide_animation,apply,apply_none,apply_img,apply_any
481482
name = fix_filename(name).replace('.', '');
482483
if (name != old_name)
483484
{
484-
execute_action('rename_folder', _this.attr('data-path'), name, file_container, 'apply_folder_rename');
485+
execute_action('rename_folder', path, name, file_container, 'apply_folder_rename');
485486
}
486487
}
487488
}, old_name);
@@ -490,11 +491,12 @@ var encodeURL,show_animation,hide_animation,apply,apply_none,apply_img,apply_any
490491
grid.on('click', '.delete-file', function ()
491492
{
492493
var _this = jQuery(this);
494+
var path = _this.closest('figure').attr('data-path');
493495
bootbox.confirm(_this.attr('data-confirm'), jQuery('#cancel').val(), jQuery('#ok').val(), function (result)
494496
{
495497
if (result == true)
496498
{
497-
execute_action('delete_file', _this.attr('data-path'), '', '', '');
499+
execute_action('delete_file', path, '', '', '');
498500
var fil = jQuery('#files_number');
499501
fil.text(parseInt(fil.text())-1);
500502
_this.parent().parent().parent().parent().remove();
@@ -505,12 +507,13 @@ var encodeURL,show_animation,hide_animation,apply,apply_none,apply_img,apply_any
505507
grid.on('click', '.delete-folder', function ()
506508
{
507509
var _this = jQuery(this);
510+
var path = _this.closest('figure').attr('data-path');
508511

509512
bootbox.confirm(_this.attr('data-confirm'), jQuery('#cancel').val(), jQuery('#ok').val(), function (result)
510513
{
511514
if (result == true)
512515
{
513-
execute_action('delete_folder', _this.attr('data-path'), '', '', '');
516+
execute_action('delete_folder', path, '', '', '');
514517
var fol = jQuery('#folders_number');
515518
fol.text(parseInt(fol.text())-1);
516519
_this.parent().parent().parent().remove();
@@ -1210,7 +1213,7 @@ var encodeURL,show_animation,hide_animation,apply,apply_none,apply_img,apply_any
12101213
// remove to prevent duplicates
12111214
jQuery('#textfile_edit_area').parent().parent().remove();
12121215

1213-
var full_path = $trigger.find('.rename-file-paths').attr('data-path');
1216+
var full_path = $trigger.closest('figure').attr('data-path');
12141217

12151218
$.ajax({
12161219
type: "POST",
@@ -1309,7 +1312,7 @@ var encodeURL,show_animation,hide_animation,apply,apply_none,apply_img,apply_any
13091312
jQuery('#files_permission_start').parent().parent().remove();
13101313

13111314
var obj = $trigger.find('.rename-file-paths');
1312-
var full_path = obj.attr('data-path');
1315+
var full_path = $trigger.closest('figure').attr('data-path');
13131316
var permissions = obj.attr('data-permissions');
13141317
var folder = obj.attr('data-folder');
13151318

@@ -1529,14 +1532,7 @@ var encodeURL,show_animation,hide_animation,apply,apply_none,apply_img,apply_any
15291532

15301533
var thumb_path, full_path;
15311534

1532-
if (!$trigger.hasClass('directory'))
1533-
{
1534-
full_path = $trigger.find('.rename-file-paths').attr('data-path');
1535-
}
1536-
else
1537-
{
1538-
full_path = $trigger.find('.rename-file-paths').attr('data-path');
1539-
}
1535+
full_path = $trigger.closest('figure').attr('data-path');
15401536

15411537
$.ajax({
15421538
type: "POST",
@@ -1568,7 +1564,7 @@ var encodeURL,show_animation,hide_animation,apply,apply_none,apply_img,apply_any
15681564
var folder_path;
15691565
if (typeof dnd != 'undefined')
15701566
{
1571-
folder_path = dnd.find('.rename-folder').attr('data-path');
1567+
folder_path = dnd.closest('figure').attr('data-path');
15721568
}
15731569
else
15741570
{
@@ -1616,7 +1612,7 @@ var encodeURL,show_animation,hide_animation,apply,apply_none,apply_img,apply_any
16161612
obj = $trigger.find('.rename-folder');
16171613
}
16181614

1619-
var full_path = obj.attr('data-path');
1615+
var full_path = $trigger.closest('figure').attr('data-path');
16201616

16211617
$trigger.parent().hide(100);
16221618

@@ -1644,7 +1640,7 @@ var encodeURL,show_animation,hide_animation,apply,apply_none,apply_img,apply_any
16441640
}
16451641
else
16461642
{
1647-
folder_path = dnd.find('.rename-folder').attr('data-path');
1643+
folder_path = dnd.closest('figure').attr('data-path');
16481644
}
16491645
}
16501646
else
@@ -2186,18 +2182,27 @@ var encodeURL,show_animation,hide_animation,apply,apply_none,apply_img,apply_any
21862182

21872183
var old_name = file.substring(file.lastIndexOf('/') + 1);
21882184
var extension = file.substring(file.lastIndexOf('.') + 1);
2185+
if(extension){
2186+
extension = "."+extension;
2187+
}else{
2188+
extension = '';
2189+
}
21892190

21902191
link.each(function ()
21912192
{
2192-
jQuery(this).attr('data-file', encodeURIComponent(name + "." + extension));
2193+
jQuery(this).attr('data-file', encodeURIComponent(name + extension));
21932194
});
21942195

21952196
//thumbnails
21962197
container.find('img').each(function ()
21972198
{
21982199
var src = jQuery(this).attr('src');
2199-
2200-
jQuery(this).attr('src', src.replace(old_name, name + "." + extension) + '?time=' + new Date().getTime());
2200+
if(src){
2201+
jQuery(this).attr('src', src.replace(old_name, name + extension) + '?time=' + new Date().getTime());
2202+
}else{
2203+
var src = jQuery(this).attr('data-src');
2204+
jQuery(this).attr('data-src', src.replace(old_name, name + extension) + '?time=' + new Date().getTime());
2205+
}
22012206
jQuery(this).attr('alt', name + " thumbnails");
22022207
});
22032208

@@ -2206,25 +2211,21 @@ var encodeURL,show_animation,hide_animation,apply,apply_none,apply_img,apply_any
22062211
file = link2.attr('data-url');
22072212
if (typeof file !== "undefined" && file)
22082213
{
2209-
link2.attr('data-url', file.replace(encodeURIComponent(old_name), encodeURIComponent(name + "." + extension)));
2214+
link2.attr('data-url', file.replace(encodeURIComponent(old_name), encodeURIComponent(name + extension)));
22102215
}
22112216

22122217
//li data-name
2213-
container.parent().attr('data-name', name + "." + extension);
2214-
container.attr('data-name', name + "." + extension);
2218+
container.parent().attr('data-name', name + extension);
2219+
container.attr('data-name', name + extension);
22152220

22162221
//download link
2217-
container.find('.name_download').val(name + "." + extension);
2218-
2219-
//rename link && delete link
2220-
var link3 = container.find('a.rename-file');
2221-
var link4 = container.find('a.delete-file');
2222+
container.find('.name_download').val(name + extension);
22222223

2223-
var path_old = link3.attr('data-path');
2224-
var new_path = path_old.replace(old_name, name + "." + extension);
2224+
//rename path
2225+
var path_old = container.attr('data-path');
2226+
var new_path = path_old.replace(old_name, name + extension);
22252227

2226-
link3.attr('data-path', new_path);
2227-
link4.attr('data-path', new_path);
2228+
container.attr('data-path', new_path);
22282229
}
22292230

22302231
apply_folder_rename = function (container, name)
@@ -2247,13 +2248,10 @@ var encodeURL,show_animation,hide_animation,apply,apply_none,apply_img,apply_any
22472248
});
22482249

22492250
//rename link && delete link
2250-
var link2 = container.find('a.delete-folder');
2251-
var link3 = container.find('a.rename-folder');
2252-
var path_old = link3.attr('data-path');
2251+
var path_old = container.attr('data-path');
22532252
var index = path_old.lastIndexOf('/');
22542253
var new_path = path_old.substr(0, index + 1) + name;
2255-
link2.attr('data-path', new_path);
2256-
link3.attr('data-path', new_path);
2254+
container.attr('data-path', new_path);
22572255

22582256
}
22592257

0 commit comments

Comments
 (0)