Beispiel #1
0
function enlightenment_auto_validate_font_options($input)
{
    global $wp_settings_fields;
    foreach ($wp_settings_fields as $page) {
        foreach ($page as $section) {
            foreach ($section as $field) {
                if (isset($field['args']['name']) && false !== strpos($field['args']['name'], '[')) {
                    continue;
                }
                if ('enlightenment_font_options' == $field['callback']) {
                    $input[$field['args']['name'] . '_font_family'] = enlightenment_validate_font_family($input[$field['args']['name'] . '_font_family'], enlightenment_theme_option($field['args']['name'] . '_font_family'));
                    $input[$field['args']['name'] . '_font_size'] = enlightenment_validate_font_size($input[$field['args']['name'] . '_font_size'], enlightenment_theme_option($field['args']['name'] . '_font_size'));
                    $input[$field['args']['name'] . '_font_style'] = enlightenment_validate_font_style($input[$field['args']['name'] . '_font_style'], enlightenment_theme_option($field['args']['name'] . '_font_style'));
                    $input[$field['args']['name'] . '_font_color'] = enlightenment_validate_color($input[$field['args']['name'] . '_font_color'], enlightenment_theme_option($field['args']['name'] . '_font_color'));
                }
            }
        }
    }
    return $input;
}
function enlightenment_validate_unlimited_sidebars($input)
{
    global $wp_registered_sidebars;
    if (!isset($input['sidebars'])) {
        $input['sidebars'] = array();
    }
    $delete = array();
    foreach ($input['sidebars'] as $sidebar => $atts) {
        if (isset($input['sidebars'][$sidebar]['delete'])) {
            $delete[] = $sidebar;
        }
    }
    foreach ($input['sidebars'] as $sidebar => $atts) {
        if (empty($atts['name'])) {
            unset($input['sidebars'][$sidebar]);
            continue;
        }
        if (0 !== strpos($sidebar, 'sidebar-')) {
            unset($input['sidebars'][$sidebar]);
        }
        if (!is_numeric(str_replace('sidebar-', '', $sidebar))) {
            unset($input['sidebars'][$sidebar]);
        }
        $input['sidebars'][$sidebar]['display_title'] = isset($input['sidebars'][$sidebar]['display_title']) && false !== $input['sidebars'][$sidebar]['display_title'];
        $input['sidebars'][$sidebar]['display_description'] = isset($input['sidebars'][$sidebar]['display_description']) && false !== $input['sidebars'][$sidebar]['display_description'];
        if (current_theme_supports('enlightenment-bootstrap')) {
            $input['sidebars'][$sidebar]['contain_widgets'] = isset($input['sidebars'][$sidebar]['contain_widgets']) && false !== $input['sidebars'][$sidebar]['contain_widgets'];
        }
        $input['sidebars'][$sidebar]['background'] = enlightenment_validate_background_options($input['sidebars'][$sidebar]['background']);
        $input['sidebars'][$sidebar]['sidebar_title_color'] = enlightenment_validate_color($input['sidebars'][$sidebar]['sidebar_title_color']);
        $input['sidebars'][$sidebar]['sidebar_text_color'] = enlightenment_validate_color($input['sidebars'][$sidebar]['sidebar_text_color']);
        $input['sidebars'][$sidebar]['widgets_background_color'] = enlightenment_validate_color($input['sidebars'][$sidebar]['widgets_background_color']);
        $input['sidebars'][$sidebar]['widgets_title_color'] = enlightenment_validate_color($input['sidebars'][$sidebar]['widgets_title_color']);
        $input['sidebars'][$sidebar]['widgets_text_color'] = enlightenment_validate_color($input['sidebars'][$sidebar]['widgets_text_color']);
        $input['sidebars'][$sidebar]['widgets_link_color'] = enlightenment_validate_color($input['sidebars'][$sidebar]['widgets_link_color']);
    }
    $option = enlightenment_theme_option('sidebars');
    if (!is_array($option)) {
        $option = array();
    }
    $input['sidebars'] = array_merge($option, $input['sidebars']);
    foreach ($input['sidebars'] as $sidebar => $atts) {
        if (in_array($sidebar, $delete)) {
            unset($input['sidebars'][$sidebar]);
        }
    }
    if (isset($input['select_template'])) {
        $template = $input['select_template'];
        unset($input['select_template']);
        foreach ($input['sidebar_locations'] as $tpl => $atts) {
            if ($tpl != $template) {
                unset($input['sidebar_locations'][$tpl]);
            }
        }
        $locations = enlightenment_sidebar_locations();
        foreach ($input['sidebar_locations'][$template] as $location => $sidebar) {
            if ('' != $location) {
                if (!array_key_exists($location, $locations)) {
                    unset($input['sidebar_locations'][$location]);
                }
                if (!array_key_exists($sidebar, $wp_registered_sidebars)) {
                    unset($input['sidebar_locations'][$location]);
                }
            }
        }
        $option = enlightenment_theme_option('sidebar_locations', array());
        $input['sidebar_locations'] = array_merge($option, $input['sidebar_locations']);
    }
    return $input;
}