class-content-box-large.php
2 years ago
class-input-checkbox.php
2 years ago
class-link-box.php
2 years ago
class-modal-feedback.php
2 years ago
class-modal.php
2 years ago
class-navigation.php
2 years ago
class-premium-box-large.php
2 years ago
class-premium-box.php
2 years ago
class-premium-feature-list.php
2 years ago
class-review-box.php
2 years ago
class-support-box.php
2 years ago
class-support-link-boxes.php
2 years ago
class-navigation.php
78 lines
| 1 | <?php |
| 2 | |
| 3 | namespace SuperbAddons\Components\Admin; |
| 4 | |
| 5 | use SuperbAddons\Admin\Controllers\DashboardController; |
| 6 | use SuperbAddons\Data\Controllers\KeyController; |
| 7 | |
| 8 | defined('ABSPATH') || exit(); |
| 9 | |
| 10 | class Navigation |
| 11 | { |
| 12 | private $pages; |
| 13 | private $active_page; |
| 14 | private $issue_detected = false; |
| 15 | private $has_premium = false; |
| 16 | |
| 17 | public function __construct() |
| 18 | { |
| 19 | $HasRegisteredKey = KeyController::HasRegisteredKey(); |
| 20 | if ($HasRegisteredKey) { |
| 21 | $this->has_premium = KeyController::HasPremiumKey(); |
| 22 | $KeyStatus = KeyController::GetKeyStatus(); |
| 23 | if (!$KeyStatus['active'] || $KeyStatus['expired'] || !$KeyStatus['verified'] || $KeyStatus['exceeded']) { |
| 24 | $this->issue_detected = true; |
| 25 | } |
| 26 | } |
| 27 | |
| 28 | $this->active_page = isset($_GET['page']) ? $_GET['page'] : DashboardController::DASHBOARD; |
| 29 | $this->pages = array( |
| 30 | DashboardController::MENU_SLUG => __("Dashboard", "superb-blocks"), |
| 31 | DashboardController::GUTENBERG_DASHBOARD => __("Gutenberg Addons", "superb-blocks"), |
| 32 | DashboardController::ELEMENTOR_DASHBOARD => __("Elementor Addons", "superb-blocks"), |
| 33 | DashboardController::SETTINGS => __("Settings", "superb-blocks"), |
| 34 | DashboardController::SUPPORT => __("Support", "superb-blocks"), |
| 35 | ); |
| 36 | $this->Render(); |
| 37 | } |
| 38 | |
| 39 | private function Render() |
| 40 | { |
| 41 | ?> |
| 42 | <div class="superbaddons-admindashboard-navigation"> |
| 43 | <div class="superbaddons-admindashboard-navigation-toplevel"> |
| 44 | <a href="<?= esc_url(admin_url('admin.php?page=' . DashboardController::MENU_SLUG)); ?>" class="superbaddons-admindashboard-navigation-logo-wrapper"> |
| 45 | <img src="<?= esc_url(SUPERBADDONS_ASSETS_PATH . '/img/icon-superb.svg'); ?>" /> |
| 46 | <span class="superbaddons-element-text-md superbaddons-element-text-800 superbaddons-element-text-dark">Superb Addons</span> |
| 47 | </a> |
| 48 | <div class="superbaddons-admindashboard-navigation-shortcuts"> |
| 49 | <?php if (!$this->has_premium) : ?> |
| 50 | <a class="superbaddons-admindashboard-navigation-shortcuts-item" target="_blank" href="https://superbthemes.com/superb-addons/" title="<?= esc_attr__("Get Premium", "superb-blocks"); ?>"><img src="<?= esc_url(SUPERBADDONS_ASSETS_PATH . '/img/color-crown.svg'); ?>" alt="<?= esc_attr__("Get Premium", "superb-blocks"); ?>" /></a> |
| 51 | <?php endif; ?> |
| 52 | <a class="superbaddons-admindashboard-navigation-shortcuts-item" target="_blank" href="https://superbthemes.com/customer-support/" title="<?= esc_attr__("Contact Support", "superb-blocks"); ?>"><img src="<?= esc_url(SUPERBADDONS_ASSETS_PATH . '/img/help.svg'); ?>" alt="<?= esc_attr__("Contact Support", "superb-blocks"); ?>" /></a> |
| 53 | <a class="superbaddons-admindashboard-navigation-shortcuts-item" target="_blank" href="https://superbthemes.com/documentation/" title="<?= esc_attr__("View Documentation", "superb-blocks"); ?>"><img src="<?= esc_url(SUPERBADDONS_ASSETS_PATH . '/img/file.svg'); ?>" alt="<?= esc_attr__("View Documentation", "superb-blocks"); ?>" /></a> |
| 54 | <span class="superbaddons-admindashboard-navigation-shortcuts-item"> |
| 55 | <?= esc_html(SUPERBADDONS_VERSION); ?> |
| 56 | <?php if ($this->has_premium) : ?> |
| 57 | <img class="superbaddons-element-ml1" src="<?= esc_url(SUPERBADDONS_ASSETS_PATH . '/img/purple-crown.svg'); ?>" alt="<?= esc_attr__("Premium License", "superb-blocks"); ?>" /> |
| 58 | <?php endif; ?> |
| 59 | </span> |
| 60 | </div> |
| 61 | </div> |
| 62 | <div class="superbaddons-admindashboard-navigation-bottomlevel"> |
| 63 | <?php foreach ($this->pages as $pagekey => $pagetitle) : ?> |
| 64 | <a href="<?= esc_url(admin_url('admin.php?page=' . $pagekey)); ?>" class="superbaddons-admindashboard-navigation-bottomlevel-item <?= $pagekey == $this->active_page ? 'superbaddons-admindashboard-active' : ''; ?>"> |
| 65 | <?= esc_html($pagetitle); ?> |
| 66 | <?php |
| 67 | if ($pagekey == DashboardController::SETTINGS && $this->issue_detected) : |
| 68 | printf('<img class="superbaddons-admindashboard-navigation-bottomlevel-item-issue-img" src="%s" alt="%s"/>', esc_url(SUPERBADDONS_ASSETS_PATH . '/img/color-warning-octagon.svg'), esc_attr__("Issue Detected", "superb-blocks")); |
| 69 | endif; |
| 70 | ?> |
| 71 | </a> |
| 72 | <?php endforeach; ?> |
| 73 | </div> |
| 74 | </div> |
| 75 | <?php |
| 76 | } |
| 77 | } |
| 78 |