Viewing file: functions.interface.php (5.35 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php /** * SMOF Interface * * @package WordPress * @subpackage SMOF * @since 1.4.0 * @author Syamil MJ */ /** * Admin Init * * @uses wp_verify_nonce() * @uses header() * @uses update_option() * * @since 1.0.0 */ function optionsframework_admin_init() { // Rev up the Options Machine global $of_options, $options_machine; $options_machine = new Options_Machine($of_options); }
/** * Create Options page * * @uses add_theme_page() * @uses add_action() * * @since 1.0.0 */ function optionsframework_add_admin() { $of_page = add_theme_page( THEMENAME, 'Theme Options', 'edit_theme_options', 'optionsframework', 'optionsframework_options_page');
// Add framework functionaily to the head individually add_action("admin_print_scripts-$of_page", 'of_load_only'); add_action("admin_print_styles-$of_page",'of_style_only'); add_action( "admin_print_styles-$of_page", 'optionsframework_mlu_css', 0 ); add_action( "admin_print_scripts-$of_page", 'optionsframework_mlu_js', 0 ); }
/** * Build Options page * * @since 1.0.0 */ function optionsframework_options_page(){ global $options_machine; /* //for debugging $data = get_option(OPTIONS); print_r($data); */ include_once( ADMIN_PATH . 'front-end/options.php' );
}
/** * Create Options page * * @uses wp_enqueue_style() * * @since 1.0.0 */ function of_style_only(){ wp_enqueue_style('admin-style', ADMIN_DIR . 'assets/css/admin-style.css'); wp_enqueue_style('color-picker', ADMIN_DIR . 'assets/css/colorpicker.css'); }
/** * Create Options page * * @uses add_action() * @uses wp_enqueue_script() * * @since 1.0.0 */ function of_load_only() { add_action('admin_head', 'of_admin_head'); wp_enqueue_script('jquery-ui-core'); wp_enqueue_script('jquery-ui-sortable'); wp_enqueue_script('jquery-input-mask', ADMIN_DIR .'assets/js/jquery.maskedinput-1.2.2.js', array( 'jquery' )); wp_enqueue_script('tipsy', ADMIN_DIR .'assets/js/jquery.tipsy.js', array( 'jquery' )); wp_enqueue_script('color-picker', ADMIN_DIR .'assets/js/colorpicker.js', array('jquery')); wp_enqueue_script('ajaxupload', ADMIN_DIR .'assets/js/ajaxupload.js', array('jquery')); wp_enqueue_script('cookie', ADMIN_DIR . 'assets/js/cookie.js', 'jquery'); wp_enqueue_script('smof', ADMIN_DIR .'assets/js/smof.js', array( 'jquery' )); }
/** * Front end inline jquery scripts * * @since 1.0.0 */ function of_admin_head() { ?> <script type="text/javascript" language="javascript">
jQuery.noConflict(); jQuery(document).ready(function($){ // COLOR Picker $('.colorSelector').each(function(){ var Othis = this; //cache a copy of the this variable for use inside nested function $(this).ColorPicker({ color: '<?php if(isset($color)) echo $color; ?>', onShow: function (colpkr) { $(colpkr).fadeIn(500); return false; }, onHide: function (colpkr) { $(colpkr).fadeOut(500); return false; }, onChange: function (hsb, hex, rgb) { $(Othis).children('div').css('backgroundColor', '#' + hex); $(Othis).next('input').attr('value','#' + hex); } }); }); //end color picker
}); //end doc ready </script> <?php }
/** * Ajax Save Options * * @uses get_option() * @uses update_option() * * @since 1.0.0 */ function of_ajax_callback() { global $options_machine, $of_options;
$nonce=$_POST['security']; if (! wp_verify_nonce($nonce, 'of_ajax_nonce') ) die('-1'); //get options array from db $all = get_option(OPTIONS); $save_type = $_POST['type']; //echo $_POST['data']; //Uploads if($save_type == 'upload') { $clickedID = $_POST['data']; // Acts as the name $filename = $_FILES[$clickedID]; $filename['name'] = preg_replace('/[^a-zA-Z0-9._\-]/', '', $filename['name']); $override['test_form'] = false; $override['action'] = 'wp_handle_upload'; $uploaded_file = wp_handle_upload($filename,$override); $upload_tracking[] = $clickedID; //update $options array w/ image URL $upload_image = $all; //preserve current data $upload_image[$clickedID] = $uploaded_file['url']; update_option(OPTIONS, $upload_image ) ; if(!empty($uploaded_file['error'])) {echo 'Upload Error: ' . $uploaded_file['error']; } else { echo $uploaded_file['url']; } // Is the Response } elseif($save_type == 'image_reset') { $id = $_POST['data']; // Acts as the name $delete_image = $all; //preserve rest of data $delete_image[$id] = ''; //update array key with empty value update_option(OPTIONS, $delete_image ) ; } elseif($save_type == 'backup_options') { $backup = $all; $backup['backup_log'] = date('r'); update_option(BACKUPS, $backup ) ; die('1'); } elseif($save_type == 'restore_options') { $data = get_option(BACKUPS); update_option(OPTIONS, $data); die('1'); } elseif($save_type == 'import_options'){ $data = $_POST['data']; $data = unserialize(base64_decode($data)); //100% safe - ignore theme check nag update_option(OPTIONS, $data); die('1'); } elseif ($save_type == 'save') { wp_parse_str(stripslashes($_POST['data']), $data); unset($data['security']); unset($data['of_save']); update_option(OPTIONS, $data); die('1'); } elseif ($save_type == 'reset') { update_option(OPTIONS,$options_machine->Defaults); die('1'); //options reset }
die(); }
|