EVOLUTION-MANAGER
Edit File: functions.admin.php
<?php /** * SMOF Admin * * @package WordPress * @subpackage SMOF * @since 1.4.0 * @author Syamil MJ */ /** * Head Hook * * @since 1.0.0 */ function of_head() { do_action( 'of_head' ); } /** * Add default options upon activation else DB does not exist * * DEPRECATED, Class_options_machine now does this on load to ensure all values are set * * @since 1.0.0 */ function of_option_setup() { global $of_options, $options_machine; $options_machine = new Options_Machine($of_options); if (!of_get_options()) { of_save_options($options_machine->Defaults); } } /** * Get header classes * * @since 1.0.0 */ function of_get_header_classes_array() { global $of_options; foreach ($of_options as $value) { if ($value['type'] == 'heading') $hooks[] = str_replace(' ','',strtolower($value['name'])); } return $hooks; } /** * Get options from the database and process them with the load filter hook. * * @author Jonah Dahlquist * @since 1.4.0 * @return array */ function of_get_options($key = null, $data = null) { global $smof_data; do_action('of_get_options_before', array( 'key'=>$key, 'data'=>$data )); if ($key != null) { // Get one specific value $data = get_theme_mod($key, $data); } else { // Get all values $data = get_theme_mods(); } $data = apply_filters('of_options_after_load', $data); if ($key == null) { $smof_data = $data; } else { $smof_data[$key] = $data; } do_action('of_option_setup_before', array( 'key'=>$key, 'data'=>$data )); return $data; } /** * Save options to the database after processing them * * @param $data Options array to save * @author Jonah Dahlquist * @since 1.4.0 * @uses update_option() * @return void */ function of_save_options($data, $key = null) { global $smof_data; if (empty($data)) return; do_action('of_save_options_before', array( 'key'=>$key, 'data'=>$data )); $data = apply_filters('of_options_before_save', $data); if ($key != null) { // Update one specific value if ($key == BACKUPS) { unset($data['smof_init']); // Don't want to change this. unset( $data[ $key ] ); // Remove old backup. Eliminates saving backups recursively. } set_theme_mod($key, $data); } else { // Update all values in $data foreach ( $data as $k=>$v ) { if (!isset($smof_data[$k]) || $smof_data[$k] != $v) { // Only write to the DB when we need to set_theme_mod($k, $v); } else if (is_array($v)) { foreach ($v as $key=>$val) { if ($key != $k && $v[$key] == $val) { set_theme_mod($k, $v); break; } } } } } do_action('of_save_options_after', array( 'key'=>$key, 'data'=>$data )); } /** * For use in themes * * @since forever */ $data = of_get_options(); if (!isset($smof_details)) $smof_details = array();