function aitAddAdminBarMenu($wpAdminBar) { global $showAdmin, $aitThemeConfig; $adminUrl = get_admin_url(0, 'admin.php?page='); $adminId = 'ait-admin'; $rootId = ''; $rootHref = ''; if (isset($showAdmin['branding']) == false) { $showAdmin['branding'] = "enabled"; } if (@$showAdmin['backup'] != 'disabled') { $rootId = 'ait-admin-backup'; } if (@$showAdmin['skins'] != 'disabled') { $rootId = 'ait-admin-skins'; } if (@$showAdmin['branding'] != 'disabled') { $rootId = 'ait-admin-branding'; } if (@$showAdmin['website_settings'] != 'disabled') { $c = array_slice($aitThemeConfig, 0, 1); $_keys = array_keys($c); $key = reset($_keys); $rootHref = 'ait-admin-' . $key; $rootId = $adminId; } $pages = array(); if (@$showAdmin['branding'] != 'disabled' and isset($aitDisableBranding) and !@$aitDisableBranding) { $pages['branding'] = __('Admin Branding', 'ait'); } if (@$showAdmin['skins'] != 'disabled') { $pages['skins'] = __('Skins', 'ait'); } if (@$showAdmin['backup'] != 'disabled') { $pages['backup'] = __('Backup', 'ait'); } if ($rootId) { // root node if (@$showAdmin['dashboard'] != 'disabled') { $wpAdminBar->add_node(array('id' => $rootId, 'title' => __('AIT Themes Admin', 'ait'), 'href' => $adminUrl . $rootHref)); } else { $wpAdminBar->add_node(array('id' => $rootId, 'title' => __('Theme Admin', 'ait'), 'href' => $adminUrl . $rootHref)); } } // Dashboard pages if (@$showAdmin['dashboard'] != 'disabled') { $dashboardPages = array('docs' => __('Documentation', 'ait'), 'faq' => __('FAQ', 'ait'), 'support' => __('Support Forum', 'ait')); $wpAdminBar->add_node(array('id' => $rootId . '-dashboard', 'parent' => $rootId, 'title' => __('AIT Dashboard', 'ait'), 'href' => $adminUrl . $adminId)); foreach ($dashboardPages as $id => $title) { if ($id == 'support') { $wpAdminBar->add_node(array('id' => "{$rootId}-{$id}", 'parent' => $rootId . '-dashboard', 'title' => $title, 'href' => 'http://support.ait-themes.com/categories/wp-' . THEME_CODE_NAME, 'meta' => array('target' => '_blank'))); } else { $wpAdminBar->add_node(array('id' => "{$rootId}-{$id}", 'parent' => $rootId . '-dashboard', 'title' => $title, 'href' => $adminUrl . $adminId . "&tab={$id}")); } } } // Config pages if (@$showAdmin['website_settings'] != 'disabled') { foreach ($aitThemeConfig as $key => $page) { $wpAdminBar->add_node(array('id' => $rootId . "-{$key}", 'parent' => $rootId, 'title' => esc_html($page['menu-title']), 'href' => $adminUrl . $adminId . "-{$key}")); if (isset($page['tabs'])) { foreach ($page['tabs'] as $tabKey => $tab) { $wpAdminBar->add_node(array('id' => $rootId . "-{$tabKey}", 'parent' => $rootId . "-{$key}", 'title' => esc_html($tab['tab-title']), 'href' => $adminUrl . $adminId . "-{$key}&tab=" . $tabKey)); } } } } // Branding, Skins, Backup foreach ($pages as $id => $title) { $wpAdminBar->add_node(array('id' => "{$rootId}-{$id}", 'parent' => $rootId, 'title' => $title, 'href' => $adminUrl . $adminId . "-{$id}")); } // Updates $updates = aitGetAitUpdatesData(); if ($updates['counts']['total'] != 0) { $title = '<span class="ab-icon"></span><span class="ab-label">' . number_format_i18n($updates['counts']['total']) . '</span>'; $wpAdminBar->add_node(array('id' => "{$rootId}-updates", 'parent' => false, 'title' => $title, 'href' => $adminUrl . $adminId, 'meta' => array('title' => $updates['title'], 'class' => 'ait-ab-updates'))); } }
/** * Generates AIT Admin menu * @param array $config Content of parsed config file */ function aitGenerateAdminMenu($config, $brandingOptions) { global $aitDisableBranding, $showAdmin; $branding = @$brandingOptions->branding; $updateData = aitGetAitUpdatesData(); $c = array_slice($config, 0, 1); $_keys = array_keys($c); $key = reset($_keys); $_values = array_values($c); $page = reset($_values); unset($c); $wkey = $key; if (current_user_can('manage_options') && @$showAdmin['dashboard'] != 'disabled') { $adminTitle = THEME_SHORT_NAME . ' ' . __('Options', THEME_CODE_NAME); $title = 'AIT Themes'; $slug = 'ait-admin'; $key = 'ait-admin'; } else { if (@$showAdmin['backup'] != 'disabled') { $adminTitle = $branding->adminTitle; $title = $adminTitle; $slug = 'ait-admin-backup'; $key = 'backup'; } if (@$showAdmin['skins'] != 'disabled') { $adminTitle = $branding->adminTitle; $title = $adminTitle; $slug = 'ait-admin-skins'; $key = 'skins'; } if (!@$aitDisableBranding) { if (@$showAdmin['branding'] != 'disabled') { $adminTitle = $branding->adminTitle; $title = $adminTitle; $slug = 'ait-admin-branding'; $key = 'branding'; } } if (@$showAdmin['website_settings'] != 'disabled') { $adminTitle = $branding->adminTitle; $title = $adminTitle; $slug = 'ait-admin-' . $wkey; $key = $wkey; } } add_filter('option_page_capability_' . AIT_OPTIONS_KEY, create_function('', "return 'unfiltered_html';"), 1); if ($slug) { add_menu_page($title, sprintf(__('AIT Dashboard %s', THEME_CODE_NAME), "<span class='update-plugins count-{$updateData['counts']['total']}' title='{$updateData['title']}'><span class='update-count'>" . number_format_i18n($updateData['counts']['total']) . "</span></span>"), 'unfiltered_html', $slug, create_function('', 'aitAdmin("' . $key . '", "' . $adminTitle . '");'), THEME_URL . '/' . @$branding->adminMenuIcon, AIT_ADMIN_POSITION + 1); } if (@$showAdmin['dashboard'] != 'disabled') { if (current_user_can('manage_options') && @$showAdmin['dashboard'] != 'disabled') { add_submenu_page('ait-admin', THEME_LONG_NAME . ' Dashboard', 'AIT Dashboard', 'manage_options', 'ait-admin'); } else { add_submenu_page($slug, THEME_LONG_NAME . ' ' . esc_html($page['title']), esc_html($page['menu-title']), 'unfiltered_html', $slug); array_shift($config); } } if (isset($showAdmin['website_settings']) == false) { $showAdmin['website_settings'] = "enabled"; } if (@$showAdmin['website_settings'] != 'disabled') { foreach ($config as $keyF => $page) { if ($keyF != $key) { add_submenu_page($slug, THEME_LONG_NAME . ' ' . esc_html($page['title']), esc_html($page['menu-title']), 'unfiltered_html', 'ait-admin-' . $keyF, create_function('', 'aitAdmin("' . $keyF . '", "' . $adminTitle . '");')); } else { add_submenu_page($slug, THEME_LONG_NAME . ' ' . esc_html($page['title']), esc_html($page['menu-title']), 'unfiltered_html', 'ait-admin-' . $keyF); } } } if (isset($aitDisableBranding) == false) { $aitDisableBranding = false; } if (!@$aitDisableBranding) { if (isset($showAdmin['branding']) == false) { $showAdmin['branding'] = "enabled"; } if (@$showAdmin['branding'] != 'disabled') { if ($slug != "ait-admin-branding") { add_submenu_page($slug, THEME_LONG_NAME . ' ' . __('Admin Branding', THEME_CODE_NAME), __('Admin Branding', THEME_CODE_NAME), 'manage_options', 'ait-admin-branding', create_function('', 'aitAdmin("branding", "' . __('Admin Branding', THEME_CODE_NAME) . '");')); } else { add_submenu_page($slug, THEME_LONG_NAME . ' ' . __('Admin Branding', THEME_CODE_NAME), __('Admin Branding', THEME_CODE_NAME), 'manage_options', 'ait-admin-branding'); } } } if (isset($showAdmin['skins']) == false) { $showAdmin['skins'] = "enabled"; } if (@$showAdmin['skins'] != 'disabled') { if ($slug != "ait-admin-skins") { add_submenu_page($slug, THEME_LONG_NAME . ' ' . __('Skins', THEME_CODE_NAME), __('Skins', THEME_CODE_NAME), 'manage_options', 'ait-admin-skins', create_function('', 'aitAdmin("skins", "' . sprintf(__('Skins for %s', THEME_CODE_NAME), THEME_SHORT_NAME) . '");')); } else { add_submenu_page($slug, THEME_LONG_NAME . ' ' . __('Skins', THEME_CODE_NAME), __('Skins', THEME_CODE_NAME), 'manage_options', 'ait-admin-skins'); } } if (isset($showAdmin['backup']) == false) { $showAdmin['backup'] = "enabled"; } if (@$showAdmin['backup'] != 'disabled') { if ($slug != "ait-admin-backup") { add_submenu_page($slug, THEME_LONG_NAME . ' ' . __('Backup', THEME_CODE_NAME), __('Backup', THEME_CODE_NAME), 'manage_options', 'ait-admin-backup', create_function('', 'aitAdmin("backup", "' . __('Backup', THEME_CODE_NAME) . '");')); } else { add_submenu_page($slug, THEME_LONG_NAME . ' ' . __('Backup', THEME_CODE_NAME), __('Backup', THEME_CODE_NAME), 'manage_options', 'ait-admin-backup'); } } }