/** * flush_tarski_options() - Flushes Tarski's options for use by the theme. * * Creates a new Options object, and gets the current options. If * no options have been set in the database, it will return the * defaults. Additionally, if the 'deleted' property has been set * then the function will check to see if it was set more than two * hours ago--if it was, the tarski_options database row will be * dropped. If the 'deleted' property has been set, then the defaults * will be returned regardless of whether other options are set. * @since 1.4 * @global object $tarski_options * @return object $tarski_options */ function flush_tarski_options() { global $tarski_options; $tarski_options = new Options(); $tarski_options->tarski_options_get(); if (!get_option('tarski_options') || isset($tarski_options->deleted)) { $tarski_options->tarski_options_defaults(); } }
/** * function tarski_upgrade() - Upgrades Tarski's options where appropriate. * * Tarski preferences sometimes change between versions, and need to * be updated. This function does not determine whether an update is * needed, it merely perfoms it. It's also self-contained, so it * won't update the global $tarski_options object either. * @since 2.1 * @uses tarski_upgrade_special() * @uses tarski_upgrade_widgets() */ function tarski_upgrade() { // Get existing options $options = new Options(); $options->tarski_options_get(); // Get our defaults, so we can merge them in $defaults = new Options(); $defaults->tarski_options_defaults(); // Update the options version so we don't run this code more than once $options->installed = theme_version('current'); // Handle special cases first tarski_upgrade_special($options, $defaults); // Upgrade old display options to use widgets instead tarski_upgrade_widgets($options, $defaults); // Conform our options to the expected values, types, and defaults foreach ($options as $name => $value) { if (!isset($defaults->{$name})) { // Get rid of options which no longer exist unset($options->{$name}); } elseif (!isset($options->{$name})) { // Use the default if we don't have this option $options->{$name} = $defaults->{$name}; } elseif (is_array($options->{$name}) && !is_array($defaults->{$name})) { // If our option is an array and the default is not, implode using " " as a separator $options->{$name} = implode(" ", $options->{$name}); } elseif (!is_array($options->{$name}) && is_array($defaults->{$name})) { // If our option is a scalar and the default is an array, wrap our option in an array $options->{$name} = array($options->{$name}); } } // Save our upgraded options update_option('tarski_options', $options); }