File "bc.php"
Full Path: /home/romayxjt/public_html/wp-content/plugins/vikbooking/libraries/html/overrides/bc.php
File size: 4.53 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/**
* @package VikBooking - Libraries
* @subpackage html.overrides
* @author E4J s.r.l.
* @copyright Copyright (C) 2023 E4J s.r.l. All Rights Reserved.
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
* @link https://vikwp.com
*/
// No direct access
defined('ABSPATH') or die('No script kiddies please!');
$files = isset($displayData['files']) ? (array) $displayData['files'] : [];
$plain = '';
?>
<div class="breaking-changes">
<!-- heading -->
<h3 style="margin-top: 0;">
<?php _e('Breaking Changes', 'vikbooking'); ?>
</h3>
<!-- what's this warning? -->
<p>
<?php
_e(
'The following overrides have been automatically unpublished in order to avoid possible errors due to deprecated code.',
'vikbooking'
);
?>
</p>
<!-- unpublished files list -->
<?php
foreach ($files as $client => $list)
{
$plain .= ($plain ? "\n\n" : '') . "### " . strtoupper($client) . "\n";
?>
<h4 style="margin: 0;"><?php echo ucwords($client); ?></h4>
<ul style="padding-left: 10px;">
<?php
foreach ($list as $file)
{
$plain .= "\n- " . $file;
?>
<li style="display: flex; align-items: center;">
<input
type="checkbox"
id="override-<?php echo md5($file); ?>"
class="breaking-changes-override-check"
data-file="<?php echo $this->escape($file); ?>"
style="margin: 0;"
/>
<label for="override-<?php echo md5($file); ?>" style="margin: 0 6px;">
<code><?php echo str_replace(ABSPATH, '', (string) $file); ?></code>
</label>
<a
href="admin.php?page=vikbooking&view=overrides&client=<?php echo $client; ?>&overridefile=<?php echo base64_encode($file); ?>"
target="_blank"
style="margin: 0;"
><i class="<?php echo VikBookingIcons::i('external-link-square'); ?>" style="font-size: 18px;"></i></a>
</li>
<?php
}
?>
</ul>
<?php
}
?>
<ul>
</ul>
<!-- what should I do? -->
<p>
<?php
_e(
'Please review the unpublished overrides if you wish to keep the changes you made. You can tick the box of the reviewed files to remove them from the list.',
'vikbooking'
);
?>
</p>
<!--
Create CSS rule to "hide" the textarea by keeping it
active to allow the browser to copy its contents.
-->
<style>
.breaking-changes textarea.keep-active-but-hidden {
width: 0 !important;
height: 0 !important;
opacity: 0 !important;
float: right;
cursor: default;
}
</style>
<textarea class="keep-active-but-hidden"><?php echo $plain; ?></textarea>
<!-- define button to copy the files -->
<button class="button" id="breaking-changes-copy"><?php _e('Copy'); ?></button>
<!-- define button to dismiss the warning -->
<button class="button" id="breaking-changes-dismiss"><?php _e('Dismiss', 'vikbooking'); ?></button>
</div>
<script>
(function($) {
'use strict';
const unregisterBreakingChanges = (files) => {
doAjax(
'admin-ajax.php?action=vikbooking&task=override.dismissbc',
{
// can be an array of files, a single file (string) or null/undefined to dismiss all the files
files: files,
}
);
}
$(function($) {
// implement copy callback
$('#breaking-changes-copy').on('click', function() {
// copy path within the clipboard
VBOCore.copyToClipboard($(this).prev('textarea')).then(() => {
// display successful message on copy
VBOToast.dispatch(new VBOToastMessage({
body: '<?php echo addslashes(__('Copied!')); ?>',
status: VBOToast.SUCCESS_STATUS,
delay: 'auto',
}));
}).catch(() => {
// cannot copy
VBOToast.dispatch(new VBOToastMessage({
body: '<?php echo addslashes(__('Cannot copy the files! Please proceed manually.')); ?>',
status: VBOToast.ERROR_STATUS,
delay: 'auto',
}));
});
});
// implement dismiss callback
$('#breaking-changes-dismiss').on('click', function() {
// hide the alert
$(this).closest('.notice').find('.notice-dismiss').trigger('click');
// dismiss breaking changes in background
unregisterBreakingChanges();
});
// auto-hide only the selected file from the list of the breaking changes
$('.breaking-changes-override-check').on('change', function() {
$(this).prop('disabled', true);
if ($('.breaking-changes-override-check').not(':disabled').length > 0) {
// dismiss only this file
unregisterBreakingChanges($(this).data('file'));
} else {
// this is the last file, we can dismiss the whole warning
$('#breaking-changes-dismiss').trigger('click');
}
});
});
})(jQuery);
</script>