PluginProbe
King Addons for Elementor – 80+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce, Mega Menu, Popup Builder / 51.1.78
King Addons for Elementor – 80+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce, Mega Menu, Popup Builder v51.1.78
51.1.83 51.1.82 51.1.81 51.1.79 51.1.78 51.1.77 51.1.76 51.1.74 51.1.75 51.1.65 51.1.64 51.1.63 trunk 51.1.14 51.1.2 51.1.35 51.1.36 51.1.37 51.1.38 51.1.39 51.1.44 51.1.45 51.1.46 51.1.47 51.1.49 All 37 releases
king-addons / includes / extensions / Site_Preloader / templates / partials / tab-import-export.php

tab-import-export.php in King Addons for Elementor – 80+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce, Mega Menu, Popup Builder 51.1.78, at includes/extensions/Site_Preloader/templates/partials/tab-import-export.php

130 lines 6.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Site Preloader Import/Export Tab.
4 *
5 * @package King_Addons
6 * @since 1.0.0
7 *
8 * @var array $settings Current settings.
9 * @var bool $is_pro Whether Pro version is active.
10 * @var array $presets Available presets.
11 */
12
13 if (!defined('ABSPATH')) {
14 exit;
15 }
16 ?>
17
18 <div class="ka-preloader-import-export-grid">
19 <!-- Export -->
20 <div class="ka-card">
21 <div class="ka-card-header">
22 <span class="dashicons dashicons-upload"></span>
23 <h2>
24 <?php esc_html_e('Export Settings', 'king-addons'); ?>
25 <?php if (!$is_pro): ?><span class="ka-pro-badge">PRO</span><?php endif; ?>
26 </h2>
27 </div>
28 <div class="ka-card-body">
29 <p><?php esc_html_e('Export your preloader settings, rules, and templates to a JSON file. You can use this file to import the settings on another site or as a backup.', 'king-addons'); ?></p>
30
31 <?php if ($is_pro): ?>
32 <form action="<?php echo esc_url(admin_url('admin-post.php')); ?>" method="post">
33 <?php wp_nonce_field('king_addons_site_preloader_export'); ?>
34 <input type="hidden" name="action" value="king_addons_site_preloader_export" />
35 <button type="submit" class="ka-btn ka-btn-primary">
36 <span class="dashicons dashicons-download"></span>
37 <?php esc_html_e('Export JSON', 'king-addons'); ?>
38 </button>
39 </form>
40 <?php else: ?>
41 <div class="ka-pro-notice" style="padding: 20px; margin-top: 15px;">
42 <p><?php esc_html_e('Export functionality is available in the Pro version.', 'king-addons'); ?></p>
43 <a href="https://kingaddons.com/pricing/?utm_source=kng-preloader-export-upgrade&utm_medium=plugin&utm_campaign=kng" target="_blank" class="ka-btn ka-btn-primary ka-btn-sm">
44 <?php esc_html_e('Upgrade to Pro', 'king-addons'); ?>
45 </a>
46 </div>
47 <?php endif; ?>
48 </div>
49 </div>
50
51 <!-- Import -->
52 <div class="ka-card">
53 <div class="ka-card-header">
54 <span class="dashicons dashicons-download"></span>
55 <h2>
56 <?php esc_html_e('Import Settings', 'king-addons'); ?>
57 <?php if (!$is_pro): ?><span class="ka-pro-badge">PRO</span><?php endif; ?>
58 </h2>
59 </div>
60 <div class="ka-card-body">
61 <p><?php esc_html_e('Import preloader settings from a previously exported JSON file. This will overwrite your current settings.', 'king-addons'); ?></p>
62
63 <?php if ($is_pro): ?>
64 <form action="<?php echo esc_url(admin_url('admin-post.php')); ?>" method="post" enctype="multipart/form-data">
65 <?php wp_nonce_field('king_addons_site_preloader_import'); ?>
66 <input type="hidden" name="action" value="king_addons_site_preloader_import" />
67
68 <div class="ka-file-upload">
69 <input type="file" name="import_file" accept=".json" id="ka-import-file" />
70 <label for="ka-import-file" class="ka-file-upload__label">
71 <span class="dashicons dashicons-upload"></span>
72 <span class="ka-file-upload__text"><?php esc_html_e('Choose JSON file...', 'king-addons'); ?></span>
73 </label>
74 <span class="ka-file-upload__filename" id="ka-import-filename"></span>
75 </div>
76
77 <button type="submit" class="ka-btn ka-btn-primary" style="margin-top: 15px;">
78 <span class="dashicons dashicons-upload"></span>
79 <?php esc_html_e('Import Settings', 'king-addons'); ?>
80 </button>
81 </form>
82 <?php else: ?>
83 <div class="ka-pro-notice" style="padding: 20px; margin-top: 15px;">
84 <p><?php esc_html_e('Import functionality is available in the Pro version.', 'king-addons'); ?></p>
85 <a href="https://kingaddons.com/pricing/?utm_source=kng-preloader-import-upgrade&utm_medium=plugin&utm_campaign=kng" target="_blank" class="ka-btn ka-btn-primary ka-btn-sm">
86 <?php esc_html_e('Upgrade to Pro', 'king-addons'); ?>
87 </a>
88 </div>
89 <?php endif; ?>
90 </div>
91 </div>
92 </div>
93
94 <!-- Reset to Defaults -->
95 <div class="ka-card">
96 <div class="ka-card-header">
97 <span class="dashicons dashicons-image-rotate" style="color: #ff3b30;"></span>
98 <h2><?php esc_html_e('Reset to Defaults', 'king-addons'); ?></h2>
99 </div>
100 <div class="ka-card-body">
101 <p><?php esc_html_e('Reset all preloader settings, rules, and templates to their default values. This action cannot be undone.', 'king-addons'); ?></p>
102
103 <form action="<?php echo esc_url(admin_url('admin-post.php')); ?>" method="post" id="ka-reset-form">
104 <?php wp_nonce_field('king_addons_site_preloader_reset'); ?>
105 <input type="hidden" name="action" value="king_addons_site_preloader_reset" />
106 <button type="submit" class="ka-btn ka-btn-danger" onclick="return confirm('<?php echo esc_js(__('Are you sure you want to reset all settings? This cannot be undone.', 'king-addons')); ?>')">
107 <span class="dashicons dashicons-trash"></span>
108 <?php esc_html_e('Reset All Settings', 'king-addons'); ?>
109 </button>
110 </form>
111 </div>
112 </div>
113
114 <script>
115 document.addEventListener('DOMContentLoaded', function() {
116 const fileInput = document.getElementById('ka-import-file');
117 const filenameSpan = document.getElementById('ka-import-filename');
118
119 if (fileInput && filenameSpan) {
120 fileInput.addEventListener('change', function() {
121 if (this.files.length > 0) {
122 filenameSpan.textContent = this.files[0].name;
123 } else {
124 filenameSpan.textContent = '';
125 }
126 });
127 }
128 });
129 </script>
130