array( 'name' => __( 'Arrangementer' ), 'singular_name' => __( 'Arrangement' ), 'add_new' => __( 'Legg til nytt arrangement' ), 'add_new_item' => __( 'Legg til nytt arrangement' ), 'edit_item' => __( 'Rediger arrangement' ), 'new_item' => __( 'Legg til nytt arrangement' ), 'view_item' => __( 'Vis arrangement' ), 'search_items' => __( 'Søk etter arrangement' ), 'not_found' => __( 'ingen arrangement funnet' ), 'not_found_in_trash' => __( 'ingen arrangement funnet i søppel' ) ), 'menu_position' => 4, 'public' => true, 'publicly_queryable' => true, 'query_var' => 'event', 'show_ui' => true, 'rewrite' => false, 'capability_type' => 'post', 'supports' => array( 'title', 'editor', 'thumbnail', 'administrator', ), 'register_meta_box_cb' => 'add_events_metaboxes', ) ); } /******************************************************************************* ******************************************************************************** ** Add meta-boxes *********************************************************** ******************************************************************************** *******************************************************************************/ function add_events_metaboxes() { // Date-selection for events wp_register_style('timecss', plugins_url("/neuf-events/style/jquery-ui-1.8.12.custom.css", dirname(__FILE__))); wp_register_script('timepicker', plugins_url("/neuf-events/script/jquery-ui-timepicker-addon.js", dirname(__FILE__))); wp_register_script('timedefs', plugins_url("/neuf-events/script/timepickdef.js", dirname(__FILE__))); // for upgrading jQuery ui, get core, widget, mouse, slider and datepicker wp_register_script('custom-jqui', plugins_url("/neuf-events/script/jquery-ui-1.8.11.custom.min.js", dirname(__FILE__))); wp_enqueue_style('timecss'); wp_enqueue_script('jquery'); wp_enqueue_script('custom-jqui'); wp_enqueue_script('timepicker'); wp_enqueue_script('timedefs'); add_meta_box( 'neuf_events_timestamps', __('Dato og klokkeslett'), 'neuf_date_custom_box', 'event', 'side', 'high' ); add_meta_box( 'neuf_event_type', __('Arrangementstype'), 'neuf_eventtype_custom_box', 'event', 'side', 'high' ); add_meta_box( 'neuf_eventvenue', __('Sted'), 'neuf_eventvenue_custom_box', 'event', 'side' ); } /******************************************************************************* ******************************************************************************** ** Start and endtime metabox ************************************************ ******************************************************************************** *******************************************************************************/ function neuf_date_custom_box() { global $post; $start = get_post_meta($post->ID, 'neuf_events_starttime', true); if( $start ) { echo '
'; echo 'Nåværende dato: '.date("d.m.Y H:i", intval($start)); } else { echo '
'; } } /******************************************************************************* ******************************************************************************** ** Eventtype metabox ******************************************************** ******************************************************************************** *******************************************************************************/ function neuf_eventtype_custom_box(){ global $post; $event_artist = get_post_meta($post->ID, 'neuf_events_artist', true); $neuf_event_type = get_post_meta($post->ID, 'neuf_events_type', true); echo "Type:"; echo ''; echo '
Artist/Foredragsholder:
'; } /******************************************************************************* ******************************************************************************** ** Event venue metabox ******************************************************** ******************************************************************************** *******************************************************************************/ function neuf_eventvenue_custom_box(){ global $post; $neuf_event_venue = get_post_meta($post->ID, 'neuf_events_venue', true); echo 'Sted:'; echo ''; } /** * When the post is saved, saves our custom data */ function neuf_events_save_info( $post_id ) { if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) return $post_id; // Check permissions if ( !current_user_can( 'edit_post', $post_id ) ) return $post_id; // Get posted data $tosave['neuf_events_venue'] = $_POST['neuf_events_venue']; $tosave['neuf_events_type'] = $_POST['neuf_events_type']; $tosave['neuf_events_artist'] = $_POST['neuf_events_artist']; $tosave['neuf_events_starttime'] = strtotime( $_POST['neuf_events_starttime']); // Update or add post meta foreach($tosave as $key=>$value) if(!update_post_meta($post_id, $key, $value)) add_post_meta($post_id, $key, $value, true); return $post_id; } /** View of the custom page */ function neuf_events_program() { global $post, $wp_locale; $deys = array('MANDAG 13.08.2012', 'TIRSDAG 14.08.2012', 'ONSDAG 15.08.2012', 'TORSDAG 16.08.2012', 'FREDAG 17.08.2012', 'LØRDAG 18.08.2012', 'SØNDAG 19.08.2012', 'MANDAG 20.08.2012', 'TIRSDAG 21.08.2012', 'ONSDAG 22.08.2012', 'TORSDAG 23.08.2012', 'FREDAG 24.08.2012', 'LØRDAG 25.08.2012', 'SØNDAG 16.08.2012'); $events = new WP_Query( array( 'post_type' => 'event', 'posts_per_page' => -1, 'meta_key' => 'neuf_events_starttime', 'orderby' => 'meta_value', 'order' => 'ASC', ) ); $html = ''; $html .= '
'; $html .= '

'; if ( $events->have_posts() ) { $date = 13; $bol = true; $html .= ''; while ( $events->have_posts() ) : $events->the_post(); $time = get_post_meta( $post->ID, 'neuf_events_starttime', true) ; if (date("Y", $time) == date("Y", time()) && (!isset($_POST['date']) || $_POST['date'] == date("d", $time))) { $venue = get_post_meta( $post->ID, 'neuf_events_venue', true ); $type = get_post_meta( $post->ID, 'neuf_events_type', true); $artist = get_post_meta( $post->ID, 'neuf_events_artist', true) ; if(!isset($_POST['date']) && $date != intval(date("d", $time))){ $date = intval(date("d", $time)); $html .= ' '; } if(isset($_POST['date']) && $bol){ $html .= ' '; $bol = false; } $html .= ' '; $html .= ' '; $html .= ' '; $html .= ' '; $html .= ' '; } endwhile; $html .= '
'.$deys[$date - 13].'
'.$deys[intval($_POST['date']) - 13].'
' . get_the_title() . '' . date("H:i", $time) . '' . get_the_title($venue) . '
'; } return $html; } function neuf_events_arkiv() { global $post, $wp_locale; $events = new WP_Query( array( 'post_type' => 'event', 'posts_per_page' => -1, 'meta_key' => 'neuf_events_starttime', 'orderby' => 'meta_value', 'order' => 'ASC' ) ); $html = ''; if ( $events->have_posts() ) : $date = ""; $html .= ''; $event_aar = ""; while ( $events->have_posts() ) { $events->the_post(); $time = get_post_meta( $post->ID, 'neuf_events_starttime', true) ; if (date("Y", $time) != date("Y")) { if (date("Y", $time) != $event_aar) { $html .= ''; $event_aar = date("Y", $time); } $venue = get_post_meta( $post->ID, 'neuf_events_venue', true ); $type = get_post_meta( $post->ID, 'neuf_events_type', true); $artist = get_post_meta( $post->ID, 'neuf_events_artist', true) ; $html .= ' '; $html .= ' '; $html .= ' '; $html .= ' '; $html .= ' '; $html .= ' '; $html .= ' '; } } $html .= '
'.date("Y", $time).'
' . date("H:i", $time) . '' . $artist . '' . get_the_title() . '' . $type . '' . get_the_title($venue) . '
'; endif; return $html; } } } } if (class_exists("NeufEvents")) { $neuf_event_object = new NeufEvents(); } if ( isset($neuf_event_object)){ /** Register the event post type */ add_action( 'init' , 'neuf_events_post_type'); add_action( 'save_post' , 'neuf_events_save_info'); add_shortcode( 'neuf-events-program', 'neuf_events_program' ); add_shortcode( 'neuf-events-arkiv' , 'neuf_events_arkiv' ); } ?>