array( 'name' => __( 'Options' ), ), 'public' => true, 'show_ui' => false, 'capability_type' => 'post', 'hierarchical' => false, 'rewrite' => false, 'supports' => array( 'title', 'editor' ), 'query_var' => false, 'can_export' => true, 'show_in_nav_menus' => false ) ); } } /** * Forces insert into post */ add_filter( 'get_media_item_args', 'force_send' ); function force_send($args){ $args['send'] = true; return $args; } /** * Adds the Thickbox CSS file and specific loading and button images to the header * on the pages where this function is called. */ if ( ! function_exists( 'optionsframework_mlu_css' ) ) { function optionsframework_mlu_css () { $_html = ''; $_html .= '' . "\n"; $_html .= '' . "\n"; echo $_html; } } /** * Registers and enqueues (loads) the necessary JavaScript file for working with the * Media Library-driven AJAX File Uploader Module. */ if ( ! function_exists( 'optionsframework_mlu_js' ) ) { function optionsframework_mlu_js () { // Registers custom scripts for the Media Library AJAX uploader. wp_register_script( 'of-medialibrary-uploader', ADMIN_DIR .'assets/js/of-medialibrary-uploader.js', array( 'jquery', 'thickbox' ) ); wp_enqueue_script( 'of-medialibrary-uploader' ); wp_enqueue_script( 'media-upload' ); } } /** * Uses "silent" posts in the database to store relationships for images. * This also creates the facility to collect galleries of, for example, logo images. * * Return: $_postid. * * If no "silent" post is present, one will be created with the type "optionsframework" * and the post_name of "of-$_token". * * Example Usage: * optionsframework_mlu_get_silentpost ( 'of_logo' ); */ if ( ! function_exists( 'optionsframework_mlu_get_silentpost' ) ) { function optionsframework_mlu_get_silentpost ( $_token ) { global $wpdb; $_id = 0; // Check if the token is valid against a whitelist. // $_whitelist = array( 'of_logo', 'of_custom_favicon', 'of_ad_top_image' ); // Sanitise the token. $_token = strtolower( str_replace( ' ', '_', $_token ) ); // if ( in_array( $_token, $_whitelist ) ) { if ( $_token ) { // Tell the function what to look for in a post. $_args = array( 'post_type' => 'options', 'post_name' => 'of-' . $_token, 'post_status' => 'draft', 'comment_status' => 'closed', 'ping_status' => 'closed' ); // Look in the database for a "silent" post that meets our criteria. $query = 'SELECT ID FROM ' . $wpdb->posts . ' WHERE post_parent = 0'; foreach ( $_args as $k => $v ) { $query .= ' AND ' . $k . ' = "' . $v . '"'; } // End FOREACH Loop $query .= ' LIMIT 1'; $_posts = $wpdb->get_row( $query ); // If we've got a post, loop through and get it's ID. if ( count( $_posts ) ) { $_id = $_posts->ID; } else { // If no post is present, insert one. // Prepare some additional data to go with the post insertion. $_words = explode( '_', $_token ); $_title = join( ' ', $_words ); $_title = ucwords( $_title ); $_post_data = array( 'post_title' => $_title ); $_post_data = array_merge( $_post_data, $_args ); $_id = wp_insert_post( $_post_data ); } } return $_id; } } /** * Trigger code inside the Media Library popup. */ if ( ! function_exists( 'optionsframework_mlu_insidepopup' ) ) { function optionsframework_mlu_insidepopup () { if ( isset( $_REQUEST['is_optionsframework'] ) && $_REQUEST['is_optionsframework'] == 'yes' ) { add_action( 'admin_head', 'optionsframework_mlu_js_popup' ); add_filter( 'media_upload_tabs', 'optionsframework_mlu_modify_tabs' ); } } } if ( ! function_exists( 'optionsframework_mlu_js_popup' ) ) { function optionsframework_mlu_js_popup () { $_of_title = $_REQUEST['of_title']; if ( ! $_of_title ) { $_of_title = 'file'; } // End IF Statement ?>