function aitAddShortcodesButtons()
{
    global $aitThemeShortcodes, $aitEditorShortcodes;
    if (isset($aitThemeShortcodes) and !empty($aitThemeShortcodes)) {
        foreach ($aitThemeShortcodes as $shortcode => $ver) {
            require_once AIT_FRAMEWORK_DIR . "/Shortcodes/{$shortcode}/load.php";
        }
    }
    if (!current_user_can('edit_posts') && !current_user_can('edit_pages')) {
        return;
    }
    if (get_user_option('rich_editing') == 'true' && aitShowAdminFeature('wysiwyg') and is_admin()) {
        add_filter('mce_external_plugins', 'aitMceExternaPlugins');
        add_filter('mce_buttons_3', 'aitMceButtons');
    }
}
Beispiel #2
0
/**
 * Generates AIT Admin menu
 * @param array $config Content of parsed config file
 */
function aitGenerateAdminMenu($config, $brandingOptions)
{
    $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') && aitShowAdminFeature('dashboard')) {
        $adminTitle = THEME_SHORT_NAME . ' ' . __('Options', THEME_CODE_NAME);
        $title = 'AIT Themes';
        $slug = 'ait-admin';
        $key = 'ait-admin';
    } else {
        if (aitShowAdminFeature('backup')) {
            $adminTitle = $branding->adminTitle;
            $title = $adminTitle;
            $slug = 'ait-admin-backup';
            $key = 'backup';
        }
        if (aitShowAdminFeature('skins')) {
            $adminTitle = $branding->adminTitle;
            $title = $adminTitle;
            $slug = 'ait-admin-skins';
            $key = 'skins';
        }
        if (aitShowAdminFeature('branding')) {
            $adminTitle = $branding->adminTitle;
            $title = $adminTitle;
            $slug = 'ait-admin-branding';
            $key = 'branding';
        }
        if (aitShowAdminFeature('website_settings')) {
            $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) {
        $cap = current_user_can('manage_options') ? 'manage_options' : 'unfiltered_html';
        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>"), $cap, $slug, create_function('', 'aitAdmin("' . $key . '", "' . $adminTitle . '");'), THEME_URL . '/' . @$branding->adminMenuIcon, AIT_ADMIN_POSITION + 1);
    }
    if (aitShowAdminFeature('dashboard')) {
        if (current_user_can('manage_options') && aitShowAdminFeature('dashboard')) {
            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 (aitShowAdminFeature('website_settings')) {
        foreach ($config as $keyF => $page) {
            if ($keyF != $key) {
                add_submenu_page($slug, THEME_LONG_NAME . ' ' . esc_html($page['title']), esc_html($page['menu-title']), 'manage_options', '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 (aitShowAdminFeature('branding')) {
        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 (aitShowAdminFeature('skins')) {
        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 (aitShowAdminFeature('backup')) {
        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');
        }
    }
}
Beispiel #3
0
function aitAddAdminBarMenu($wpAdminBar)
{
    global $aitThemeConfig;
    $adminUrl = get_admin_url(0, 'admin.php?page=');
    $adminId = 'ait-admin';
    $rootId = '';
    $rootHref = '';
    if (aitShowAdminFeature('backup')) {
        $rootId = 'ait-admin-backup';
    }
    if (aitShowAdminFeature('skins')) {
        $rootId = 'ait-admin-skins';
    }
    if (aitShowAdminFeature('branding')) {
        $rootId = 'ait-admin-branding';
    }
    if (aitShowAdminFeature('website_settings')) {
        $c = array_slice($aitThemeConfig, 0, 1);
        $_keys = array_keys($c);
        $key = reset($_keys);
        $rootHref = 'ait-admin-' . $key;
        $rootId = $adminId;
    }
    $pages = array();
    if (aitShowAdminFeature('branding') and isset($aitDisableBranding) and !@$aitDisableBranding) {
        $pages['branding'] = __('Admin Branding', 'ait');
    }
    if (aitShowAdminFeature('skins')) {
        $pages['skins'] = __('Skins', 'ait');
    }
    if (aitShowAdminFeature('backup')) {
        $pages['backup'] = __('Backup', 'ait');
    }
    if ($rootId) {
        // root node
        if (aitShowAdminFeature('dashboard')) {
            $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 (aitShowAdminFeature('dashboard')) {
        $dashboardPages = array('docs' => __('Documentation', 'ait'), 'faq' => __('FAQ', 'ait'));
        $wpAdminBar->add_node(array('id' => $rootId . '-dashboard', 'parent' => $rootId, 'title' => __('AIT Dashboard', 'ait'), 'href' => $adminUrl . $adminId));
        foreach ($dashboardPages as $id => $title) {
            $wpAdminBar->add_node(array('id' => "{$rootId}-{$id}", 'parent' => $rootId . '-dashboard', 'title' => $title, 'href' => $adminUrl . $adminId . "&tab={$id}"));
        }
    }
    //  Config pages
    if (aitShowAdminFeature('website_settings')) {
        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}&amp;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')));
    }
}