/** * Init options to white list our options * Store initial settings in DB * * @since 0.1 */ function wppb_options_init() { // Register settings register_setting('wppb_settings_import', 'wppb_settings_theme_import', 'wppb_settings_import_validate'); $wppb_design = wppb_grab_design('wppaintbrush'); // Grab default design // Adding initial settings add_option(WPPB_SETTINGS, $wppb_design); add_option('wppb_designer_pane', 'on'); $wppb_templates = $wppb_design; // Set Paintbrush template options $wppb_templates['paintbrush_designer'] = ''; // Remove 'paintbrush_designer' since needs to be stored separately $wppb_designer_settings = explode(']]', $wppb_design['paintbrush_designer']); foreach ($wppb_designer_settings as $tmp => $setting) { $setting = explode('|', $setting); $name = $setting[0]; if (!isset($setting[1])) { $setting[1] = ''; } $option = $setting[1]; $wppb_designer_array[$name] = $option; } $wppb_designer_array = wppb_sanitize_inputs($wppb_designer_array); $wppb_designer_array['css'] = $wppb_templates['css']; // Storing CSS in designer array so that can be used on page load (otherwise need to make server call on initial page load) add_option(WPPB_DESIGNER_SETTINGS, $wppb_designer_array); }
/** * Utilized within child themes for changing to a new design * @since 1.0.6 */ function wppb_theme_setup($autoload = '') { global $pagenow; // Spit error out if child theme requires newer version of WP Paintbrush (and on themes page) if ('' != WPPB_CHILD_VERSION && 'themes.php' == $pagenow) { $wppb_theme_data = get_theme_data(get_template_directory_uri() . '/style.css'); if ($wppb_theme_data['Version'] < WPPB_CHILD_VERSION) { add_action('admin_notices', 'wppb_childtheme_version_error'); } } $css = get_wppb_option('css'); // Used for checking if data stored if (is_admin() && isset($_GET['activated']) && $pagenow == 'themes.php' && !isset($css) || 'autoload' == $autoload) { // Grab design if (defined('WPPB_CHILD_THEME')) { $wppb_design = wppb_grab_design(WPPB_CHILD_THEME); } else { $wppb_design = wppb_grab_design('wppaintbrush'); } // Grab default design // Change the design to the one specified (alters front-end editor settings) wppb_change_design($wppb_design); // Publish theme wppb_publish_options($wppb_design, $wppb_design['css']); } }