/** * * @TODO document * */ function pl_default_setting($args) { if (pagelines_activate_or_reset()) { global $new_default_settings; $default = array('key' => '', 'value' => '', 'parent' => null, 'subkey' => null, 'setting' => PAGELINES_SETTINGS); $set = wp_parse_args($args, $default); $new_default_settings[] = $set; } }
/** * * @TODO document * */ function pagelines_register_settings() { register_setting(PAGELINES_SETTINGS, PAGELINES_SETTINGS, 'pagelines_settings_callback'); register_setting(PAGELINES_SPECIAL, PAGELINES_SPECIAL); register_setting(PAGELINES_TEMPLATES, PAGELINES_TEMPLATES); /* Typography Options */ $GLOBALS['pl_foundry'] = new PageLinesFoundry(); /* Import/Exporting */ pagelines_import_export(); pagelines_process_reset_options(); if (!isset($_REQUEST['page']) || $_REQUEST['page'] != 'pagelines') { return; } global $new_default_settings; /* New Default Options in Child Themes */ if (!isset($_GET['newoptions']) && pagelines_activate_or_reset() && !empty($new_default_settings)) { $type = sprintf('&%s=true', pagelines_activate_or_reset()); foreach ($new_default_settings as $key => $set) { plupop($set['key'], $set['value'], array('parent' => $set['parent'], 'subkey' => $set['subkey'], 'setting' => $set['setting'])); } wp_redirect(admin_url(PL_SETTINGS_URL . '&newoptions=true' . $type)); } /* Handle Reset of Options */ if (ploption('reset')) { update_option(PAGELINES_SETTINGS, pagelines_settings_defaults()); global $extension_control; $extension_control->flush_caches(); wp_redirect(admin_url(PL_SETTINGS_URL . '&reset=true')); exit; } }