PluginProbe
King Addons for Elementor – 100+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce Builder, Mega Menu, Popup Builder / 51.1.49
King Addons for Elementor – 100+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce Builder, Mega Menu, Popup Builder v51.1.49
51.1.84 51.1.85 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 All 39 releases
king-addons / includes / extensions / Smart_Links / templates / admin-page.php

admin-page.php in King Addons for Elementor – 100+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce Builder, Mega Menu, Popup Builder 51.1.49, at includes/extensions/Smart_Links/templates/admin-page.php

151 lines 6.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Smart Links admin page template.
4 *
5 * @package King_Addons
6 */
7
8 use King_Addons\Smart_Links\Smart_Links;
9 use King_Addons\Smart_Links\Smart_Links_Settings;
10 use King_Addons\Smart_Links\Smart_Links_Service;
11
12 if (!defined('ABSPATH')) {
13 exit;
14 }
15
16 $theme_mode = get_user_meta(get_current_user_id(), 'king_addons_theme_mode', true);
17 $allowed_theme_modes = ['dark', 'light', 'auto'];
18 if (!in_array($theme_mode, $allowed_theme_modes, true)) {
19 $theme_mode = 'dark';
20 }
21
22 $tabs = [
23 'dashboard' => [
24 'label' => esc_html__('Dashboard', 'king-addons'),
25 'icon' => 'dashicons-chart-line',
26 ],
27 'links' => [
28 'label' => esc_html__('Links', 'king-addons'),
29 'icon' => 'dashicons-admin-links',
30 ],
31 'add' => [
32 'label' => esc_html__('Add New', 'king-addons'),
33 'icon' => 'dashicons-plus',
34 ],
35 'analytics' => [
36 'label' => esc_html__('Analytics', 'king-addons'),
37 'icon' => 'dashicons-chart-bar',
38 ],
39 'settings' => [
40 'label' => esc_html__('Settings', 'king-addons'),
41 'icon' => 'dashicons-admin-generic',
42 ],
43 'import-export' => [
44 'label' => esc_html__('Import Export', 'king-addons'),
45 'icon' => 'dashicons-upload',
46 ],
47 ];
48
49 $base_url = admin_url('admin.php?page=king-addons-smart-links');
50 $current_view = array_key_exists($view, $tabs) ? $view : 'dashboard';
51
52 $message_code = isset($_GET['message']) ? sanitize_key($_GET['message']) : '';
53 $messages = [
54 'created' => esc_html__('Link created successfully.', 'king-addons'),
55 'updated' => esc_html__('Link updated successfully.', 'king-addons'),
56 'deleted' => esc_html__('Link deleted.', 'king-addons'),
57 'duplicated' => esc_html__('Link duplicated.', 'king-addons'),
58 'imported' => esc_html__('Links imported successfully.', 'king-addons'),
59 'error_invalid_url' => esc_html__('Destination URL is invalid.', 'king-addons'),
60 'error_save' => esc_html__('Unable to save the link.', 'king-addons'),
61 'error_not_found' => esc_html__('Link not found.', 'king-addons'),
62 'error_bulk' => esc_html__('Select at least one link and an action.', 'king-addons'),
63 'error_import' => esc_html__('Import failed. Check your CSV file.', 'king-addons'),
64 ];
65 $has_message = $message_code !== '' && isset($messages[$message_code]);
66 $is_error_message = strpos($message_code, 'error_') === 0;
67
68 $tracking_enabled = !empty($settings['tracking_enabled']);
69 $tracking_status = $tracking_enabled ? esc_html__('Tracking On', 'king-addons') : esc_html__('Tracking Off', 'king-addons');
70 ?>
71
72 <script>
73 document.body.classList.add('ka-admin-v3');
74 (function() {
75 const mode = '<?php echo esc_js($theme_mode); ?>';
76 const mql = window.matchMedia ? window.matchMedia('(prefers-color-scheme: dark)') : null;
77 const isDark = mode === 'auto' ? !!(mql && mql.matches) : mode === 'dark';
78 document.documentElement.classList.toggle('ka-v3-dark', isDark);
79 document.body.classList.toggle('ka-v3-dark', isDark);
80 })();
81 </script>
82
83 <div class="ka-admin-wrap">
84 <div class="ka-admin-header">
85 <div class="ka-admin-header-left">
86 <div class="ka-admin-header-icon green">
87 <span class="dashicons dashicons-admin-links"></span>
88 </div>
89 <div>
90 <h1 class="ka-admin-title"><?php esc_html_e('Smart Links', 'king-addons'); ?></h1>
91 <p class="ka-admin-subtitle"><?php esc_html_e('Shorten, track, and optimize your campaign links.', 'king-addons'); ?></p>
92 </div>
93 </div>
94 <div class="ka-admin-header-actions">
95 <span class="ka-status <?php echo $tracking_enabled ? 'ka-status-enabled' : 'ka-status-disabled'; ?>">
96 <span class="ka-status-dot"></span>
97 <?php echo esc_html($tracking_status); ?>
98 </span>
99 <div class="ka-v3-segmented" id="ka-v3-theme-segment" role="radiogroup" aria-label="Theme" data-active="<?php echo esc_attr($theme_mode); ?>">
100 <span class="ka-v3-segmented-indicator" aria-hidden="true"></span>
101 <button type="button" class="ka-v3-segmented-btn" data-theme="light" aria-pressed="<?php echo $theme_mode === 'light' ? 'true' : 'false'; ?>"><?php esc_html_e('Light', 'king-addons'); ?></button>
102 <button type="button" class="ka-v3-segmented-btn" data-theme="dark" aria-pressed="<?php echo $theme_mode === 'dark' ? 'true' : 'false'; ?>"><?php esc_html_e('Dark', 'king-addons'); ?></button>
103 <button type="button" class="ka-v3-segmented-btn" data-theme="auto" aria-pressed="<?php echo $theme_mode === 'auto' ? 'true' : 'false'; ?>"><?php esc_html_e('Auto', 'king-addons'); ?></button>
104 </div>
105 <a href="<?php echo esc_url(add_query_arg(['view' => 'add'], $base_url)); ?>" class="ka-btn ka-btn-primary">
106 <span class="dashicons dashicons-plus"></span>
107 <?php esc_html_e('Add New', 'king-addons'); ?>
108 </a>
109 </div>
110 </div>
111
112 <div class="ka-tabs ka-smart-links-tabs">
113 <?php foreach ($tabs as $key => $tab) : ?>
114 <a class="ka-tab <?php echo $current_view === $key ? 'active' : ''; ?>" href="<?php echo esc_url(add_query_arg(['view' => $key], $base_url)); ?>">
115 <span class="dashicons <?php echo esc_attr($tab['icon']); ?>"></span>
116 <?php echo esc_html($tab['label']); ?>
117 </a>
118 <?php endforeach; ?>
119 </div>
120
121 <?php if ($has_message) : ?>
122 <div class="ka-alert <?php echo $is_error_message ? 'ka-alert-error' : ''; ?>">
123 <span class="dashicons <?php echo $is_error_message ? 'dashicons-warning' : 'dashicons-yes'; ?>"></span>
124 <?php echo esc_html($messages[$message_code]); ?>
125 </div>
126 <?php endif; ?>
127
128 <?php
129 switch ($current_view) {
130 case 'links':
131 include __DIR__ . '/view-links.php';
132 break;
133 case 'add':
134 include __DIR__ . '/view-edit.php';
135 break;
136 case 'analytics':
137 include __DIR__ . '/view-analytics.php';
138 break;
139 case 'settings':
140 include __DIR__ . '/view-settings.php';
141 break;
142 case 'import-export':
143 include __DIR__ . '/view-import-export.php';
144 break;
145 default:
146 include __DIR__ . '/view-dashboard.php';
147 break;
148 }
149 ?>
150 </div>
151