2018-02-05 02:05:26 -05:00
< ? php
if ( ! defined ( 'ABSPATH' ) ) { die ; } // Cannot access pages directly.
2018-02-27 06:35:08 -05:00
2018-02-05 02:05:26 -05:00
add_action ( 'add_meta_boxes' , 'mep_event_meta_box_add' );
function mep_event_meta_box_add (){
add_meta_box ( 'mep-event-meta' , 'Event Venue' , 'mep_event_venue_meta_box_cb' , 'mep_events' , 'normal' , 'high' );
add_meta_box ( 'mep-event-price' , 'Event Price' , 'mep_event_price_meta_box_cb' , 'mep_events' , 'normal' , 'high' );
2018-02-27 06:35:08 -05:00
add_meta_box ( 'mep-event-extra-price' , 'Event Extra Option Price' , 'mep_event_extra_price_option' , 'mep_events' , 'normal' , 'high' );
2018-02-05 02:05:26 -05:00
add_meta_box ( 'mep-event-date' , 'Event Date & Time' , 'mep_event_date_meta_box_cb' , 'mep_events' , 'normal' , 'high' );
}
function mep_event_venue_meta_box_cb ( $post ){
$values = get_post_custom ( $post -> ID );
2018-02-22 07:09:34 -05:00
$user_api = mep_get_option ( 'google-map-api' , 'general_setting_sec' , '' );
2018-02-05 02:05:26 -05:00
?>
< div class = 'sec' >
< label for = " mep_ev_1 " > Seat Capacity : </ label >
< span >< input id = 'mep_ev_1' type = " number " name = 'mep_total_seat' value = '<?php echo $values[' mep_total_seat '][0]; ?>' > </ span >
</ div >
< div class = 'sec' >
< label for = " mep_ev_2 " > Location / Venue : </ label >
< span >< input id = 'mep_ev_2' type = " text " name = 'mep_location_venue' value = '<?php echo $values[' mep_location_venue '][0]; ?>' > </ span >
</ div >
< div class = 'sec' >
< label for = " mep_ev_3 " > Street : </ label >
< span >< input id = 'mep_ev_3' type = " text " name = 'mep_street' value = '<?php echo $values[' mep_street '][0]; ?>' > </ span >
</ div >
< div class = 'sec' >
< label for = " mep_ev_4 " > City : </ label >
< span >< input id = 'mep_ev_4' type = " text " name = 'mep_city' value = '<?php echo $values[' mep_city '][0]; ?>' > </ span >
</ div >
< div class = 'sec' >
< label for = " mep_ev_5 " > State : </ label >
< span >< input id = 'mep_ev_5' type = " text " name = 'mep_state' value = '<?php echo $values[' mep_state '][0]; ?>' > </ span >
</ div >
< div class = 'sec' >
< label for = " mep_ev_6 " > Postcode : </ label >
< span >< input id = 'mep_ev_6' type = " text " name = 'mep_postcode' value = '<?php echo $values[' mep_postcode '][0]; ?>' > </ span >
</ div >
< div class = 'sec' >
< label for = " mep_ev_7 " > Country : </ label >
< span >< input id = 'mep_ev_7' type = " text " name = 'mep_country' value = '<?php echo $values[' mep_country '][0]; ?>' > </ span >
</ div >
2018-02-22 07:09:34 -05:00
< ? php
if ( $user_api ){
?>
< div class = 'sec' >
< label for = " mep_ev_989 " > Show Google Map : </ label >
< span >< input style = 'text-align: left;width: auto;' id = 'mep_ev_989' type = " checkbox " name = 'mep_sgm' value = '1' < ? php $mep_sgm = $values [ 'mep_sgm' ][ 0 ]; if ( $mep_sgm == 1 ){ echo 'checked' ; } ?> > Yes</span>
</ div >
< div class = 'sec' >
< input id = " pac-input " name = 'location_name' value = '<?php //echo $values[' location_name '][0]; ?>' />
</ div >
< input type = " hidden " class = " form-control " required name = " latitude " value = " <?php echo $values['latitude'] [0]; ?> " >
< input type = " hidden " class = " form-control " required name = " longitude " value = " <?php echo $values['longitude'] [0]; ?> " >
< div id = " map " ></ div >
< ? php
} else {
echo " <span class=mep_status><span class=err>No Google MAP API Key Found. Please enter API KEY <a href= " . get_site_url () . " /wp-admin/options-general.php?page=mep_event_settings_page>Here</a></span></span> " ;
}
if ( $values [ 'latitude' ][ 0 ]){
$lat = $values [ 'latitude' ][ 0 ];
} else { $lat = '37.0902' ; }
if ( $values [ 'longitude' ][ 0 ]){
$lon = $values [ 'longitude' ][ 0 ];
} else { $lon = '95.7129' ; }
?>
< script >
2018-02-05 02:05:26 -05:00
2018-02-22 07:09:34 -05:00
function initMap () {
var map = new google . maps . Map ( document . getElementById ( 'map' ), {
center : {
lat : < ? php echo $lat ; ?> ,
lng : < ? php echo $lon ; ?>
},
zoom : 17
});
2018-02-05 02:05:26 -05:00
2018-02-22 07:09:34 -05:00
var input = /** @type {!HTMLInputElement} */ (
document . getElementById ( 'pac-input' ));
var types = document . getElementById ( 'type-selector' );
map . controls [ google . maps . ControlPosition . TOP_LEFT ] . push ( input );
map . controls [ google . maps . ControlPosition . TOP_LEFT ] . push ( types );
var autocomplete = new google . maps . places . Autocomplete ( input );
autocomplete . bindTo ( 'bounds' , map );
var infowindow = new google . maps . InfoWindow ();
var marker = new google . maps . Marker ({
map : map ,
anchorPoint : new google . maps . Point ( 0 , - 29 ),
draggable : true ,
position : { lat : < ? php echo $lat ; ?> , lng: <?php echo $lon; ?>}
});
google . maps . event . addListener ( marker , 'dragend' , function () {
document . getElementsByName ( 'latitude' )[ 0 ] . value = marker . getPosition () . lat ();
document . getElementsByName ( 'longitude' )[ 0 ] . value = marker . getPosition () . lng ();
})
autocomplete . addListener ( 'place_changed' , function () {
infowindow . close ();
marker . setVisible ( false );
var place = autocomplete . getPlace ();
if ( ! place . geometry ) {
window . alert ( " Autocomplete's returned place contains no geometry " );
return ;
}
// If the place has a geometry, then present it on a map.
if ( place . geometry . viewport ) {
map . fitBounds ( place . geometry . viewport );
} else {
map . setCenter ( place . geometry . location );
map . setZoom ( 17 ); // Why 17? Because it looks good.
}
marker . setIcon ( /** @type {google.maps.Icon} */ ({
url : 'http://maps.google.com/mapfiles/ms/icons/red.png' ,
size : new google . maps . Size ( 71 , 71 ),
origin : new google . maps . Point ( 0 , 0 ),
anchor : new google . maps . Point ( 17 , 34 ),
scaledSize : new google . maps . Size ( 35 , 35 )
}));
marker . setPosition ( place . geometry . location );
marker . setVisible ( true );
var address = '' ;
if ( place . address_components ) {
address = [
( place . address_components [ 0 ] && place . address_components [ 0 ] . short_name || '' ),
( place . address_components [ 1 ] && place . address_components [ 1 ] . short_name || '' ),
( place . address_components [ 2 ] && place . address_components [ 2 ] . short_name || '' )
] . join ( ' ' );
}
var latitude = place . geometry . location . lat ();
var longitude = place . geometry . location . lng ();
$ ( " input[name=coordinate] " ) . val ( address );
$ ( " input[name=latitude] " ) . val ( latitude );
$ ( " input[name=longitude] " ) . val ( longitude );
//infowindow.setContent('<div><strong>' + place.name + '</strong><br>' + address);
//infowindow.open(map, marker);
});
}
google . maps . event . addDomListener ( window , " load " , initMap );
</ script >
2018-02-05 02:05:26 -05:00
< ? php
}
function mep_event_price_meta_box_cb ( $post ){
$values = get_post_custom ( $post -> ID );
?>
2018-02-15 07:00:25 -05:00
< div class = 'sec' >
< label for = " mep_ev_98 " > Show Quantity Input Box : </ label >
< span >< input style = 'text-align: left;width: auto;' id = 'mep_ev_98' type = " checkbox " name = 'mep_sqi' value = '1' < ? php $sqi = $values [ 'mep_sqi' ][ 0 ]; if ( $sqi == 1 ){ echo 'checked' ; } ?> > Yes</span>
</ div >
2018-02-05 02:05:26 -05:00
< div class = 'sec' >
< label for = " mep_ev_8 " > Price Label : </ label >
< span >< input id = 'mep_ev_8' type = " text " name = 'mep_price_label' value = '<?php echo $values[' mep_price_label '][0]; ?>' > </ span >
</ div >
< div class = 'sec' >
< label for = " mep_ev_9 " > Price : </ label >
< span >< input id = 'mep_ev_9' type = " number " name = '_price' value = '<?php echo $values[' _price '][0]; ?>' > </ span >
</ div >
< ? php
}
2018-02-27 06:35:08 -05:00
function mep_event_extra_price_option () {
global $post ;
$mep_events_extra_prices = get_post_meta ( $post -> ID , 'mep_events_extra_prices' , true );
wp_nonce_field ( 'mep_events_extra_price_nonce' , 'mep_events_extra_price_nonce' );
?>
< script type = " text/javascript " >
jQuery ( document ) . ready ( function ( $ ){
$ ( '#add-row' ) . on ( 'click' , function () {
var row = $ ( '.empty-row.screen-reader-text' ) . clone ( true );
row . removeClass ( 'empty-row screen-reader-text' );
row . insertBefore ( '#repeatable-fieldset-one tbody>tr:last' );
return false ;
});
$ ( '.remove-row' ) . on ( 'click' , function () {
$ ( this ) . parents ( 'tr' ) . remove ();
return false ;
});
});
</ script >
< table id = " repeatable-fieldset-one " width = " 100% " >
< thead >
< tr >
< th width = " 40% " > Extra Option Name </ th >
< th width = " 40% " > Amount </ th >
< th width = " 8% " ></ th >
</ tr >
</ thead >
< tbody >
< ? php
if ( $mep_events_extra_prices ) :
foreach ( $mep_events_extra_prices as $field ) {
?>
< tr >
< td >< input type = " text " class = " widefat " name = " option_name[] " value = " <?php if( $field['option_name'] != '') echo esc_attr( $field['option_name'] ); ?> " /></ td >
< td >< input type = " number " class = " widefat " name = " option_price[] " value = " <?php if ( $field['option_price'] != '') echo esc_attr( $field['option_price'] ); else echo ''; ?> " /></ td >
< td >< a class = " button remove-row " href = " # " > Remove </ a ></ td >
</ tr >
< ? php
}
else :
// show a blank one
endif ;
?>
<!-- empty hidden one for jQuery -->
< tr class = " empty-row screen-reader-text " >
< td >< input type = " text " class = " widefat " name = " option_name[] " /></ td >
< td >< input type = " number " class = " widefat " name = " option_price[] " value = " " /></ td >
< td >< a class = " button remove-row " href = " # " > Remove </ a ></ td >
</ tr >
</ tbody >
</ table >
< p >< a id = " add-row " class = " button " href = " # " > Add Extra Price </ a ></ p >
< ? php
}
2018-02-05 02:05:26 -05:00
function mep_event_date_meta_box_cb ( $post ){
$values = get_post_custom ( $post -> ID );
?>
< div class = 'sec' >
< label for = " event_start_date " > Start Date & Time : </ label >
< span >< input class = 'event_start' id = 'event_start_date' type = " text " name = 'mep_event_start_date' value = '<?php echo $values[' mep_event_start_date '][0]; ?>' > </ span >
</ div >
< div class = 'sec' >
< label for = " event_end_date " > End Date & Time : </ label >
< span >< input class = 'event_end' id = 'event_end_date' type = " text " name = 'mep_event_end_date' value = '<?php echo $values[' mep_event_end_date '][0]; ?>' > </ span >
</ div >
< ? php
}
2018-02-27 06:35:08 -05:00
add_action ( 'save_post' , 'mep_events_repeatable_meta_box_save' );
function mep_events_repeatable_meta_box_save ( $post_id ) {
if ( ! isset ( $_POST [ 'mep_events_extra_price_nonce' ] ) ||
! wp_verify_nonce ( $_POST [ 'mep_events_extra_price_nonce' ], 'mep_events_extra_price_nonce' ) )
return ;
if ( defined ( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
return ;
if ( ! current_user_can ( 'edit_post' , $post_id ))
return ;
$old = get_post_meta ( $post_id , 'mep_events_extra_prices' , true );
$new = array ();
// $options = hhs_get_sample_options();
$names = $_POST [ 'option_name' ];
// $selects = $_POST['select'];
$urls = $_POST [ 'option_price' ];
$count = count ( $names );
for ( $i = 0 ; $i < $count ; $i ++ ) {
if ( $names [ $i ] != '' ) :
$new [ $i ][ 'option_name' ] = stripslashes ( strip_tags ( $names [ $i ] ) );
endif ;
if ( $urls [ $i ] != '' ) :
$new [ $i ][ 'option_price' ] = stripslashes ( strip_tags ( $urls [ $i ] ) );
endif ;
}
if ( ! empty ( $new ) && $new != $old )
update_post_meta ( $post_id , 'mep_events_extra_prices' , $new );
elseif ( empty ( $new ) && $old )
delete_post_meta ( $post_id , 'mep_events_extra_prices' , $old );
}
2018-02-05 02:05:26 -05:00
add_action ( 'save_post' , 'mep_events_meta_save' );
function mep_events_meta_save ( $post_id ){
global $post ;
$pid = $post -> ID ;
if ( $post -> post_type != 'mep_events' ){
return ;
}
//if you get here then it's your post type so do your thing....
2018-02-22 07:09:34 -05:00
$seat = strip_tags ( $_POST [ 'mep_total_seat' ]);
$mep_location_venue = strip_tags ( $_POST [ 'mep_location_venue' ]);
$mep_street = strip_tags ( $_POST [ 'mep_street' ]);
$mep_city = strip_tags ( $_POST [ 'mep_city' ]);
$mep_state = strip_tags ( $_POST [ 'mep_state' ]);
$mep_postcode = strip_tags ( $_POST [ 'mep_postcode' ]);
$mep_country = strip_tags ( $_POST [ 'mep_country' ]);
2018-02-15 07:00:25 -05:00
$mep_price_label = strip_tags ( $_POST [ 'mep_price_label' ]);
$mep_sqi = strip_tags ( $_POST [ 'mep_sqi' ]);
2018-02-22 07:09:34 -05:00
$mep_sgm = strip_tags ( $_POST [ 'mep_sgm' ]);
$_price = strip_tags ( $_POST [ '_price' ]);
$mep_event_start_date = strip_tags ( $_POST [ 'mep_event_start_date' ]);
2018-02-15 07:00:25 -05:00
$mep_event_end_date = strip_tags ( $_POST [ 'mep_event_end_date' ]);
2018-02-22 07:09:34 -05:00
$latitude = strip_tags ( $_POST [ 'latitude' ]);
$longitude = strip_tags ( $_POST [ 'longitude' ]);
$location_name = strip_tags ( $_POST [ 'location_name' ]);
2018-02-15 07:00:25 -05:00
$update_seat = update_post_meta ( $pid , 'mep_total_seat' , $seat );
$update_seat_stock_status = update_post_meta ( $pid , '_manage_stock' , 'yes' );
2018-02-22 07:09:34 -05:00
$update_seat_stock = update_post_meta ( $pid , '_stock' , $seat );
2018-02-15 07:00:25 -05:00
$sts_msg = update_post_meta ( $pid , '_stock_msg' , 'new' );
// $ttl_booking = update_post_meta( $pid, 'total_booking', '0');
2018-02-22 07:09:34 -05:00
$longitude = update_post_meta ( $pid , 'longitude' , $longitude );
$latitude = update_post_meta ( $pid , 'latitude' , $latitude );
$location_name = update_post_meta ( $pid , 'location_name' , $location_name );
2018-02-15 07:00:25 -05:00
2018-02-22 07:09:34 -05:00
$update_location = update_post_meta ( $pid , 'mep_location_venue' , $mep_location_venue );
2018-02-05 02:05:26 -05:00
$update_mep_street = update_post_meta ( $pid , 'mep_street' , $mep_street );
2018-02-22 07:09:34 -05:00
$update_city = update_post_meta ( $pid , 'mep_city' , $mep_city );
2018-02-05 02:05:26 -05:00
$update_mep_state = update_post_meta ( $pid , 'mep_state' , $mep_state );
2018-02-22 07:09:34 -05:00
$update_postcode = update_post_meta ( $pid , 'mep_postcode' , $mep_postcode );
$update_conuntry = update_post_meta ( $pid , 'mep_country' , $mep_country );
2018-02-15 07:00:25 -05:00
$update_sqi = update_post_meta ( $pid , 'mep_sqi' , $mep_sqi );
2018-02-22 07:09:34 -05:00
$update_mep_sgm = update_post_meta ( $pid , 'mep_sgm' , $mep_sgm );
2018-02-05 02:05:26 -05:00
$update_price_label = update_post_meta ( $pid , 'mep_price_label' , $mep_price_label );
2018-02-22 07:09:34 -05:00
$update_price = update_post_meta ( $pid , '_price' , $_price );
$update_start = update_post_meta ( $pid , 'mep_event_start_date' , $mep_event_start_date );
$update_end = update_post_meta ( $pid , 'mep_event_end_date' , $mep_event_end_date );
2018-02-05 02:05:26 -05:00
}
add_action ( 'add_meta_boxes' , 'mep_meta_box_add' );
function mep_meta_box_add (){
add_meta_box ( 'my-meta-box-id' , 'Information' , 'mep_meta_box_cb' , 'mep_events_attendees' , 'normal' , 'high' );
}
function mep_meta_box_cb ( $post ){
$values = get_post_custom ( $post -> ID );
?>
< div class = 'sec' >
< label for = " my_meta_box_text " > Event : </ label >
< span >< ? php echo $values [ 'ea_event_name' ][ 0 ]; ?> </span>
</ div >
< div class = 'sec' >
< label for = " my_meta_box_text " > Full Name : </ label >
< span >< ? php echo $values [ 'ea_first_name' ][ 0 ]; ?> <?php echo $values['ea_last_name'][0]; ?></span>
</ div >
< div class = 'sec' >
< label for = " my_meta_box_text " > Company : </ label >
< span >< ? php echo $values [ 'ea_company_name' ][ 0 ]; ?> </span>
</ div >
< div class = 'sec' >
< label for = " my_meta_box_text " > Email : </ label >
< span >< ? php echo $values [ 'ea_email' ][ 0 ]; ?> </span>
</ div >
< div class = 'sec' >
< label for = " my_meta_box_text " > Phone : </ label >
< span >< ? php echo $values [ 'ea_phone' ][ 0 ]; ?> </span>
</ div >
< div class = 'sec' >
< label for = " my_meta_box_text " > Addres : </ label >
< span >
< ? php echo $values [ 'ea_address_1' ][ 0 ]; ?>
< ? php echo $values [ 'ea_address_2' ][ 0 ]; ?>
</ span >
</ div >
< div class = 'sec' >
< label for = " my_meta_box_text " > State : </ label >
< span >
< ? php echo $values [ 'ea_state' ][ 0 ]; ?>
</ span >
</ div >
< div class = 'sec' >
< label for = " my_meta_box_text " > City : </ label >
< span >
< ? php echo $values [ 'ea_city' ][ 0 ]; ?>
</ span >
</ div >
< div class = 'sec' >
< label for = " my_meta_box_text " > Country : </ label >
< span >
< ? php echo $values [ 'ea_country' ][ 0 ]; ?>
</ span >
</ div >
< div class = 'sec' >
< label for = " my_meta_box_text " > Order ID : </ label >
< span >
< ? php echo $values [ 'ea_order_id' ][ 0 ]; ?>
</ span >
</ div >
< div class = 'sec' >
< span >
< a href = " <?php echo get_site_url(); ?>/wp-admin/post.php?post=<?php echo $values['ea_order_id'] [0]; ?>&action=edit " class = 'button button-primary button-large' > View Order </ a >
</ span >
</ div >
< ? php
}