# Dir of templates, Dir of images and url of CSS file
if (!defined('SPTEMPLATES')) {
    define('SPTEMPLATES', SPTHEMEBASEDIR . $curTheme['theme'] . '/templates/');
}
if (!defined('SPTHEMEURL')) {
    define('SPTHEMEURL', SPTHEMEBASEURL . $curTheme['theme'] . '/styles/');
}
if (!defined('SPTHEMEDIR')) {
    define('SPTHEMEDIR', SPTHEMEBASEDIR . $curTheme['theme'] . '/styles/');
}
if (!defined('SPTHEMEICONSURL')) {
    $i = !isset($curTheme['icons']) || empty($curTheme['icons']) ? '/images/' : '/images/' . $curTheme['icons'] . '/';
    $p = $spDevice == 'mobile' && file_exists(SPTHEMEBASEDIR . $curTheme['theme'] . $i . 'mobile/') ? $curTheme['theme'] . $i . 'mobile/' : $curTheme['theme'] . $i;
    define('SPTHEMEICONSURL', SPTHEMEBASEURL . $p);
    define('SPTHEMEICONSDIR', SPTHEMEBASEDIR . $p);
    sp_set_image_array($curTheme);
}
if (!defined('SPTHEMECSS')) {
    define('SPTHEMECSS', SPTHEMEBASEURL . $curTheme['theme'] . '/styles/' . $curTheme['style']);
}
if (!defined('SPTHEMECSSEXTRA')) {
    define('SPTHEMECSSEXTRA', SPTHEMEBASEURL . $curTheme['theme'] . '/styles/');
}
# Location of uploaded Avatars, Smileys and Ranks
if (!defined('SFAVATARURL')) {
    define('SFAVATARURL', SF_STORE_URL . '/' . $spPaths['avatars'] . '/');
}
if (!defined('SFAVATARDIR')) {
    define('SFAVATARDIR', SF_STORE_DIR . '/' . $spPaths['avatars'] . '/');
}
if (!defined('SFAVATARPOOLURL')) {
Ejemplo n.º 2
0
function sp_load_plugin_styles($ahahCall = false)
{
    global $spCSSLoaded, $spDevice, $spPaths, $spGlobals;
    if (!sp_get_option('sfwpheadbypass') && $spCSSLoaded) {
        return;
    }
    $curTheme = $spGlobals['theme'];
    $curTheme = apply_filters('sph_theme', $curTheme);
    $vars = '';
    $overlay = '';
    # handle chiild themes
    $parentTheme = !empty($curTheme['parent']) ? sp_get_theme_data(SPTHEMEBASEDIR . $curTheme['parent'] . '/spTheme.txt') : '';
    # handle color overlays
    if (current_theme_supports('sp-theme-child-overlays')) {
        # can use - so might be - a child theme overlay
        $overlay = !empty($curTheme['color']) ? $curTheme['color'] : '';
        if (!empty($parentTheme) && !empty($curTheme['color'])) {
            # must be a child with an overlay selected so...
            # is the overlay in the child theme or not?
            if (file_exists(SPTHEMEBASEDIR . $curTheme['theme'] . '/styles/overlays/' . $curTheme['color'] . '.php')) {
                $theme = $curTheme['theme'];
            } elseif (!empty($curTheme['color'])) {
                $theme = $curTheme['parent'];
            }
        } else {
            $theme = $curTheme['theme'];
        }
    } else {
        # no support for child overlays so do it the old eway
        $overlay = !empty($curTheme['color']) ? $curTheme['color'] : '';
        if (!empty($parentTheme) && !empty($curTheme['color'])) {
            $theme = $curTheme['parent'];
        } else {
            $theme = $curTheme['theme'];
        }
    }
    $vars = !empty($overlay) ? '?overlay=' . esc_attr($overlay) . '&theme=' . esc_attr($theme) : '';
    # add device query var string
    $vars = !empty($vars) ? "{$vars}&device={$spDevice}" : "?device={$spDevice}";
    # set the images path array
    sp_set_image_array($curTheme);
    $spCSSLoaded = true;
    # if called from the AHAH/AJAX init routine then leave now...
    if ($ahahCall) {
        return;
    }
    # handle RTL
    if (is_rtl()) {
        $vars = !empty($vars) ? "{$vars}&rtl=1" : '?rtl=1';
    }
    $reset = is_rtl() ? 'reset.rtl.css' : 'reset,css';
    # enqueue the main theme css
    if (sp_is_plugin_active('user-selection/sp-user-selection-plugin.php')) {
        if (!empty($parentTheme)) {
            $cssTheme = strpos($parentTheme['Stylesheet'], '.css') ? true : false;
            if ($cssTheme && file_exists(SPTHEMEBASEDIR . $curTheme['parent'] . '/styles/' . $reset)) {
                wp_enqueue_style('sp-parent-reset', SPTHEMEBASEURL . $curTheme['parent'] . '/styles/' . $reset);
            }
            wp_enqueue_style('sp-parent', SPTHEMEBASEURL . $curTheme['parent'] . '/styles/' . $parentTheme['Stylesheet'] . $vars);
            if (is_rtl() && $cssTheme && file_exists(SPTHEMEBASEDIR . $curTheme['parent'] . '/styles/rtl.css')) {
                wp_enqueue_style('sp-parent-rtl', SPTHEMEBASEURL . $curTheme['parent'] . '/styles/rtl.css');
            }
        }
        $cssTheme = strpos(SPTHEMECSS, '.css') ? true : false;
        if ($cssTheme && file_exists(SPTHEMEDIR . $reset)) {
            wp_enqueue_style('sp-theme-reset', SPTHEMECSSEXTRA . $reset);
        }
        wp_enqueue_style('sp-theme', SPTHEMECSS . $vars);
        if (is_rtl() && $cssTheme && file_exists(SPTHEMEDIR . 'rtl.css')) {
            wp_enqueue_style('sp-theme-rtl', SPTHEMECSSEXTRA . 'rtl.css');
        }
    } else {
        if (!empty($parentTheme)) {
            $cssTheme = strpos($parentTheme['Stylesheet'], '.css') ? true : false;
            if ($cssTheme && file_exists(SPTHEMEBASEDIR . $curTheme['parent'] . '/styles/' . $reset)) {
                sp_plugin_enqueue_style('sp-parent-reset', SPTHEMEBASEURL . $curTheme['parent'] . '/styles/' . $reset);
            }
            sp_plugin_enqueue_style('sp-parent', SPTHEMEBASEURL . $curTheme['parent'] . '/styles/' . $parentTheme['Stylesheet'] . $vars);
            if (is_rtl() && $cssTheme && file_exists(SPTHEMEBASEDIR . $curTheme['parent'] . '/styles/rtl.css')) {
                sp_plugin_enqueue_style('sp-parent-rtl', SPTHEMEBASEURL . $curTheme['parent'] . '/styles/rtl.css');
            }
        }
        $cssTheme = strpos(SPTHEMECSS, '.css') ? true : false;
        if ($cssTheme && file_exists(SPTHEMEDIR . $reset)) {
            sp_plugin_enqueue_style('sp-theme-reset', SPTHEMECSSEXTRA . $reset);
        }
        sp_plugin_enqueue_style('sp-theme', SPTHEMECSS . $vars);
        if (is_rtl() && $cssTheme && file_exists(SPTHEMEDIR . 'rtl.css')) {
            sp_plugin_enqueue_style('sp-theme-rtl', SPTHEMECSSEXTRA . 'rtl.css');
        }
    }
    # concat (if needed) and enqueue the plugin css
    do_action('sph_print_plugin_styles');
    $combine_css = sp_get_option('combinecss');
    if ($combine_css) {
        sp_combine_plugin_css_files();
    } else {
        global $sp_plugin_styles;
        if (!empty($sp_plugin_styles)) {
            foreach ($sp_plugin_styles->queue as $handle) {
                wp_enqueue_style($handle, $sp_plugin_styles->registered[$handle]->src);
            }
        }
    }
    do_action('sph_styles_end');
}