diff -r 0d9a58d2c515 -r 0d28b7c10758 web/wp-content/themes/malleable/library/admin/theme-settings-admin.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/web/wp-content/themes/malleable/library/admin/theme-settings-admin.php Fri Mar 12 13:29:04 2010 +0000 @@ -0,0 +1,101 @@ + false, + 'general_address_street' => false, + 'general_address_city' => false, + 'general_address_state' => false, + 'general_address_zip' => false, + 'general_address_phone' => false, + + 'feature_category' => false, + 'feature_num_posts' => false, + 'excerpt_category' => false, + 'excerpt_num_posts' => false, + 'headlines_category' => array(), + 'headlines_num_posts' => false, + ); + + return apply_filters('malleable_settings_args', $settings_arr); +} + +/** +* Handles the theme settings +* +* @since 0.1 +*/ +function malleable_theme_page() { + + /* + * Variables to be used throughout the settings page + */ + $theme_name = __('Malleable','malleable'); + $settings_page_title = __('Malleable Theme Settings','malleable'); + $hidden_field_name = 'malleable_submit_hidden'; + + /* + * Get the theme settings and add them to the database + */ + $settings_arr = malleable_theme_settings(); + add_option('malleable_theme_settings', $settings_arr); + + /* + * Set form data IDs the same as settings keys + */ + $settings_keys = array_keys($settings_arr); + foreach($settings_keys as $key) : + $data[$key] = $key; + endforeach; + + /* + * Get existing options from the database + */ + $settings = get_option('malleable_theme_settings'); + + foreach($settings_arr as $key => $value) : + $val[$key] = $settings[$key]; + endforeach; + + /* + * If the form has been set + * Loop through the values + * Set the option in the database + */ + if($_POST[$hidden_field_name] == 'Y') : + + foreach($settings_arr as $key => $value) : + $settings[$key] = $val[$key] = $_POST[$data[$key]]; + endforeach; + + update_option('malleable_theme_settings', $settings); + + /* + * Open main div for the theme settings + */ + echo '
'; + echo '

' . $settings_page_title . '

'; + echo '
'; + echo '

' . __('Settings saved.','malleable') . '

'; + echo '
'; + + else : + echo '
'; + echo '

' . $settings_page_title . '

'; + + endif; + + /* + * Load the theme settings form + */ + include(MALLEABLE . '/library/admin/theme-settings-xhtml.php'); +} + +?> \ No newline at end of file