| 1 |
<?php |
| 2 |
|
| 3 |
/** @noinspection SpellCheckingInspection */ |
| 4 |
if (!defined('ABSPATH')) { |
| 5 |
exit; // Exit if accessed directly. |
| 6 |
} |
| 7 |
|
| 8 |
// phpcs:ignore WordPress.Security.NonceVerification.Recommended -- This page can only be accessed by admins, so nonce verification is not required. Check Admin.php, showAdminPage function. |
| 9 |
if (isset($_GET['settings-updated'])) { |
| 10 |
add_settings_error('king_addons_messages', 'king_addons_message', esc_html__('Settings Saved', 'king-addons'), 'updated'); |
| 11 |
} |
| 12 |
|
| 13 |
// show error/update messages |
| 14 |
settings_errors('king_addons_messages'); |
| 15 |
|
| 16 |
$options = get_option('king_addons_options'); |
| 17 |
?> |
| 18 |
<style> |
| 19 |
#wpcontent { |
| 20 |
min-height: 100vh; |
| 21 |
overflow-x: hidden; |
| 22 |
} |
| 23 |
|
| 24 |
html, |
| 25 |
#wpcontent { |
| 26 |
background: #101112; |
| 27 |
} |
| 28 |
|
| 29 |
.king-addons-admin { |
| 30 |
display: none; |
| 31 |
max-width: 1660px; |
| 32 |
margin: 10px 20px 0 0; |
| 33 |
padding: 20px; |
| 34 |
} |
| 35 |
</style> |
| 36 |
<div class="king-addons-admin"> |
| 37 |
<?php |
| 38 |
$promo_enabled = false; |
| 39 |
if (!king_addons_freemius()->can_use_premium_code__premium_only()): |
| 40 |
if ($promo_enabled): |
| 41 |
?> |
| 42 |
<div class="kng-promo"> |
| 43 |
<div class="kng-promo-wrap"> |
| 44 |
<div class="kng-promo-wrap-icon"> |
| 45 |
<img width="50px" |
| 46 |
src="<?php echo esc_url(KING_ADDONS_URL) . 'includes/admin/img/unlock-v2.svg'; ?>" |
| 47 |
alt="<?php echo esc_html__('Unlock Icon', 'king-addons'); ?>"> |
| 48 |
</div> |
| 49 |
<div class="kng-promo-wrap-1"> |
| 50 |
<h1 class="kng-promo-title"><?php echo esc_html__('Unlock Premium Features & 650+ Templates Today!', 'king-addons'); ?></h1> |
| 51 |
<h2 class="kng-promo-subtitle">Upgrade to Premium and take your website design to the next |
| 52 |
level. |
| 53 |
Get advanced tools like Live Search, Popup Builder, |
| 54 |
Pricing Table, Timeline, and more. All for just $2/month! |
| 55 |
</h2> |
| 56 |
</div> |
| 57 |
<div class="kng-promo-wrap-2"> |
| 58 |
<div class="kng-promo-navigation"> |
| 59 |
<div class="kng-promo-btn-wrap"> |
| 60 |
<a href="https://kingaddons.com/pricing/?rel=king-addons-dashboard" target="_blank"> |
| 61 |
<img width="16px" |
| 62 |
src="<?php echo esc_url(KING_ADDONS_URL) . 'includes/admin/img/share.svg'; ?>" |
| 63 |
alt="<?php echo esc_html__('Open link in the new tab', 'king-addons'); ?>"> |
| 64 |
<div class="kng-promo-btn-txt"><?php echo esc_html__('Learn More', 'king-addons'); ?></div> |
| 65 |
</a> |
| 66 |
</div> |
| 67 |
</div> |
| 68 |
</div> |
| 69 |
</div> |
| 70 |
</div> |
| 71 |
<div class="king-addons-special-animation"> |
| 72 |
<div class="king-addons-special-animation-container"> |
| 73 |
<div class="king-addons-special-animation-colors"> |
| 74 |
<div class="king-addons-special-animation-yellow king-addons-special-animation-color"></div> |
| 75 |
<div class="king-addons-special-animation-pink-one king-addons-special-animation-color"></div> |
| 76 |
<div class="king-addons-special-animation-pink-two king-addons-special-animation-color"></div> |
| 77 |
<div class="king-addons-special-animation-blue king-addons-special-animation-color"></div> |
| 78 |
</div> |
| 79 |
</div> |
| 80 |
</div> |
| 81 |
<?php endif; ?> |
| 82 |
<?php endif; ?> |
| 83 |
<div class="kng-intro"> |
| 84 |
<div class="kng-intro-wrap"> |
| 85 |
<div class="kng-intro-wrap-1"> |
| 86 |
<h1 class="kng-intro-title"><?php echo esc_html(get_admin_page_title()); ?></h1> |
| 87 |
<h2 class="kng-intro-subtitle"><?php echo esc_html__('Free, lightweight, super-fast Elementor addons that do not affect website performance', 'king-addons'); ?></h2> |
| 88 |
</div> |
| 89 |
<div class="kng-intro-wrap-2"> |
| 90 |
<div class="kng-navigation"> |
| 91 |
<?php if (KING_ADDONS_EXT_HEADER_FOOTER_BUILDER): ?> |
| 92 |
<div class="kng-nav-item kng-nav-item-current"> |
| 93 |
<a href="<?php echo admin_url('edit.php?post_type=king-addons-el-hf'); ?>"> |
| 94 |
<div class="kng-nav-item-txt"><?php echo esc_html__('Free Header & Footer Builder', 'king-addons'); ?></div> |
| 95 |
</a> |
| 96 |
</div> |
| 97 |
<?php endif; ?> |
| 98 |
<?php if (KING_ADDONS_EXT_POPUP_BUILDER): ?> |
| 99 |
<div class="kng-nav-item kng-nav-item-current"> |
| 100 |
<a href="<?php echo admin_url('admin.php?page=king-addons-popup-builder'); ?>"> |
| 101 |
<div class="kng-nav-item-txt"><?php echo esc_html__('Free Popup Builder', 'king-addons'); ?></div> |
| 102 |
</a> |
| 103 |
</div> |
| 104 |
<?php endif; ?> |
| 105 |
<?php if (KING_ADDONS_EXT_TEMPLATES_CATALOG): ?> |
| 106 |
<div class="kng-nav-item kng-nav-item-current-active"> |
| 107 |
<a href="<?php echo admin_url('admin.php?page=king-addons-templates'); ?>"> |
| 108 |
<img src="<?php echo esc_url(KING_ADDONS_URL) . 'includes/admin/img/icon-for-templates.svg'; ?>" |
| 109 |
alt="<?php echo (!king_addons_freemius()->can_use_premium_code() ? esc_html__('Free Templates', 'king-addons') : esc_html__('Templates Pro', 'king-addons')); ?>"> |
| 110 |
<div class="kng-nav-item-txt"><?php echo (!king_addons_freemius()->can_use_premium_code() ? esc_html__('Free Templates', 'king-addons') : esc_html__('Templates Pro', 'king-addons')); ?></div> |
| 111 |
</a> |
| 112 |
</div> |
| 113 |
<?php endif; ?> |
| 114 |
</div> |
| 115 |
</div> |
| 116 |
</div> |
| 117 |
</div> |
| 118 |
<?php |
| 119 |
if (king_addons_freemius()->can_use_premium_code__premium_only()): |
| 120 |
?> |
| 121 |
<div class="king-addons-special-animation"> |
| 122 |
<div class="king-addons-special-animation-container"> |
| 123 |
<div class="king-addons-special-animation-colors"> |
| 124 |
<div class="king-addons-special-animation-yellow king-addons-special-animation-color"></div> |
| 125 |
<div class="king-addons-special-animation-pink-one king-addons-special-animation-color"></div> |
| 126 |
<div class="king-addons-special-animation-pink-two king-addons-special-animation-color"></div> |
| 127 |
<div class="king-addons-special-animation-blue king-addons-special-animation-color"></div> |
| 128 |
</div> |
| 129 |
</div> |
| 130 |
</div> |
| 131 |
<?php |
| 132 |
endif; |
| 133 |
?> |
| 134 |
<!--suppress HtmlUnknownTarget --> |
| 135 |
<form action="options.php" method="post"> |
| 136 |
<?php |
| 137 |
|
| 138 |
// output security fields for the registered setting "king_addons" |
| 139 |
settings_fields('king_addons'); |
| 140 |
|
| 141 |
// output setting sections and their fields |
| 142 |
// (sections are registered for "king-addons", each field is registered to a specific section) |
| 143 |
|
| 144 |
$page = 'king-addons'; |
| 145 |
|
| 146 |
global $wp_settings_sections, $wp_settings_fields; |
| 147 |
|
| 148 |
$first_item = true; |
| 149 |
|
| 150 |
foreach ((array)$wp_settings_sections[$page] as $section) { |
| 151 |
|
| 152 |
$section_current = $section['id']; |
| 153 |
|
| 154 |
if (!isset($wp_settings_fields[$page][$section_current])) { |
| 155 |
continue; |
| 156 |
} |
| 157 |
|
| 158 |
if ($section['callback']) { |
| 159 |
call_user_func($section['callback'], $section); |
| 160 |
} |
| 161 |
|
| 162 |
echo '<table class="kng-form-table"><tbody class="kng-tbody">'; |
| 163 |
|
| 164 |
foreach ((array)$wp_settings_fields[$page][$section_current] as $field) { |
| 165 |
|
| 166 |
$args = $field['args']; |
| 167 |
$class = ''; |
| 168 |
|
| 169 |
if (!empty($field['args']['class'])) { |
| 170 |
$class = $field['args']['class']; |
| 171 |
} |
| 172 |
?> |
| 173 |
<tr class="<?php echo esc_attr($class); ?>"> |
| 174 |
<td> |
| 175 |
<div class="kng-td-wrap-before-1"></div> |
| 176 |
<div class="kng-td-wrap-before-2"></div> |
| 177 |
<div class="kng-td-wrap"> |
| 178 |
<div class="kng-td"> |
| 179 |
<div class="kng-td-icon"> |
| 180 |
<img alt="<?php echo esc_attr($args['label_for']); ?>" |
| 181 |
src="<?php echo esc_attr(KING_ADDONS_URL) . 'includes/admin/img/' . esc_attr($args['label_for']); ?>.svg?v=<?php echo esc_attr(KING_ADDONS_VERSION); ?>" |
| 182 |
class="kng-item-icon" |
| 183 |
width="80px" /> |
| 184 |
</div> |
| 185 |
<div class="kng-td-content"> |
| 186 |
<h3><?php echo esc_attr($field['title']); ?></h3> |
| 187 |
<p class="kng-td-description"> |
| 188 |
<?php echo esc_attr($args['description']); ?> |
| 189 |
</p> |
| 190 |
<div class="kng-settings-wrap"> |
| 191 |
<div class="kng-td-link-wrap"> |
| 192 |
<?php |
| 193 |
$demo_link = $args['demo_link']; |
| 194 |
if (!empty($demo_link)) { |
| 195 |
echo '<a class="kng-td-link" href="' . esc_url($demo_link) . '?utm_source=kng-dashboard&utm_medium=plugin&utm_campaign=kng' . '" target="_blank"><div class="kng-td-link-label-wrap"><div class="kng-td-link-label">' . esc_html__('View Demo', 'king-addons') . '</div></div></a>'; |
| 196 |
} |
| 197 |
?> |
| 198 |
<?php |
| 199 |
if ($first_item) : ?> |
| 200 |
<div class="kng-settings-switch-notice-2"> |
| 201 |
<- check how it looks and its features |
| 202 |
</div> |
| 203 |
<?php |
| 204 |
endif; |
| 205 |
?> |
| 206 |
</div> |
| 207 |
<div class="kng-settings-switch-box-wrap"> |
| 208 |
<div class="kng-settings-switch-box"> |
| 209 |
<input type="hidden" |
| 210 |
name="king_addons_options[<?php echo esc_attr($args['label_for']); ?>]" |
| 211 |
value="disabled" /> |
| 212 |
<input type="checkbox" |
| 213 |
class="kng-settings-switch" |
| 214 |
id="<?php echo esc_attr($args['label_for']); ?>" |
| 215 |
name="king_addons_options[<?php echo esc_attr($args['label_for']); ?>]" |
| 216 |
value="enabled" |
| 217 |
<?php checked(isset($options[$args['label_for']]) && $options[$args['label_for']] === 'enabled'); ?> /> |
| 218 |
<label for="<?php echo esc_attr($args['label_for']); ?>" |
| 219 |
class="kng-settings-switch-label"></label> |
| 220 |
</div> |
| 221 |
|
| 222 |
<?php |
| 223 |
if ($first_item) : ?> |
| 224 |
<div class="kng-settings-switch-notice"> |
| 225 |
<- enable/disable this module |
| 226 |
</div> |
| 227 |
<?php |
| 228 |
$first_item = false; |
| 229 |
endif; |
| 230 |
?> |
| 231 |
|
| 232 |
</div> |
| 233 |
</div> |
| 234 |
</div> |
| 235 |
</div> |
| 236 |
</div> |
| 237 |
</td> |
| 238 |
</tr> |
| 239 |
<?php |
| 240 |
|
| 241 |
} |
| 242 |
|
| 243 |
echo '</tbody></table>'; |
| 244 |
} |
| 245 |
?> |
| 246 |
<div class="kng-btn-submit-wrap"> |
| 247 |
<div class="kng-master-switch-wrap"> |
| 248 |
<div class="kng-master-switch-notice"> |
| 249 |
Master switch -> |
| 250 |
</div> |
| 251 |
<button type="button" id="kng-enable-all" class="kng-master-btn"><?php echo esc_html__('Enable All', 'king-addons'); ?></button> |
| 252 |
<button type="button" id="kng-disable-all" class="kng-master-btn"><?php echo esc_html__('Disable All', 'king-addons'); ?></button> |
| 253 |
</div> |
| 254 |
<div class="kng-settings-submit-wrap"> |
| 255 |
<button type="submit" name="submit" id="submit" class="kng-btn-submit" |
| 256 |
value="submit"><?php echo esc_html__('SAVE SETTINGS', 'king-addons'); ?></button> |
| 257 |
</div> |
| 258 |
</div> |
| 259 |
</form> |
| 260 |
<script> |
| 261 |
// JavaScript to toggle all setting switches |
| 262 |
document.addEventListener('DOMContentLoaded', function() { |
| 263 |
const enableAllBtn = document.getElementById('kng-enable-all'); |
| 264 |
const disableAllBtn = document.getElementById('kng-disable-all'); |
| 265 |
if (enableAllBtn && disableAllBtn) { |
| 266 |
enableAllBtn.addEventListener('click', function() { |
| 267 |
document.querySelectorAll('.kng-settings-switch').forEach(function(cb) { |
| 268 |
cb.checked = true; |
| 269 |
}); |
| 270 |
}); |
| 271 |
disableAllBtn.addEventListener('click', function() { |
| 272 |
document.querySelectorAll('.kng-settings-switch').forEach(function(cb) { |
| 273 |
cb.checked = false; |
| 274 |
}); |
| 275 |
}); |
| 276 |
} |
| 277 |
}); |
| 278 |
</script> |
| 279 |
</div> |