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; }