__('Marks', 'soundmap'), 'singular_name' => __('Mark', 'soundmap'), 'add_new' => _x('Add New', 'marker', 'soundmap'), 'add_new_item' => __('Add New Marker'), 'edit_item' => __('Edit Marker'), 'new_item' => __('New Marker'), 'all_items' => __('All Markers'), 'view_item' => __('View Marker'), 'search_items' => __('Search Markers'), 'not_found' => __('No markers found'), 'not_found_in_trash' => __('No markers found in Trash'), 'parent_item_colon' => '', 'menu_name' => 'Markers' ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => true, 'capability_type' => 'post', 'has_archive' => true, 'hierarchical' => false, 'menu_position' => 5, 'register_meta_box_cb' => 'soundmap_metaboxes_register_callback', 'supports' => array('title','editor','thumbnail') ); register_post_type('marker',$args); } function soundmap_register_scripts(){ //Register google maps. wp_register_script('google-maps','http://maps.google.com/maps/api/js?libraries=geometry&sensor=true'); wp_register_script('jquery-ui','https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/jquery-ui.min.js'); wp_register_script('jquery-google-maps', WP_PLUGIN_URL . '/soundmap/js/jquery.ui.map.js', array('jquery', 'jquery-ui', 'google-maps')); } function soundmap_metaboxes_register_callback(){ add_meta_box('sounmap-map', __("Place the Marker", 'soundmap'), 'soundmap_map_meta_box', 'marker', 'normal', 'high'); add_meta_box('sounmap-sound-file', __("Add a sound file", 'soundmap'), 'soundmap_upload_file_meta_box', 'marker', 'side', 'high'); } function soundmap_map_meta_box(){ echo ''; echo '
'; echo ''; echo ''; echo ''; echo ''; } function soundmap_upload_file_meta_box(){ echo '
'; } function soundmap_rewrite_flush() { soundmap_init(); flush_rewrite_rules(); } function soundmap_register_admin_scripts() { wp_register_script('soundmap-admin', WP_PLUGIN_URL . '/soundmap/js/soundmap-admin.js', array('jquery-google-maps', 'jquery-plupload')); wp_register_style("soundmap-admin", WP_PLUGIN_URL . '/soundmap/css/soundmap-admin.css', array('plupload-style')); //Register PLUPLOAD wp_register_style('plupload-style',WP_PLUGIN_URL . '/soundmap/css/jquery.plupload.queue.css'); wp_register_script('plupload', WP_PLUGIN_URL . '/soundmap/js/plupload/plupload.full.js'); wp_register_script('jquery-plupload', WP_PLUGIN_URL . '/soundmap/js/plupload/jquery.plupload.queue.js', array('plupload')); } function soundmap_admin_enqueue_scripts() { wp_enqueue_script('soundmap-admin'); wp_enqueue_style('soundmap-admin'); $params = array(); $params['plugin_url'] = WP_PLUGIN_URL . '/soundmap/'; wp_localize_script('soundmap-admin','WP_Params',$params); } function soundmap_save_options(){ } function soundmap_load_options(){ } function soundmap_save_post($post_id) { // verify if this is an auto save routine. // If it is our form has not been submitted, so we dont want to do anything if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return; // verify this came from the our screen and with proper authorization, // because save_post can be triggered at other times if (isset($_POST['soundmap_map_noncename'])){ if ( !wp_verify_nonce( $_POST['soundmap_map_noncename'], plugin_basename( __FILE__ ) ) ) return; }else{ return; } // Check permissions if ( 'marker' == $_POST['post_type'] ) { if ( !current_user_can( 'edit_post', $post_id ) ) return; } $soundmark_lat = $_POST['soundmap_marker_lat']; $soundmark_lng = $_POST['soundmap_marker_lng']; add_post_meta($post_id, 'soundmap_marker_lat', $soundmark_lat, TRUE); add_post_meta($post_id, 'soundmap_marker_lng', $soundmark_lng, TRUE); //before searching on all the $_POST array, let's take a look if there is any upload first! if(!array_key_exists("uploader_0_name",$_POST)) return; $files = preg_grep('/mp3$/', $_POST); foreach($files as $key => $value){ if(preg_match('/^uploader_[0-9]*_name$/',$key)){ $exp = explode('_', $key); $number = $exp[1]; $name = $value; $tmpname = $_POST['uploader_' . $number . '_tmpname']; soundmap_add_sound_file($name, $tmpname, $post_id); } } } function soundmap_add_sound_file ($name, $tmpname, $post_id){ // var_dump($name); } add_action('init', 'soundmap_init'); add_action('admin_enqueue_scripts', 'soundmap_admin_enqueue_scripts'); add_action('admin_init', 'soundmap_register_admin_scripts'); add_action('save_post', 'soundmap_save_post'); register_activation_hook(__FILE__, 'soundmap_rewrite_flush');