#9713 ent Problems with the copy button fixed

This commit is contained in:
sergio 2023-02-13 13:58:37 +01:00
parent 6654327a1c
commit b3ca6c78bf
1 changed files with 93 additions and 100 deletions

View File

@ -1,4 +1,5 @@
<?php <?php
/** /**
* Images File Manager functions. * Images File Manager functions.
* *
@ -96,7 +97,7 @@ function upload_file($upload_file_or_zip, $default_real_directory, $destination_
check_login(); check_login();
if (! check_acl($config['id_user'], 0, 'AW')) { if (!check_acl($config['id_user'], 0, 'AW')) {
db_pandora_audit( db_pandora_audit(
AUDIT_LOG_ACL_VIOLATION, AUDIT_LOG_ACL_VIOLATION,
'Trying to access File manager' 'Trying to access File manager'
@ -139,25 +140,8 @@ function upload_file($upload_file_or_zip, $default_real_directory, $destination_
$nombre_archivo = sprintf('%s/%s', $real_directory, $filename); $nombre_archivo = sprintf('%s/%s', $real_directory, $filename);
try { try {
$mimeContentType = mime_content_type($_FILES['file']['tmp_name']); $mimeContentType = mime_content_type($_FILES['file']['tmp_name']);
$fileExtension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
$validFileExtension = true; if (empty($filterFilesType) === true || in_array($mimeContentType, $filterFilesType) === true) {
if (empty($fileExtension) === false) {
$filtered_types = array_filter(
$filterFilesType,
function ($value) use ($fileExtension) {
$mimeTypeExtensionName = explode('/', $value)[1];
return $mimeTypeExtensionName === $fileExtension;
}
);
if (empty($filtered_types) === true) {
$validFileExtension = false;
}
}
if ($validFileExtension === true && (empty($filterFilesType) === true || in_array($mimeContentType, $filterFilesType) === true)) {
$result = copy($_FILES['file']['tmp_name'], $nombre_archivo); $result = copy($_FILES['file']['tmp_name'], $nombre_archivo);
} else { } else {
$error_message = 'The uploaded file is not allowed. Only gif, png or jpg files can be uploaded.'; $error_message = 'The uploaded file is not allowed. Only gif, png or jpg files can be uploaded.';
@ -240,7 +224,7 @@ function create_text_file($default_real_directory, $destination_directory)
check_login(); check_login();
if (! check_acl($config['id_user'], 0, 'AW')) { if (!check_acl($config['id_user'], 0, 'AW')) {
db_pandora_audit( db_pandora_audit(
AUDIT_LOG_ACL_VIOLATION, AUDIT_LOG_ACL_VIOLATION,
'Trying to access File manager' 'Trying to access File manager'
@ -522,35 +506,36 @@ function filemanager_file_explorer(
check_opened_dialog('create_text_file'); check_opened_dialog('create_text_file');
} }
<?php endif ?> <?php endif ?>
function show_upload_file() { function show_upload_file() {
actions_dialog('upload_file'); actions_dialog('upload_file');
$("#upload_file").css("display", "block"); $("#upload_file").css("display", "block");
check_opened_dialog('upload_file'); check_opened_dialog('upload_file');
} }
function check_opened_dialog(check_opened){ function check_opened_dialog(check_opened) {
if(check_opened !== 'create_folder'){ if (check_opened !== 'create_folder') {
if (($("#create_folder").hasClass("ui-dialog-content") && $('#create_folder').dialog('isOpen') === true)) { if (($("#create_folder").hasClass("ui-dialog-content") && $('#create_folder').dialog('isOpen') === true)) {
$('#create_folder').dialog('close'); $('#create_folder').dialog('close');
} }
} }
<?php if ($allowCreateText === true) : ?> <?php if ($allowCreateText === true) : ?>
if(check_opened !== 'create_text_file'){ if (check_opened !== 'create_text_file') {
if (($("#create_text_file").hasClass("ui-dialog-content") && $('#create_text_file').dialog('isOpen') === true)) { if (($("#create_text_file").hasClass("ui-dialog-content") && $('#create_text_file').dialog('isOpen') === true)) {
$('#create_text_file').dialog('close'); $('#create_text_file').dialog('close');
} }
} }
<?php endif ?> <?php endif ?>
if(check_opened !== 'upload_file'){ if (check_opened !== 'upload_file') {
if (($("#upload_file").hasClass("ui-dialog-content") && $('#upload_file').dialog('isOpen')) === true) { if (($("#upload_file").hasClass("ui-dialog-content") && $('#upload_file').dialog('isOpen')) === true) {
$('#upload_file').dialog('close'); $('#upload_file').dialog('close');
} }
} }
} }
function actions_dialog(action){ function actions_dialog(action) {
$('.'+action).addClass('file_table_modal_active'); $('.' + action).addClass('file_table_modal_active');
var title_action =''; var title_action = '';
switch (action) { switch (action) {
case 'create_folder': case 'create_folder':
title_action = "<?php echo __('Create a Directory'); ?>"; title_action = "<?php echo __('Create a Directory'); ?>";
@ -568,7 +553,7 @@ function filemanager_file_explorer(
break; break;
} }
$('#'+action) $('#' + action)
.dialog({ .dialog({
title: title_action, title: title_action,
resizable: true, resizable: true,
@ -583,13 +568,15 @@ function filemanager_file_explorer(
minHeight: 210, minHeight: 210,
maxWidth: 800, maxWidth: 800,
maxHeight: 300, maxHeight: 300,
close: function () { close: function() {
$('.'+action).removeClass('file_table_modal_active'); $('.' + action).removeClass('file_table_modal_active');
} }
}).show(); }).show();
} }
function show_modal_real_path (path) { function show_modal_real_path(path) {
if (navigator.clipboard && window.isSecureContext) <?php $secure_con = true; ?>;
else <?php $secure_con = false; ?>;
$('#modal_real_path').addClass('file_table_modal_active'); $('#modal_real_path').addClass('file_table_modal_active');
$('#real_path').empty(); $('#real_path').empty();
$('#real_path').html(path); $('#real_path').html(path);
@ -609,19 +596,21 @@ function filemanager_file_explorer(
minHeight: 213, minHeight: 213,
maxWidth: 800, maxWidth: 800,
maxHeight: 300, maxHeight: 300,
close: function () { close: function() {
$('#modal_real_path').removeClass('file_table_modal_active'); $('#modal_real_path').removeClass('file_table_modal_active');
} }
}).show(); }).show();
$("#submit-submit").on("click",copyToClipboard); $("#submit-submit").on("click", copyToClipboard);
} }
function copyToClipboard() { function copyToClipboard() {
navigator.clipboard.writeText($("#real_path").text()).then(function (){ if (navigator.clipboard && window.isSecureContext) {
window.navigator.clipboard.writeText($("#real_path").text()).then(function() {
$('#modal_real_path').dialog('close'); $('#modal_real_path').dialog('close');
}); });
} }
}
</script> </script>
<?php <?php
// List files. // List files.
@ -900,7 +889,7 @@ function filemanager_file_explorer(
'content' => html_print_input_file( 'content' => html_print_input_file(
'file', 'file',
true, true,
[ 'style' => 'border:0; padding:0; width:100%' ] ['style' => 'border:0; padding:0; width:100%']
), ),
], ],
true true
@ -985,8 +974,12 @@ function filemanager_file_explorer(
// Show Modal Real Path // Show Modal Real Path
$modal_real_path = "<div><b>Real path to plugin execution is:</b></div> $modal_real_path = "<div><b>Real path to plugin execution is:</b></div>
<div id='real_path'></div> <div id='real_path'></div>";
<div style='float:right;margin: 5em 0 0 auto';>".html_print_submit_button(__('Copy'), 'submit', false, 'class="sub next"', true).'</div>';
if (isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == 'on' || $_SERVER['SERVER_NAME'] == 'localhost' || $_SERVER['SERVER_NAME'] == '127.0.0.1') {
$modal_real_path .= "<div style='float:right;margin: 5em 0 0 auto';>".html_print_submit_button(__('Copy'), 'submit', false, 'class="sub next"', true).'</div>';
}
html_print_div( html_print_div(
[ [
'id' => 'modal_real_path', 'id' => 'modal_real_path',