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 / Custom_Code_Manager / templates / admin-import-export.php

admin-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/Custom_Code_Manager/templates/admin-import-export.php

163 lines 9.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Custom Code Manager - Import/Export Page Template
4 *
5 * @package King_Addons
6 */
7
8 defined('ABSPATH') || exit;
9
10 use King_Addons\Custom_Code_Manager;
11
12 /** @var bool $has_pro */
13 ?>
14 <div class="kng-cc-admin">
15 <!-- Header -->
16 <header class="kng-cc-header">
17 <div class="kng-cc-header-left">
18 <a href="<?php echo esc_url(admin_url('admin.php?page=king-addons-custom-code')); ?>" class="kng-cc-back-btn">
19 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" width="16" height="16">
20 <line x1="19" y1="12" x2="5" y2="12"/>
21 <polyline points="12 19 5 12 12 5"/>
22 </svg>
23 <?php esc_html_e('Back to snippets', 'king-addons'); ?>
24 </a>
25 <h1 class="kng-cc-title"><?php esc_html_e('Import / Export', 'king-addons'); ?></h1>
26 <p class="kng-cc-subtitle"><?php esc_html_e('Backup, restore, or migrate your custom code snippets', 'king-addons'); ?></p>
27 </div>
28 <div class="kng-cc-header-right">
29 <div class="ka-v3-segmented" id="ka-v3-theme-segment" role="radiogroup" aria-label="<?php echo esc_attr(esc_html__('Theme', 'king-addons')); ?>" data-active="<?php echo esc_attr($theme_mode); ?>">
30 <span class="ka-v3-segmented-indicator" aria-hidden="true"></span>
31 <button type="button" class="ka-v3-segmented-btn" data-theme="light" aria-pressed="<?php echo $theme_mode === 'light' ? 'true' : 'false'; ?>">
32 <span class="ka-v3-segmented-icon" aria-hidden="true">☀︎</span>
33 <?php esc_html_e('Light', 'king-addons'); ?>
34 </button>
35 <button type="button" class="ka-v3-segmented-btn" data-theme="dark" aria-pressed="<?php echo $theme_mode === 'dark' ? 'true' : 'false'; ?>">
36 <span class="ka-v3-segmented-icon" aria-hidden="true"></span>
37 <?php esc_html_e('Dark', 'king-addons'); ?>
38 </button>
39 <button type="button" class="ka-v3-segmented-btn" data-theme="auto" aria-pressed="<?php echo $theme_mode === 'auto' ? 'true' : 'false'; ?>">
40 <span class="ka-v3-segmented-icon" aria-hidden="true"></span>
41 <?php esc_html_e('Auto', 'king-addons'); ?>
42 </button>
43 </div>
44 </div>
45 </header>
46
47 <div class="kng-cc-import-export-content">
48 <div class="kng-cc-import-export-grid">
49 <!-- Export Section -->
50 <div class="kng-cc-ie-card">
51 <div class="kng-cc-ie-card-icon">
52 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" width="48" height="48">
53 <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/>
54 <polyline points="7 10 12 15 17 10"/>
55 <line x1="12" y1="15" x2="12" y2="3"/>
56 </svg>
57 </div>
58 <h3><?php esc_html_e('Export Snippets', 'king-addons'); ?></h3>
59 <p><?php esc_html_e('Download all your snippets as a JSON file. You can use this to backup your snippets or import them to another site.', 'king-addons'); ?></p>
60
61 <div class="kng-cc-ie-options">
62 <label class="kng-v3-toggle-wrap kng-v3-toggle-row">
63 <input type="checkbox" id="kng-cc-export-settings" checked />
64 <span class="kng-v3-toggle-slider"></span>
65 <span class="kng-v3-toggle-text"><?php esc_html_e('Include settings', 'king-addons'); ?></span>
66 </label>
67 </div>
68
69 <button type="button" class="kng-v3-btn kng-v3-btn--primary" id="kng-cc-export-btn">
70 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" width="18" height="18">
71 <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/>
72 <polyline points="7 10 12 15 17 10"/>
73 <line x1="12" y1="15" x2="12" y2="3"/>
74 </svg>
75 <?php esc_html_e('Export All Snippets', 'king-addons'); ?>
76 </button>
77 </div>
78
79 <!-- Import Section -->
80 <div class="kng-cc-ie-card">
81 <div class="kng-cc-ie-card-icon">
82 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" width="48" height="48">
83 <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/>
84 <polyline points="17 8 12 3 7 8"/>
85 <line x1="12" y1="3" x2="12" y2="15"/>
86 </svg>
87 </div>
88 <h3><?php esc_html_e('Import Snippets', 'king-addons'); ?></h3>
89 <p><?php esc_html_e('Upload a JSON file with snippets from another site or backup. Choose how to handle existing snippets.', 'king-addons'); ?></p>
90
91 <div class="kng-cc-ie-options">
92 <div class="kng-v3-field">
93 <label class="kng-v3-label"><?php esc_html_e('Import Mode', 'king-addons'); ?></label>
94 <select id="kng-cc-import-mode" class="kng-v3-select">
95 <option value="merge"><?php esc_html_e('Merge - Add to existing snippets', 'king-addons'); ?></option>
96 <option value="skip"><?php esc_html_e('Skip duplicates - Only import new snippets', 'king-addons'); ?></option>
97 <?php if ($has_pro): ?>
98 <option value="replace"><?php esc_html_e('Replace all - Delete existing and import', 'king-addons'); ?></option>
99 <?php else: ?>
100 <option value="replace" disabled><?php esc_html_e('Replace all (Pro)', 'king-addons'); ?></option>
101 <?php endif; ?>
102 </select>
103 </div>
104 </div>
105
106 <div class="kng-cc-import-dropzone" id="kng-cc-import-dropzone">
107 <input type="file" id="kng-cc-import-file" accept=".json" style="display: none;" />
108 <div class="kng-cc-dropzone-content">
109 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" width="32" height="32">
110 <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/>
111 <polyline points="17 8 12 3 7 8"/>
112 <line x1="12" y1="3" x2="12" y2="15"/>
113 </svg>
114 <span><?php esc_html_e('Drop JSON file here or click to browse', 'king-addons'); ?></span>
115 </div>
116 <div class="kng-cc-dropzone-file" style="display: none;">
117 <span class="kng-cc-file-name"></span>
118 <button type="button" class="kng-cc-file-remove">
119 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" width="16" height="16">
120 <line x1="18" y1="6" x2="6" y2="18"/>
121 <line x1="6" y1="6" x2="18" y2="18"/>
122 </svg>
123 </button>
124 </div>
125 </div>
126
127 <button type="button" class="kng-v3-btn kng-v3-btn--primary" id="kng-cc-import-btn" disabled>
128 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" width="18" height="18">
129 <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/>
130 <polyline points="17 8 12 3 7 8"/>
131 <line x1="12" y1="3" x2="12" y2="15"/>
132 </svg>
133 <?php esc_html_e('Import Snippets', 'king-addons'); ?>
134 </button>
135 </div>
136 </div>
137
138 <!-- Import Results -->
139 <div class="kng-cc-import-results" id="kng-cc-import-results" style="display: none;">
140 <div class="kng-cc-import-results-content">
141 <h4><?php esc_html_e('Import Results', 'king-addons'); ?></h4>
142 <div class="kng-cc-import-stats">
143 <div class="kng-cc-import-stat">
144 <span class="kng-cc-import-stat-value" id="kng-cc-imported-count">0</span>
145 <span class="kng-cc-import-stat-label"><?php esc_html_e('Imported', 'king-addons'); ?></span>
146 </div>
147 <div class="kng-cc-import-stat">
148 <span class="kng-cc-import-stat-value" id="kng-cc-skipped-count">0</span>
149 <span class="kng-cc-import-stat-label"><?php esc_html_e('Skipped', 'king-addons'); ?></span>
150 </div>
151 <div class="kng-cc-import-stat">
152 <span class="kng-cc-import-stat-value" id="kng-cc-errors-count">0</span>
153 <span class="kng-cc-import-stat-label"><?php esc_html_e('Errors', 'king-addons'); ?></span>
154 </div>
155 </div>
156 <a href="<?php echo esc_url(admin_url('admin.php?page=king-addons-custom-code')); ?>" class="kng-v3-btn kng-v3-btn--ghost">
157 <?php esc_html_e('View Snippets', 'king-addons'); ?>
158 </a>
159 </div>
160 </div>
161 </div>
162 </div>
163