version 2 released

This commit is contained in:
magepeopleteam 2018-07-02 08:39:41 +00:00
parent cb7d075428
commit 01ab0f98d8
11 changed files with 2746 additions and 595 deletions

View File

@ -32,7 +32,11 @@
font-weight: normal;
display: block;
}
table.atendee-info {
display: block;
overflow: hidden;
width: 100%;
}
/* Always set the map height explicitly to define the size of the div
* element that contains the map. */

File diff suppressed because it is too large Load Diff

View File

@ -32,12 +32,20 @@ class MAGE_Events_Setting_Controls {
}
function get_settings_sections() {
$sections = array(
array(
'id' => 'general_setting_sec',
'title' => __( 'General Settings', 'vaincode' )
)
),
array(
'id' => 'email_setting_sec',
'title' => __( 'Email Settings', 'vaincode' )
)
);
return $sections;
}
@ -49,6 +57,7 @@ class MAGE_Events_Setting_Controls {
function get_settings_fields() {
$settings_fields = array(
'general_setting_sec' => array(
array(
'name' => 'google-map-api',
'label' => __( 'Google Map API Key', 'mep' ),
@ -56,7 +65,57 @@ class MAGE_Events_Setting_Controls {
'type' => 'text',
'default' => ''
),
array(
'name' => 'mep_global_single_template',
'label' => __( 'Event Details Template', 'mep' ),
'desc' => __( 'Event Details Template', 'mep' ),
'type' => 'select',
'default' => 'no',
'options' => event_template_name()
),
),
'email_setting_sec' => array(
array(
'name' => 'mep_email_form_name',
'label' => __( 'Email Form Name', 'mep' ),
'desc' => __( 'Email Form Name', 'mep' ),
'type' => 'text'
),
array(
'name' => 'mep_email_form_email',
'label' => __( 'Form Email', 'mep' ),
'desc' => __( 'Form Email', 'mep' ),
'type' => 'text'
),
array(
'name' => 'mep_email_subject',
'label' => __( 'Email Subject', 'mep' ),
'desc' => __( 'Email Subject', 'mep' ),
'type' => 'text'
),
array(
'name' => 'mep_confirmation_email_text',
'label' => __( 'Confirmation Email Text', 'mep' ),
'desc' => __( 'Confirmation Email Text', 'mep' ),
'type' => 'textarea',
'default' => '',
),
),
);
return $settings_fields;

View File

@ -1,9 +1,9 @@
<?php
if ( ! defined( 'ABSPATH' ) ) { die; } // Cannot access pages directly.
// Create MKB CPT
function mep_cpt() {
$labels = array(
'name' => _x( 'Events', 'mep' ),
'singular_name' => _x( 'Events', 'mep' ),

View File

@ -5,11 +5,19 @@ 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' );
add_meta_box( 'mep-event-price', 'Event Price (Event Base price, It will not work if you add Event Ticket type Price)', 'mep_event_price_meta_box_cb', 'mep_events', 'normal', 'high' );
add_meta_box( 'mep-event-extra-price', 'Event Extra Option Price', 'mep_event_extra_price_option', 'mep_events', 'normal', 'high' );
add_meta_box( 'mep-event-ticket-type', 'Event Ticket Type', 'mep_event_ticket_type', 'mep_events', 'normal', 'high' );
add_meta_box( 'mep-event-date', 'Event Date & Time', 'mep_event_date_meta_box_cb', 'mep_events', 'normal', 'high' );
add_meta_box( 'mep-event-emails', 'Event Email text', 'mep_event_email_meta_box_cb', 'mep_events', 'normal', 'high' );
add_meta_box( 'mep-event-template', 'Template', 'mep_event_template_meta_box_cb', 'mep_events', 'side', 'low' );
add_meta_box( 'mep-event-reg-form', 'Event Registration Form', 'mep_event_reg_form_meta_box_cb', 'mep_events', 'normal', 'high' );
}
@ -19,10 +27,7 @@ $values = get_post_custom( $post->ID );
$user_api = mep_get_option( 'google-map-api', 'general_setting_sec', '');
?>
<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'>
@ -197,22 +202,35 @@ function mep_event_price_meta_box_cb($post){
$values = get_post_custom( $post->ID );
?>
<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>
<table id="" width="100%">
<thead>
<tr>
<th width="20%">Price Label</th>
<th width="20%">Price</th>
<th width="20%">Quantity</th>
<th width="20%">Input Type</th>
<th width="20%">Show Quantity Box</th>
</tr>
</thead>
<tbody>
<tr>
<td><input id='mep_ev_8' type="text" name='mep_price_label' value='<?php echo $values['mep_price_label'][0]; ?>'></td>
<td><input id='mep_ev_9' type="number" name='_price' required min='0' value='<?php if($values['_price'][0]){ echo $values['_price'][0]; } else{ echo 0; } ?>'></td>
<td><input id='mep_ev_1' type="number" name='mep_total_seat' value='<?php echo $values['mep_total_seat'][0]; ?>'> </td>
<td> <?php $qty_typec = $values['qty_box_type'][0]; ?>
<select name="qty_box_type" id="mep_ev_9800" class=''>
<option value="inputbox" <?php if($qty_typec=='inputbox'){ echo "Selected"; } ?>>Input Box</option>
<option value="dropdown" <?php if($qty_typec=='dropdown'){ echo "Selected"; } ?>>Dropdown List</option>
</select></td>
<td> <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></td>
</tr>
</tbody>
</table>
<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>
@ -222,6 +240,20 @@ $values = get_post_custom( $post->ID );
function mep_event_extra_price_option() {
global $post;
$mep_events_extra_prices = get_post_meta($post->ID, 'mep_events_extra_prices', true);
@ -246,9 +278,11 @@ function mep_event_extra_price_option() {
<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>
<th width="30%">Extra Option Name</th>
<th width="30%">Amount</th>
<th width="20%">Quantity</th>
<th width="10%">Input Type</th>
<th width="10%"></th>
</tr>
</thead>
<tbody>
@ -257,10 +291,21 @@ function mep_event_extra_price_option() {
if ( $mep_events_extra_prices ) :
foreach ( $mep_events_extra_prices as $field ) {
$qty_type = esc_attr( $field['option_qty_type'] );
?>
<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><input type="number" class="widefat" name="option_qty[]" value="<?php if ($field['option_qty'] != '') echo esc_attr( $field['option_qty'] ); else echo ''; ?>" /></td>
<td align="center">
<select name="option_qty_type[]" id="mep_ev_9800kj8" class=''>
<option value="inputbox" <?php if($qty_type=='inputbox'){ echo "Selected"; } ?>>Input Box</option>
<option value="dropdown" <?php if($qty_type=='dropdown'){ echo "Selected"; } ?>>Dropdown List</option>
</select>
</td>
<td><a class="button remove-row" href="#">Remove</a></td>
</tr>
<?php
@ -274,7 +319,15 @@ function mep_event_extra_price_option() {
<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><input type="number" class="widefat" name="option_qty[]" value="" /></td>
<td><select name="option_qty_type[]" id="mep_ev_9800kj8" class=''>
<option value="">Please Select Type</option>
<option value="inputbox">Input Box</option>
<option value="dropdown">Dropdown List</option>
</select></td>
<td><a class="button remove-row" href="#">Remove</a></td>
</tr>
</tbody>
</table>
@ -284,6 +337,103 @@ function mep_event_extra_price_option() {
function mep_event_ticket_type() {
global $post;
$mep_event_ticket_type = get_post_meta($post->ID, 'mep_event_ticket_type', true);
wp_nonce_field( 'mep_event_ticket_type_nonce', 'mep_event_ticket_type_nonce' );
?>
<script type="text/javascript">
jQuery(document).ready(function( $ ){
$( '#add-row-t' ).on('click', function() {
var row = $( '.empty-row-t.screen-reader-text' ).clone(true);
row.removeClass( 'empty-row-t screen-reader-text' );
row.insertBefore( '#repeatable-fieldset-one-t tbody>tr:last' );
return false;
});
$( '.remove-row-t' ).on('click', function() {
$(this).parents('tr').remove();
return false;
});
});
</script>
<table id="repeatable-fieldset-one-t" width="100%">
<thead>
<tr>
<th width="30%">Extra Option Name</th>
<th width="30%">Amount</th>
<th width="20%">Quantity</th>
<th width="10%">InputType</th>
<th width="10%"></th>
</tr>
</thead>
<tbody>
<?php
if ( $mep_event_ticket_type ) :
foreach ( $mep_event_ticket_type as $field ) {
$qty_t_type = esc_attr( $field['option_qty_t_type'] );
?>
<tr>
<td><input type="text" class="widefat" name="option_name_t[]" value="<?php if($field['option_name_t'] != '') echo esc_attr( $field['option_name_t'] ); ?>" /></td>
<td><input type="number" class="widefat" name="option_price_t[]" value="<?php if ($field['option_price_t'] != '') echo esc_attr( $field['option_price_t'] ); else echo ''; ?>" /></td>
<td><input type="number" class="widefat" name="option_qty_t[]" value="<?php if ($field['option_qty_t'] != '') echo esc_attr( $field['option_qty_t'] ); else echo ''; ?>" /></td>
<td><select name="option_qty_t_type[]" id="mep_ev_9800kj8" class=''>
<option value="inputbox" <?php if($qty_t_type=='inputbox'){ echo "Selected"; } ?>>Input Box</option>
<option value="dropdown" <?php if($qty_t_type=='dropdown'){ echo "Selected"; } ?>>Dropdown List</option>
</select></td>
<td><a class="button remove-row-t" href="#">Remove</a></td>
</tr>
<?php
}
else :
// show a blank one
endif;
?>
<!-- empty hidden one for jQuery -->
<tr class="empty-row-t screen-reader-text">
<td><input type="text" class="widefat" name="option_name_t[]" /></td>
<td><input type="number" class="widefat" name="option_price_t[]" value="" /></td>
<td><input type="number" class="widefat" name="option_qty_t[]" value="" /></td>
<td><select name="option_qty_t_type[]" id="mep_ev_9800kj8" class=''><option value="">Please Select Type</option><option value="inputbox">Input Box</option><option value="dropdown">Dropdown List</option></select></td>
<td><a class="button remove-row-t" href="#">Remove</a></td>
</tr>
</tbody>
</table>
<p><a id="add-row-t" class="button" href="#">Add New Ticket Type</a></p>
<?php
}
function mep_event_date_meta_box_cb($post){
$values = get_post_custom( $post->ID );
?>
@ -304,8 +454,198 @@ $values = get_post_custom( $post->ID );
}
function mep_event_email_meta_box_cb($post){
$values = get_post_custom( $post->ID );
?>
<div class='sec'>
<label for="event_start_date"> Confirmation Email Text: </label>
<span><textarea style='border: 1px solid #ddd;width: 100%;min-height: 200px;margin: 10px 0;padding: 5px;' class='' id='' type="text" name='mep_event_cc_email_text'><?php echo $values['mep_event_cc_email_text'][0]; ?></textarea> </span>
</div>
<?php
}
function mep_event_reg_form_meta_box_cb($post){
$values = get_post_custom( $post->ID );
?>
<div class='sec'>
<label for="mep_ev_98">
<span><input style='text-align: left;width: auto;' id='mep_ev_98' type="checkbox" name='mep_full_name' <?php $sqi = $values['mep_full_name'][0]; if($sqi==1){ echo 'checked'; } ?> value='1' /> Full Name </span></label>
</div>
<div class='sec'>
<label for="mep_ev_981">
<span><input style='text-align: left;width: auto;' id='mep_ev_981' type="checkbox" name='mep_reg_email' <?php $sqi1 = $values['mep_reg_email'][0]; if($sqi1==1){ echo 'checked'; } ?> value='1' /> Email Address </span></label>
</div>
<div class='sec'>
<label for="mep_ev_982">
<span><input style='text-align: left;width: auto;' id='mep_ev_982' type="checkbox" name='mep_reg_phone' <?php $sqi2 = $values['mep_reg_phone'][0]; if($sqi2==1){ echo 'checked'; } ?> value='1' /> Phone Number </span></label>
</div>
<div class='sec'>
<label for="mep_ev_983">
<span><input style='text-align: left;width: auto;' id='mep_ev_983' type="checkbox" name='mep_reg_address' <?php $sqi3 = $values['mep_reg_address'][0]; if($sqi3==1){ echo 'checked'; } ?> value='1' />Address </span></label>
</div>
<div class='sec'>
<label for="mep_ev_98309">
<span><input style='text-align: left;width: auto;' id='mep_ev_98309' type="checkbox" name='mep_reg_tshirtsize' <?php $sqi312 = $values['mep_reg_tshirtsize'][0]; if($sqi312==1){ echo 'checked'; } ?> value='1' />T-Shirt Size </span></label>
</label>
<label for="">
Input Tshirts size, separetd by comma (M,L,XL)
<?php
$tsizes = $values['mep_reg_tshirtsize_list'][0];
?>
<input style='' id='' type="text" name='mep_reg_tshirtsize_list' value='<?php if($tsizes){ echo $tsizes; }else{ echo "S,M,L,XL"; } ?>' />
</label>
</div>
<div class='sec'>
<label for="mep_ev_984">
<span><input style='text-align: left;width: auto;' id='mep_ev_984' type="checkbox" name='mep_reg_designation' <?php $sqi4 = $values['mep_reg_designation'][0]; if($sqi4==1){ echo 'checked'; } ?> value='1' /> Designation </span></label>
</div>
<div class='sec'>
<label for="mep_ev_985">
<span><input style='text-align: left;width: auto;' id='mep_ev_985' type="checkbox" name='mep_reg_website' <?php $sqi5 = $values['mep_reg_website'][0]; if($sqi5==1){ echo 'checked'; } ?> value='1' /> Website </span></label>
</div>
<div class='sec'>
<label for="mep_ev_986">
<span><input style='text-align: left;width: auto;' id='mep_ev_986' type="checkbox" name='mep_reg_veg' <?php $sqi6 = $values['mep_reg_veg'][0]; if($sqi6==1){ echo 'checked'; } ?> value='1' /> Vegetarian </span></label>
</div>
<div class='sec'>
<label for="mep_ev_987">
<span><input style='text-align: left;width: auto;' id='mep_ev_987' type="checkbox" name='mep_reg_company' <?php $sqi7 = $values['mep_reg_company'][0]; if($sqi7==1){ echo 'checked'; } ?> value='1' /> Company Name </span></label>
</div>
<div class='sec'>
<label for="mep_ev_988">
<span><input style='text-align: left;width: auto;' id='mep_ev_988' type="checkbox" name='mep_reg_gender' <?php $sqi8 = $values['mep_reg_gender'][0]; if($sqi8==1){ echo 'checked'; } ?> value='1' /> Gender </span></label>
</div>
<?php
}
function mep_event_template_meta_box_cb($post){
$values = get_post_custom( $post->ID );
$global_template = mep_get_option( 'mep_global_single_template', 'general_setting_sec', 'theme-2');
$current_template = $values['mep_event_template'][0];
if($current_template){
$_current_template = $current_template;
}else{
$_current_template = $global_template;
}
?>
<div class='sec'>
<span><?php event_single_template_list($_current_template); ?></span>
</div>
<?php
}
add_action('save_post', 'mep_events_ticket_type_save');
function mep_events_ticket_type_save($post_id) {
global $wpdb;
$table_name = $wpdb->prefix . 'mep_event_ticket_type';
if ( ! isset( $_POST['mep_event_ticket_type_nonce'] ) ||
! wp_verify_nonce( $_POST['mep_event_ticket_type_nonce'], 'mep_event_ticket_type_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_event_ticket_type', true);
$new = array();
// $options = hhs_get_sample_options();
$names = $_POST['option_name_t'];
// $selects = $_POST['select'];
$urls = $_POST['option_price_t'];
$qty = $_POST['option_qty_t'];
$qty_type = $_POST['option_qty_t_type'];
// $required = $_POST['option_required_t'];
// $total_sold = $_POST['option_sold'];
$order_id = 0;
$count = count( $names );
for ( $i = 0; $i < $count; $i++ ) {
if ( $names[$i] != '' ) :
$new[$i]['option_name_t'] = stripslashes( strip_tags( $names[$i] ) );
endif;
if ( $urls[$i] != '' ) :
$new[$i]['option_price_t'] = stripslashes( strip_tags( $urls[$i] ) );
endif;
if ( $qty[$i] != '' ) :
$new[$i]['option_qty_t'] = stripslashes( strip_tags( $qty[$i] ) );
endif;
if ( $qty_type[$i] != '' ) :
$new[$i]['option_qty_t_type'] = stripslashes( strip_tags( $qty_type[$i] ) );
endif;
// if ( $required[$i] != '' ) :
// $new[$i]['option_required_t'] = stripslashes( strip_tags( $required[$i] ) );
// endif;
$opt_name = $post_id.str_replace(' ', '', $names[$i]);
// update_post_meta( $post_id, "mep_xtra_$opt_name",0 );
}
if ( !empty( $new ) && $new != $old )
update_post_meta( $post_id, 'mep_event_ticket_type', $new );
elseif ( empty($new) && $old )
delete_post_meta( $post_id, 'mep_event_ticket_type', $old );
}
add_action('save_post', 'mep_events_repeatable_meta_box_save');
function mep_events_repeatable_meta_box_save($post_id) {
global $wpdb;
$table_name = $wpdb->prefix . 'event_extra_options';
if ( ! isset( $_POST['mep_events_extra_price_nonce'] ) ||
! wp_verify_nonce( $_POST['mep_events_extra_price_nonce'], 'mep_events_extra_price_nonce' ) )
return;
@ -323,7 +663,12 @@ function mep_events_repeatable_meta_box_save($post_id) {
$names = $_POST['option_name'];
// $selects = $_POST['select'];
$urls = $_POST['option_price'];
$qty = $_POST['option_qty'];
$qty_type = $_POST['option_qty_type'];
// $required = $_POST['option_required'];
// $total_sold = $_POST['option_sold'];
$order_id = 0;
$count = count( $names );
for ( $i = 0; $i < $count; $i++ ) {
@ -335,13 +680,42 @@ function mep_events_repeatable_meta_box_save($post_id) {
if ( $urls[$i] != '' ) :
$new[$i]['option_price'] = stripslashes( strip_tags( $urls[$i] ) );
endif;
if ( $qty[$i] != '' ) :
$new[$i]['option_qty'] = stripslashes( strip_tags( $qty[$i] ) );
endif;
if ( $qty_type[$i] != '' ) :
$new[$i]['option_qty_type'] = stripslashes( strip_tags( $qty_type[$i] ) );
endif;
// if ( $required[$i] != '' ) :
// $new[$i]['option_required'] = stripslashes( strip_tags( $required[$i] ) );
// endif;
$opt_name = $post_id.str_replace(' ', '', $names[$i]);
// update_post_meta( $post_id, "mep_xtra_$opt_name",0 );
}
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 );
}
add_action('save_post','mep_events_meta_save');
function mep_events_meta_save($post_id){
global $post;
@ -350,28 +724,79 @@ function mep_events_meta_save($post_id){
return;
}
//if you get here then it's your post type so do your thing....
$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']);
$mep_price_label = strip_tags($_POST['mep_price_label']);
$mep_sqi = strip_tags($_POST['mep_sqi']);
$mep_sgm = strip_tags($_POST['mep_sgm']);
$_price = strip_tags($_POST['_price']);
$mep_event_start_date = strip_tags($_POST['mep_event_start_date']);
$mep_event_end_date = strip_tags($_POST['mep_event_end_date']);
$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']);
$mep_price_label = strip_tags($_POST['mep_price_label']);
$mep_sqi = strip_tags($_POST['mep_sqi']);
$qty_box_type = strip_tags($_POST['qty_box_type']);
$mep_sgm = strip_tags($_POST['mep_sgm']);
$_price = strip_tags($_POST['_price']);
$mep_event_start_date = strip_tags($_POST['mep_event_start_date']);
$mep_event_end_date = strip_tags($_POST['mep_event_end_date']);
$mep_event_cc_email_text = strip_tags($_POST['mep_event_cc_email_text']);
$latitude = strip_tags($_POST['latitude']);
$longitude = strip_tags($_POST['longitude']);
$location_name = strip_tags($_POST['location_name']);
$mep_full_name = strip_tags($_POST['mep_full_name']);
$mep_reg_email = strip_tags($_POST['mep_reg_email']);
$mep_reg_phone = strip_tags($_POST['mep_reg_phone']);
$mep_reg_address = strip_tags($_POST['mep_reg_address']);
$mep_reg_designation = strip_tags($_POST['mep_reg_designation']);
$mep_reg_website = strip_tags($_POST['mep_reg_website']);
$mep_reg_veg = strip_tags($_POST['mep_reg_veg']);
$mep_reg_company = strip_tags($_POST['mep_reg_company']);
$mep_reg_gender = strip_tags($_POST['mep_reg_gender']);
$mep_reg_tshirtsize = strip_tags($_POST['mep_reg_tshirtsize']);
$mep_reg_tshirtsize_list = strip_tags($_POST['mep_reg_tshirtsize_list']);
$mep_event_template = strip_tags($_POST['mep_event_template']);
$update_reg_name = update_post_meta( $pid, 'mep_full_name', $mep_full_name);
$update_reg_email = update_post_meta( $pid, 'mep_reg_email', $mep_reg_email);
$update_reg_phone = update_post_meta( $pid, 'mep_reg_phone', $mep_reg_phone);
$update_reg_address = update_post_meta( $pid, 'mep_reg_address', $mep_reg_address);
$update_reg_desg = update_post_meta( $pid, 'mep_reg_designation', $mep_reg_designation);
$update_reg_web = update_post_meta( $pid, 'mep_reg_website', $mep_reg_website);
$update_reg_veg = update_post_meta( $pid, 'mep_reg_veg', $mep_reg_veg);
$update_reg_comapny = update_post_meta( $pid, 'mep_reg_company', $mep_reg_company);
$update_reg_gender = update_post_meta( $pid, 'mep_reg_gender', $mep_reg_gender);
$update_tshirtsize = update_post_meta( $pid, 'mep_reg_tshirtsize', $mep_reg_tshirtsize);
$mep_reg_tshirtsize_list = update_post_meta( $pid, 'mep_reg_tshirtsize_list', $mep_reg_tshirtsize_list);
$update_template = update_post_meta( $pid, 'mep_event_template', $mep_event_template);
$mep_event_ticket_type = get_post_meta($pid, 'mep_event_ticket_type', true);
if($mep_event_ticket_type){
$st_msg = 'no';
$seat = "";
$_price =0;
}else{
$st_msg = 'yes';
$_price = $_price;
$seat = $seat;
}
$latitude = strip_tags($_POST['latitude']);
$longitude = strip_tags($_POST['longitude']);
$location_name = strip_tags($_POST['location_name']);
$update_seat = update_post_meta( $pid, 'mep_total_seat', $seat);
$update_seat_stock_status = update_post_meta( $pid, '_manage_stock', 'yes');
$update_seat_stock = update_post_meta( $pid, '_stock', $seat);
$update_seat_stock_status = update_post_meta( $pid, '_manage_stock', $st_msg);
$update_seat_stock = update_post_meta( $pid, '_stock', $seat);
$sts_msg = update_post_meta( $pid, '_stock_msg', 'new');
// $ttl_booking = update_post_meta( $pid, 'total_booking', '0');
@ -381,19 +806,21 @@ $sts_msg = update_post_meta( $pid, '_stock_msg', 'new');
$update_location = update_post_meta( $pid, 'mep_location_venue', $mep_location_venue);
$update_location = update_post_meta( $pid, 'mep_location_venue', $mep_location_venue);
$update_mep_street = update_post_meta( $pid, 'mep_street', $mep_street);
$update_city = update_post_meta( $pid, 'mep_city', $mep_city);
$update_city = update_post_meta( $pid, 'mep_city', $mep_city);
$update_mep_state = update_post_meta( $pid, 'mep_state', $mep_state);
$update_postcode = update_post_meta( $pid, 'mep_postcode', $mep_postcode);
$update_conuntry = update_post_meta( $pid, 'mep_country', $mep_country);
$update_postcode = update_post_meta( $pid, 'mep_postcode', $mep_postcode);
$update_conuntry = update_post_meta( $pid, 'mep_country', $mep_country);
$update_sqi = update_post_meta( $pid, 'mep_sqi', $mep_sqi);
$qty_box_type = update_post_meta( $pid, 'qty_box_type', $qty_box_type);
$update_mep_sgm = update_post_meta( $pid, 'mep_sgm', $mep_sgm);
$update_price_label = update_post_meta( $pid, 'mep_price_label', $mep_price_label);
$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);
$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);
$mep_event_cc_email_text = update_post_meta( $pid, 'mep_event_cc_email_text', $mep_event_cc_email_text);
}
@ -410,13 +837,15 @@ $values = get_post_custom( $post->ID );
<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"> UserID: </label>
<span><?php echo $values['ea_user_id'][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>
<span><?php echo $values['ea_name'][0]; ?></span>
</div>
<div class='sec'>
@ -429,35 +858,62 @@ $values = get_post_custom( $post->ID );
<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]; ?>
<?php echo $values['ea_address_1'][0]; ?>
</span>
</div>
<div class='sec'>
<label for="my_meta_box_text">State: </label>
<label for="my_meta_box_text">Gender: </label>
<span>
<?php echo $values['ea_state'][0]; ?>
<?php echo $values['ea_gender'][0]; ?>
</span>
</div>
<div class='sec'>
<label for="my_meta_box_text">City: </label>
<label for="my_meta_box_text">Company: </label>
<span>
<?php echo $values['ea_city'][0]; ?>
<?php echo $values['ea_company'][0]; ?>
</span>
</div>
<div class='sec'>
<label for="my_meta_box_text">Country: </label>
<label for="my_meta_box_text">Designation: </label>
<span>
<?php echo $values['ea_country'][0]; ?>
<?php echo $values['ea_desg'][0]; ?>
</span>
</div>
<div class='sec'>
<label for="my_meta_box_text">Website: </label>
<span>
<?php echo $values['ea_website'][0]; ?>
</span>
</div>
<div class='sec'>
<label for="my_meta_box_text">Vegetarian?: </label>
<span>
<?php echo $values['ea_vegetarian'][0]; ?>
</span>
</div>
<div class='sec'>
<label for="my_meta_box_text">Order ID: </label>
<span>
@ -470,4 +926,4 @@ $values = get_post_custom( $post->ID );
</span>
</div>
<?php
}
}

View File

@ -1,44 +1,127 @@
<?php
function mep_output_add_to_cart_custom_fields() {
global $post, $product;
$pid = $post->ID;
$count=1;
$mep_events_extra_prices = get_post_meta($post->ID, 'mep_events_extra_prices', true);
if ( $mep_events_extra_prices ){
foreach ($mep_events_extra_prices as $field) {
?>
<label class='event_addt_price' for="eventp<?php echo $count; ?>">
<input id="eventp<?php echo $count; ?>" class='event_addt_price_list' type="checkbox" data-price="<?php echo $field['option_price']; ?>" name='event_addt_price[]' value='<?php echo str_replace(' ', '-',$field['option_name'])."_".$field['option_price']; ?>'><?php echo $field['option_name']; ?> - <?php echo get_woocommerce_currency_symbol().$field['option_price']; ?>
</label>
<?php
$count++;
}
}
}
add_action( 'event_kaku_before_reg_btn', 'mep_output_add_to_cart_custom_fields', 10 );
function mep_add_custom_fields_text_to_cart_item( $cart_item_data, $product_id, $variation_id ) {
$tp = get_post_meta($product_id,'_price',true);
$new = array();
$user = array();
if (isset($_POST['add-to-cart'])) {
$name = $_POST['event_addt_price'];
$count =1;
foreach ($name as $color){
$cart_item_data["AddtP_".$count] = $color;
$price = mep_get_item_price($color);
$tp = ($tp+$price);
$count++;
}
$checked = $_POST['event_addt_price'];
$names = $_POST['option_name'];
$qty = $_POST['option_qty'];
$price = $_POST['option_price'];
$mep_user_name = $_POST['user_name'];
$mep_user_email = $_POST['user_email'];
$mep_user_phone = $_POST['user_phone'];
$mep_user_address = $_POST['user_address'];
$mep_user_gender = $_POST['gender'];
$mep_user_tshirtsize = $_POST['tshirtsize'];
$mep_user_company = $_POST['user_company'];
$mep_user_desg = $_POST['user_designation'];
$mep_user_website = $_POST['user_website'];
$mep_user_vegetarian = $_POST['vegetarian'];
$mep_user_ticket_type = $_POST['ticket_type'];
$count_user = count($mep_user_name);
$count = count( $names );
for ( $i = 0; $i < $count; $i++ ) {
if ( $names[$i] != '' ) :
$new[$i]['option_name'] = stripslashes( strip_tags( $names[$i] ) );
endif;
if ( $price[$i] != '' ) :
$new[$i]['option_price'] = stripslashes( strip_tags( $price[$i] ) );
endif;
if ( $qty[$i] != '' ) :
$new[$i]['option_qty'] = stripslashes( strip_tags( $qty[$i] ) );
endif;
$opttprice = ($price[$i]*$qty[$i]);
$tp = ($tp+$opttprice);
}
for ( $iu = 0; $iu < $count_user; $iu++ ) {
if ( $mep_user_name[$iu] != '' ) :
$user[$iu]['user_name'] = stripslashes( strip_tags( $mep_user_name[$iu] ) );
endif;
if ( $mep_user_email[$iu] != '' ) :
$user[$iu]['user_email'] = stripslashes( strip_tags( $mep_user_email[$iu] ) );
endif;
if ( $mep_user_phone[$iu] != '' ) :
$user[$iu]['user_phone'] = stripslashes( strip_tags( $mep_user_phone[$iu] ) );
endif;
if ( $mep_user_address[$iu] != '' ) :
$user[$iu]['user_address'] = stripslashes( strip_tags( $mep_user_address[$iu] ) );
endif;
if ( $mep_user_gender[$iu] != '' ) :
$user[$iu]['user_gender'] = stripslashes( strip_tags( $mep_user_gender[$iu] ) );
endif;
if ( $mep_user_tshirtsize[$iu] != '' ) :
$user[$iu]['user_tshirtsize'] = stripslashes( strip_tags( $mep_user_tshirtsize[$iu] ) );
endif;
if ( $mep_user_company[$iu] != '' ) :
$user[$iu]['user_company'] = stripslashes( strip_tags( $mep_user_company[$iu] ) );
endif;
if ( $mep_user_desg[$iu] != '' ) :
$user[$iu]['user_designation'] = stripslashes( strip_tags( $mep_user_desg[$iu] ) );
endif;
if ( $mep_user_website[$iu] != '' ) :
$user[$iu]['user_website'] = stripslashes( strip_tags( $mep_user_website[$iu] ) );
endif;
if ( $mep_user_vegetarian[$iu] != '' ) :
$user[$iu]['user_vegetarian'] = stripslashes( strip_tags( $mep_user_vegetarian[$iu] ) );
endif;
if ( $mep_user_ticket_type[$iu] != '' ) :
$user[$iu]['user_ticket_type'] = stripslashes( strip_tags( $mep_user_ticket_type[$iu] ) );
endif;
}
if($_POST['mep_event_ticket_type']){
$ttp = $_POST['mep_event_ticket_type'];
$ttpqt = $_POST['tcp_qty'];
$ticket_type = mep_get_order_info($ttp,1);
$ticket_type_price = (mep_get_order_info($ttp,0)*$ttpqt);
$cart_item_data['event_ticket_type'] = $ticket_type;
$cart_item_data['event_ticket_price'] = $ticket_type_price;
$cart_item_data['event_ticket_qty'] = $ttpqt;
$tp = $tp+$ticket_type_price;
}
$cart_item_data['event_extra_option'] = $new;
$cart_item_data['event_user_info'] = $user;
$cart_item_data['event_tp'] = $tp;
$cart_item_data['line_total'] = $tp;
$cart_item_data['line_subtotal'] = $tp;
return $cart_item_data;
}
add_filter( 'woocommerce_add_cart_item_data', 'mep_add_custom_fields_text_to_cart_item', 10, 3 );
@ -57,29 +140,92 @@ function add_custom_price( $cart_object ) {
}
function mep_display_custom_fields_text_cart( $item_data, $cart_item ) {
$count =1;
$mep_events_extra_prices = $cart_item['event_extra_option'];
if($mep_events_extra_prices){
echo "<ul class='event-custom-price'>";
foreach ($cart_item as $_cart_item){
if(!empty($cart_item["AddtP_".$count])){
echo "<li>".mep_get_item_name($cart_item["AddtP_".$count])." - ".get_woocommerce_currency_symbol().mep_get_item_price($cart_item["AddtP_".$count])."</li>";
}
$count++;
}
foreach ( $mep_events_extra_prices as $field ) {
if($field['option_qty']>0){
?>
<li><?php echo esc_attr( $field['option_name'] ); ?> x <?php echo esc_attr( $field['option_qty'] ); ?>: <?php echo get_woocommerce_currency_symbol().($field['option_qty'] *$field['option_price'] ); ?> </li>
<?php
}
}
if($cart_item['event_ticket_type']){
echo "<li> Ticket: ".$cart_item['event_ticket_type']." x ".$cart_item['event_ticket_qty'].": ".get_woocommerce_currency_symbol().$cart_item['event_ticket_price']."</li>";
}
echo "</ul>";
return $item_data;
}
}
add_filter( 'woocommerce_get_item_data', 'mep_display_custom_fields_text_cart', 10, 2 );
function mep_add_custom_fields_text_to_order_items( $item, $cart_item_key, $values, $order ) {
$count =1;
$mep_events_extra_prices = $values['event_extra_option'];
$event_user_info = $values['event_user_info'];
$event_ticket_type = $values['event_ticket_type'];
$event_ticket_price = $values['event_ticket_price'];
$event_ticket_qty = $values['event_ticket_qty'];
$product_id = $values['product_id'];
foreach ($values as $_values){
$item->add_meta_data( __( mep_get_item_name($values["AddtP_".$count]), 'atn' ), get_woocommerce_currency_symbol().mep_get_item_price($values["AddtP_".$count]) );
$count++;
}
foreach ( $mep_events_extra_prices as $field ) {
if($field['option_qty']>0){
$item->add_meta_data( __( esc_attr( $field['option_name'] )." x ".$field['option_qty'], 'atn' ), get_woocommerce_currency_symbol().($field['option_qty'] *$field['option_price'] ) );
$opt_name = $product_id.str_replace(' ', '', $field['option_name']);
$opt_qty = $field['option_qty'];
// $tes = 0;
$tes = get_post_meta($product_id,"mep_xtra_$opt_name",true);
$ntes = ($tes+$opt_qty);
update_post_meta( $product_id, "mep_xtra_$opt_name",$ntes);
}
}
if($event_ticket_type){
$event_ticket_type = "Ticket:".$event_ticket_type;
$item->add_meta_data( __($event_ticket_type." x ".$event_ticket_qty),get_woocommerce_currency_symbol().$event_ticket_price);
$tck_name = $product_id.str_replace(' ', '', $event_ticket_type);
$tesqt = get_post_meta($product_id,"mep_xtra_$tck_name",true);
$ntesqt = ($tesqt+$event_ticket_qty);
update_post_meta( $product_id, "mep_xtra_$tck_name",$ntesqt);
}
add_action( 'woocommerce_checkout_create_order_line_item', 'mep_add_custom_fields_text_to_order_items', 10, 4 );
$item->add_meta_data( __('_event_user_info'),$event_user_info);
}
add_action( 'woocommerce_checkout_create_order_line_item', 'mep_add_custom_fields_text_to_order_items', 10, 4 );
function add_message_in_checkout() {
global $values,$cart_item_data;
print_r($$cart_item_data);
//var_dump(do_shortcode('[my_shortcode]'));
/*Modification*/
echo '<div class="coupon_value">Hello World</div>'; // Here I have modified it to give class and update value
}
add_action('woocommerce_review_order_before_payment', 'add_message_in_checkout');

View File

@ -1,21 +1,134 @@
<?php
if ( ! defined( 'ABSPATH' ) ) { die; } // Cannot access pages directly.
add_shortcode( 'event-calendar', 'mep_event_calender' );
function mep_event_calender($atts, $content=null){
?>
<div class="event-calendar"></div>
<script>
jQuery(document).ready( function() {
const myEvents = [
<?php
$args_search_qqq = array (
'post_type' => array( 'mep_events' ),
'posts_per_page' => -1
);
$loop = new WP_Query($args_search_qqq);
$i = 1;
$count = $loop->post_count-1;
while ($loop->have_posts()) {
$loop->the_post();
$event_meta = get_post_custom(get_the_id());
$author_terms = get_the_terms(get_the_id(), 'mep_org');
$time = strtotime($event_meta['mep_event_start_date'][0]);
$newformat = date('Y-m-d H:i:s',$time);
// echo $newformat;
if(time() < strtotime($newformat)){
?>
{
start: '<?php echo date('Y-m-d H:i',strtotime($event_meta['mep_event_start_date'][0])); ?>',
end: '<?php echo date('Y-m-d H:i',strtotime($event_meta['mep_event_end_date'][0])); ?>',
title: '<?php the_title(); ?>',
url: '<?php the_permalink(); ?>',
class: '',
color: '#000',
data: {}
},<?php //if ($i == $count) { echo "";}else{ echo ","; } ?><?php $i++; } } ?>]
jQuery('.event-calendar').equinox({
events: myEvents
});
});
</script>
<?php
}
add_shortcode( 'event-list', 'mep_event_list' );
function mep_event_list($atts, $content=null){
$defaults = array(
"cat" => "0",
"org" => "0",
"style" => "grid",
"cat-filter" => "no",
"org-filter" => "no",
"show" => "-1",
"pagination" => "no",
);
$params = shortcode_atts($defaults, $atts);
$cat = $params['cat'];
$org = $params['org'];
$style = $params['style'];
$cat_f = $params['cat-filter'];
$org_f = $params['org-filter'];
$show = $params['show'];
$pagination = $params['pagination'];
ob_start();
?>
<div class='mep_event_list'>
<?php if($cat_f=='yes'){ ?>
<div class="mep-events-cats-list">
<?php
$terms = get_terms( array(
'taxonomy' => 'mep_cat'
) );
?>
<div class="mep-event-cat-controls">
<button type="button" class="mep-cat-control" data-filter="all">All</button><?php
foreach ($terms as $_terms) {
?><button type="button" class="mep-cat-control" data-filter=".<?php echo $_terms->slug; ?>"><?php echo $_terms->name; ?></button><?php
}
?>
</div>
</div>
<?php } if($org_f=='yes'){ ?>
<div class="mep-events-cats-list">
<?php
$terms = get_terms( array(
'taxonomy' => 'mep_org'
) );
?>
<div class="mep-event-cat-controls">
<button type="button" class="mep-cat-control" data-filter="all">All</button><?php
foreach ($terms as $_terms) {
?><button type="button" class="mep-cat-control" data-filter=".<?php echo $_terms->slug; ?>"><?php echo $_terms->name; ?></button><?php
}
?>
</div>
</div>
<?php } ?>
<div class="mep_event_list_sec">
<?php
$paged = get_query_var("paged")?get_query_var("paged"):1;
if($cat>0){
$args_search_qqq = array (
'post_type' => array( 'mep_events' ),
'posts_per_page' => -1,
'paged' => $paged,
'posts_per_page' => $show,
'tax_query' => array(
array(
'taxonomy' => 'mep_cat',
@ -25,10 +138,27 @@ if($cat>0){
)
);
}else{
}
elseif($org>0){
$args_search_qqq = array (
'post_type' => array( 'mep_events' ),
'posts_per_page' => -1
'posts_per_page' => $show,
'paged' => $paged,
'tax_query' => array(
array(
'taxonomy' => 'mep_org',
'field' => 'term_id',
'terms' => $org
)
)
);
}
else{
$args_search_qqq = array (
'post_type' => array( 'mep_events' ),
'paged' => $paged,
'posts_per_page' => $show
);
}
@ -37,29 +167,90 @@ if($cat>0){
while ($loop->have_posts()) {
$loop->the_post();
$event_meta = get_post_custom(get_the_id());
$author_terms = get_the_terms(get_the_id(), 'mep_org');
$time = strtotime($event_meta['mep_event_start_date'][0]);
$newformat = date('Y-m-d H:i:s',$time);
if(time() < strtotime($newformat)){
?>
<div class='mep_event_list_item'>
<div class="mep_list_thumb"><?php the_post_thumbnail('medium'); ?></div>
<div class="mep_list_event_details"><a href="<?php the_permalink(); ?>">
<h2 class='mep_list_title'><?php the_title(); ?></h2>
<h3 class='mep_list_date'>on <?php echo $event_meta['mep_event_start_date'][0]; ?> - <?php echo $event_meta['mep_event_end_date'][0]; ?></h3>
$tt = get_the_terms( $post->ID, 'mep_cat');
$torg = get_the_terms( $post->ID, 'mep_org');
// print_r($tt);
<p><?php echo $event_meta['mep_location_venue'][0]; ?>,<?php echo $event_meta['mep_street'][0]; ?>, <?php echo $event_meta['mep_city'][0]; ?>,<?php echo $event_meta['mep_state'][0]; ?>,<?php echo $event_meta['mep_postcode'][0]; ?>,<?php echo $event_meta['mep_country'][0]; ?></p>
</a>
?>
<div class='mep_event_<?php echo $style; ?>_item mix <?php echo $tt[0]->slug; ?> <?php echo $torg[0]->slug; ?>'>
<div class="mep_list_thumb">
<?php the_post_thumbnail('full'); ?>
<div class="mep-ev-start-date">
<div class="mep-day"><?php echo substr($event_meta['mep_event_start_date'][0],0,3); ?></div>
<div class="mep-month"><?php echo substr($event_meta['mep_event_start_date'][0],3,3); ?></div>
</div>
</div>
<div class="mep_list_event_details"><a href="<?php the_permalink(); ?>">
<div class="mep-list-header">
<h2 class='mep_list_title'><?php the_title(); ?></h2>
<h3 class='mep_list_date'> Price Start from: <?php echo mep_event_list_price(get_the_id()); ?><!-- <i class="fa fa-calendar"></i> <?php echo $event_meta['mep_event_start_date'][0]; ?> - <?php echo $event_meta['mep_event_end_date'][0]; ?> --></h3>
</div>
<?php
if($style=='list'){
?>
<div class="mep-event-excerpt">
<?php the_excerpt(); ?>
</div>
<?php } ?>
<div class="mep-list-footer">
<ul>
<li>
<div class="evl-ico"><i class="fa fa-university"></i> </div>
<div class="evl-cc">
<h5>Organize by:</h5>
<h6><?php echo $author_terms[0]->name; ?></h6>
</div>
</li>
<li>
<div class="evl-ico"><i class="fa fa-map-marker"></i> </div>
<div class="evl-cc">
<h5>Location:</h5>
<h6><?php echo $event_meta['mep_city'][0]; ?></h6>
</div>
</li>
<li>
<div class="evl-ico"><i class="fa fa-calendar"></i> </div>
<div class="evl-cc">
<h5>Time:</h5>
<h6><?php echo substr($event_meta['mep_event_start_date'][0],12,5); ?> - <?php echo substr($event_meta['mep_event_end_date'][0],12,5); ?></h6>
</div>
</li>
</ul>
</div></a>
</div>
</div>
<?php
}
}
if($pagination=='yes'){
?>
</div>
<div class="row">
<div class="col-md-12"><?php
$pargs = array(
"current"=>$paged,
"total"=>$loop->max_num_pages
);
echo "<div class='pagination-sec'>".paginate_links($pargs)."</div>";
?>
</div>
</div>
<?php } ?>
</div>
</div>
<?php
$content = ob_get_clean();
return $content;

View File

@ -1,67 +1,7 @@
jQuery(document).ready( function() {
var icons = {
header: "fa fa-angle-double-right",
activeHeader: "fa fa-angle-double-down"
};
jQuery( "#accordion" ).accordion({
collapsible: true,
icons: icons,
active: false
});
// Ajax Call for mkb Dropdown (Theme 1)
jQuery("#tr_go").click(function(e) {
e.preventDefault();
var trcat = jQuery("#trcat").val();
var bimg = jQuery("#bimg").val();
var bc = jQuery("#bc").val();
jQuery( "#showmsg" ).prepend("<div align='center' class='alertes alert-successes'>Loading Data...</div>");
jQuery( ".mkb-rr" ).remove();
jQuery.ajax({
type: 'POST',
url:mkbAjax.ajaxurl,
data: {"action": "mkb_dropdown_ajax", "trcat":trcat,"bc":bc,"bimg":bimg},
success:function(data) {
jQuery( ".alert-successes" ).remove();
jQuery( "#showmsg" ).append("<div class='alertes alert-successes mkb-rr'>"+data+"</div>");
}
});
});
// Ajax Call for mkb Dropdown (Theme 2)
jQuery(".leftm").click(function(e) {
e.preventDefault();
var trcat = jQuery(this).attr("data-id");
var bimglb = jQuery("#bimglb").val();
var bclb = jQuery("#bclb").val();
jQuery( "#showmsglb" ).prepend("<div align='center' class='alertes alert-successes'>Loading Data...</div>");
jQuery( ".mkb-llb" ).remove();
jQuery.ajax({
type: 'POST',
url:mkbAjax.ajaxurl,
data: {"action": "mkb_lfb_ajax", "trcat":trcat,"bclb":bclb,"bimglb":bimglb},
success:function(data) {
jQuery( ".alert-successes" ).remove();
jQuery( "#showmsglb" ).append("<div class='alertes alert-successes mkb-llb'>"+data+"</div>");
}
});
});
var containerEl = document.querySelector('.mep_event_list_sec');
var mixer = mixitup(containerEl);
});

View File

@ -1,4 +1,4 @@
=== Mage WooCommerce Event Booking Manager ===
=== Woocommerce Events Manager ===
Contributors: MagePeople Team
Tags: event, event with woocommerce, woocommerce event, wordpress event plugin, event management wordpress, event booking for woocommerce, best wordpress event plugin, event booking manager wordpress, wordpress event
Requires at least: 3.7
@ -6,60 +6,96 @@ Tested up to: 4.9
Stable tag: 1.0
License: GPLv2 or later
Mage Woo Event Booking Manager is a Event Plugin for WordPress which is based on WooCommerce.
Woocommerce Events Manager is a Event Plugin for WordPress which is based on WooCommerce.
== Description ==
This is one of the best and simple event management plugin is WordPress directory, Its used Woocommerce for making payment so Its freedom to use any payment gateway via WooCommerce. This plugin will run with Woocommerce but it will work as event post it will not take any effect on woocommerce products so if you want you can sale your product along with it.
Features:
**Features:**
* Shortcode Powred
* Unlimited Category
* Unlimited Organization
* Unlimited Event
* Unlimited Extra option with price
* Google Map
* Add to your Calender
* Open Source
* Responsive Design
* Developer Friendly
* Based on Woo-commerce
* Works with any standards compliant WordPress theme
* Plays well with other Plugins
* 100% Customizable
* Easy to modify templates
* Use Shortcode [event-list] for showing all faq question. if you want to show a event list of any particular category use [event-list cat=ID].
* [Live Demo](https://demo.vaincode.com/mage-event/)
- Shortcode Powred
- Unlimited Category
- Unlimited Organization
- Unlimited Event
- Unlimited Extra option with price
- Google Map
- Add to your Calender
- Open Source
- Responsive Design
- Developer Friendly
- Based on Woo-commerce
- Works with any standards compliant WordPress theme
- Plays well with other Plugins
- 100% Customizable
- Easy to modify templates
- Template Override feature.
- CSV Export Attendee List
- Ticket Print
- [Live Demo](https://demo.vaincode.com/mage-event/)
- [Documentation](https://demo.vaincode.com/mage-event/documentation/)
[Live Demo](https://demo.vaincode.com/mage-event/)
All major functions are availabl below:
- Event Tickets with Quantity Management
- Event Extra Service with Quantity Management
- Event Venue with Google Map
- Event Category
- Event Organizer
- Event Pricing
- Event Calendar.
- ShortCode Powered
- Custom email for every event
- Event Start & End Datetime
- Custom Registration Form for Event Attendee with every event
- Event Feature Image
- Event Template ( You can select a different template for each event)
- Event Attendee List
- Event Attendee Ticket with BarCode
- Export Attendee List as csv format
- WooCommerce Support, You can Sale product and Event individually. There is no connection with Event with the WooCommerce Products.
### Shortcodes included with Woocommerce Events Manager
[**Mage Woo Event Booking Manager PRO:**](https://mage-people.com/product/mage-woo-event-booking-manager-pro/)
##### **[event-list cat='' org='' style='grid' cat-filter='no' org-filter='no' show='' pagination='no']**
You can get the Pro version of this plugin from here: [Get Pro Version](https://mage-people.com/product/mage-woo-event-booking-manager-pro/)
**cat:**
By default showing all event, but if you want to show event list of a particular category you can use this attribute, just put the category id with this. example: _**[event-list cat='ID']**_
[Live Demo](https://demo.vaincode.com/mage-event/)
**org:**
By default showing all event, but if you want to show event list of a particular organization you can use this attribute, just put the category id with this. example: _**[event-list org='ID']**_
All major functions are available in PRO version are below:
**style:**
By default showing all event as grid. If you want to change the display style to list just change it to list. example: _**[event-list style='list']**_
* Event Tickets with Quantity Management
* Event Extra Service with Quantity Management
* Event Venue with Google Map
* Event Category
* Event Organizer
* Event Pricing
* Event Calendar.
* ShortCode Powered
* Custom email for every event
* Event Start & End Datetime
* Custom Registration Form for Event Attendee with every event
* Event Feature Image
* Event Template ( You can select a different template for each event)
* Event Attendee List
* Event Attendee Ticket with BarCode
* Export Attendee List as csv format
* WooCommerce Support, You can Sale product and Event individually. There is no connection with Event with the WooCommerce Products.
**cat-filter:**
By default showing all event without any filter option. If you want to change it to with category filter use this. example: _**[event-list cat-filter='yes']**_
**org-filter:**
By default showing all event without any filter option. If you want to change it to with organization filter use this. example: _**[event-list org-filter='yes']**_
**show:**
By default showing all event without any limition. If you want to change it and set limit input the limit number. example: _**[event-list show='10']**_
**pagination:**
By default there is no pagination with the event list but if you want to show pagination set yes the value. example: _**[event-list pagination='yes']**_
### Event Calender ShortCode:
[event-calendar]
### How to Add New Event
https://www.youtube.com/watch?v=2VLWSUS6GPI
### How to Add Ticket Base Event
https://www.youtube.com/watch?v=2VLWSUS6GPI
### How to Buy/Purchase/Booking an Event
https://www.youtube.com/watch?v=IyUCCIeS6P8
@ -73,13 +109,17 @@ Upload the Mage FAQ plugin to your blog, Activate it, then use shortcode as your
== Frequently Asked Questions ==
= Is Mage Woo Event Booking Manager Free? =
Yes! Mage Woo Event Booking Manager is free.
= Is Woocommerce Events Manager Free? =
Yes! Woocommerce Events Manager is free.
You can check the demo of this plugin from here http://demo.wp-people.net/mage-woo-event-booking-manager-free/
You can check the demo of this plugin from here [Live Demo](https://demo.vaincode.com/mage-event/)
= Any Documentation? =
Yes! Here is the [Online Documentation](https://demo.vaincode.com/mage-event/documentation/).
= How its work? =
Mage Woo Event Booking Manager one of the simple event plugin for WordPress which is based on Woocommerce. Its work as an individual event and its payment functionality handle with woocommerce so there are no worries about payment gateway you can use every payment gateway which is support woocommerce. The interesting part is the event post type is completely different there is no connection with woocommerce product so if you can sell anything from woocommerce product.
Woocommerce Events Manager one of the simple event plugin for WordPress which is based on Woocommerce. Its work as an individual event and its payment functionality handle with woocommerce so there are no worries about payment gateway you can use every payment gateway which is support woocommerce. The interesting part is the event post type is completely different there is no connection with woocommerce product so if you can sell anything from woocommerce product.
= How can i get the attendee list? =
After successfull booking user data will be saved under event attendee list, You can find the list from Events -> attendee list or Go to event list and click on the attendee list on right side of event to get that particular event attendee list.
@ -100,4 +140,7 @@ You can display the event list on any page by using the ShortCode. Just use this
*Update Release, Google Map and Add to calender feture added and some bug fixed - 22 February 2018*
= 1.0.6 =
*Update Release, Event Extra option feature added. So now you can add as many option with a event with price - 27 February 2018*
*Update Release, Event Extra option feature added. So now you can add as many option with a event with price - 27 February 2018*
= 2.0 =
*Update Release, A Huge update released, added so many features. - 02 July 2018*

View File

@ -8,126 +8,171 @@ $author_terms = get_the_terms(get_the_id(), 'mep_org');
$book_count = get_post_meta(get_the_id(),'total_booking', true);
$user_api = mep_get_option( 'google-map-api', 'general_setting_sec', '');
if($book_count){ $total_book = $book_count; }else{ $total_book = 0; }
?>
<div class="mep-events-wrapper">
<div class="mep-event-detailsss">
<div class="mep-top-part">
<div class="mep-left-col">
<div class="mep-event-thumbnail">
<?php the_post_thumbnail('full'); ?>
</div>
</div>
<div class="mep-right-col">
<div class="mep-event-title-header">
<h2><?php the_title(); ?></h2>
<?php if($author_terms){ ?><p> <?php _e('By:','mep'); ?> <a href="<?php echo get_term_link( $author_terms[0]->term_id, 'mep_org' ); ?>"><?php echo $author_terms[0]->name; ?></a></p><?php } ?>
$mep_full_name = strip_tags($event_meta['mep_full_name'][0]);
$mep_reg_email = strip_tags($event_meta['mep_reg_email'][0]);
$mep_reg_phone = strip_tags($event_meta['mep_reg_phone'][0]);
$mep_reg_address = strip_tags($event_meta['mep_reg_address'][0]);
$mep_reg_designation = strip_tags($event_meta['mep_reg_designation'][0]);
$mep_reg_website = strip_tags($event_meta['mep_reg_website'][0]);
$mep_reg_veg = strip_tags($event_meta['mep_reg_veg'][0]);
$mep_reg_company = strip_tags($event_meta['mep_reg_company'][0]);
$mep_reg_gender = strip_tags($event_meta['mep_reg_gender'][0]);
$mep_reg_tshirtsize = strip_tags($event_meta['mep_reg_tshirtsize'][0]);
<?php
if($event_meta['_price'][0]>0){
if($event_meta['mep_price_label'][0]){
?>
<h3><?php echo $event_meta['mep_price_label'][0]; ?>: </h3>
<?php } echo get_woocommerce_currency_symbol().$event_meta['_price'][0]; ?>
<?php } else{ _e('<h3>Free</h3>','mep'); }?>
<?php if($event_meta['mep_total_seat'][0]){
?>
<h5><strong><?php _e('Total Seat:','mep'); ?></strong> <?php echo $event_meta['mep_total_seat'][0]; ?> (<strong><?php echo ($event_meta['mep_total_seat'][0]- $total_book); ?></strong> Left)</h5>
<?php } ?>
<div class="calender-url">
<?php mep_add_to_google_calender_link(get_the_id()); ?>
</div>
</div>
</div>
</div>
<?php if($event_meta['mep_sgm'][0]){ if($user_api){?>
<div class="mep-gmap-sec">
<div id="map" class='mep_google_map'></div>
</div>
<script>
var map;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: <?php echo $event_meta['latitude'][0]; ?>, lng: <?php echo $event_meta['longitude'][0]; ?>},
zoom: 17
});
marker = new google.maps.Marker({
map: map,
draggable: false,
animation: google.maps.Animation.DROP,
position: {lat: <?php echo $event_meta['latitude'][0]; ?>, lng: <?php echo $event_meta['longitude'][0]; ?>}
});
marker.addListener('click', toggleBounce);
}
function toggleBounce() {
if (marker.getAnimation() !== null) {
marker.setAnimation(null);
} else {
marker.setAnimation(google.maps.Animation.BOUNCE);
}
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=<?php echo $user_api; ?>&callback=initMap"
async defer></script>
<?php } } ?>
<div class="mep-btn-part">
<div class="mep-left-col">
<div class="mep-event-meta">
<?php _e('Share This Event:','mep'); ?> <?php mep_social_share(); ?>
</div>
</div>
<div class="mep-right-col">
<div class="mep-event-datetime">
<h3><?php _e('Date and Time:','mep'); ?></h3>
<p><?php echo $event_meta['mep_event_start_date'][0]; ?> - <?php echo $event_meta['mep_event_end_date'][0]; ?></p>
</div>
</div>
</div>
<div class="mep-content-part">
<div class="mep-left-col">
<div class="mep-event-details">
<h3 class="mep-desc-title"><?php _e('Description','mep'); ?></h3>
<?php the_content(); ?>
</div>
</div>
<div class="mep-right-col">
<div class="mep-reg-btn-sec">
<?php
if($event_meta['_price'][0]>0){
?>
<div class="cart-btn-sec">
<?php mep_get_event_reg_btn(get_the_id()); ?>
</div>
<?php }?>
</div>
<div class="mep-event-location">
<h3><?php _e('Event Location:','mep'); ?></h3>
<p><?php echo $event_meta['mep_location_venue'][0]; ?><br/>
<?php echo $event_meta['mep_street'][0]; ?><br/>
<?php echo $event_meta['mep_city'][0]; ?><br/>
<?php echo $event_meta['mep_state'][0]; ?>,
<?php echo $event_meta['mep_postcode'][0]; ?><br/>
<?php echo $event_meta['mep_country'][0]; ?></p>
</div>
</div>
</div>
</div>
$global_template = mep_get_option( 'mep_global_single_template', 'general_setting_sec', 'theme-2');
$current_template = $event_meta['mep_event_template'][0];
if($current_template){
$_current_template = $current_template;
}else{
$_current_template = $global_template;
}
?>
<div class="mep-events-wrapper">
<?php require_once(dirname(__FILE__) . "/themes/$_current_template"); ?>
</div>
<script>
jQuery('input[type=checkbox]').click(function() {
jQuery('#quantity_5a7abbd1bff73').click(function() {
var $form = jQuery('form'); //on a real app it would be better to have a class or ID
var $totalQuant = jQuery('#quantity_5a7abbd1bff73', $form);
jQuery('#quantity_5a7abbd1bff73', $form).change(calculateTotal);
jQuery('#quantity_5a7abbd1bff73, input[type=checkbox]', $form).change(calculateTotal);
function calculateTotal() {
var sum = <?php echo $event_meta['_price'][0]; ?>;
jQuery('input[type=checkbox]:checked').each(function() {
sum += jQuery(this).data('price');
})
jQuery('#usertotal').html('<span class=eventtotal>Total:</span> <?php echo get_woocommerce_currency_symbol(); ?>' + sum * parseInt( $totalQuant.val() || 0, 10));
var sum = jQuery('#rowtotal').val();
jQuery('#usertotal').html('<?php echo get_woocommerce_currency_symbol(); ?>' + sum * parseInt( $totalQuant.val() || 0, 10));
}
});
jQuery(document).ready(function () {
jQuery(document).on("change", ".etp", function() {
var sum = 0;
jQuery(".etp").each(function(){
sum += +jQuery(this).val();
});
jQuery("#ttyttl").html(sum);
});
jQuery("#ttypelist").change(function () {
vallllp = jQuery(this).val()+"_";
var n = vallllp.split('_');
var price = n[0];
var ctt = 99;
if(vallllp!="_"){
var currentValue = parseInt(ctt);
jQuery('#rowtotal').val(currentValue += parseFloat(price));
}
if(vallllp=="_"){
jQuery('#eventtp').attr('value', 0);
jQuery('#eventtp').attr('max', 0);
jQuery("#ttypeprice_show").html("")
}
});
function updateTotal() {
var total = 0;
vallllp = jQuery(this).val()+"_";
var n = vallllp.split('_');
var price = n[0];
total += parseFloat(price);
jQuery('#rowtotal').val(total);
}
//Bind the change event
jQuery(".extra-qty-box").on('change', function() {
var sum = 0;
var total = <?php if($event_meta['_price'][0]){ echo $event_meta['_price'][0]; }else{ echo 0; } ?>;
jQuery('.price_jq').each(function () {
var price = jQuery(this);
var count = price.closest('tr').find('.extra-qty-box');
sum = (price.html() * count.val());
total = total + sum;
// price.closest('tr').find('.cart_total_price').html(sum + "₴");
});
jQuery('#usertotal').html("<?php echo get_woocommerce_currency_symbol(); ?>" + total);
jQuery('#rowtotal').val(total);
}).change(); //trigger change event on page load
<?php
$mep_event_ticket_type = get_post_meta($post->ID, 'mep_event_ticket_type', true);
if($mep_event_ticket_type){
$count =1;
foreach ( $mep_event_ticket_type as $field ) {
$qm = $field['option_name_t'];
?>
jQuery('#eventpxtp_<?php echo $count; ?>').on('change', function () {
// var inputs = jQuery("#ttyttl").html() || 0;
var inputs = jQuery('#eventpxtp_<?php echo $count; ?>').val() || 0;
var input = parseInt(inputs);
var children=jQuery('#dadainfo_<?php echo $count; ?> > div').size() || 0;
if(input < children){
jQuery('#dadainfo_<?php echo $count; ?>').empty();
children=0;
}
for (var i = children+1; i <= input; i++) {
jQuery('#dadainfo_<?php echo $count; ?>').append(
jQuery('<div/>')
.attr("id", "newDiv" + i)
.html("<div class='mep-user-info-sec'><h5><?php echo $qm; ?> Attendee info:"+i+"</h5><input type='<?php if($mep_full_name){ echo 'text'; }else{ echo 'hidden'; } ?>' <?php if($mep_full_name){ ?> required='required' <?php } ?> name='user_name[]' class='mep_input' placeholder='Enter Your Name'/><input type='<?php if($mep_reg_email){ echo 'email'; }else{ echo 'hidden'; } ?>' <?php if($mep_reg_email){ ?> required='required' <?php } ?> name='user_email[]' class='mep_input' placeholder='Enter Your Email'/><input type='<?php if($mep_reg_phone){ echo 'text'; }else{ echo 'hidden'; } ?>' <?php if($mep_reg_phone){ ?> required='required' <?php } ?> name='user_phone[]' class='mep_input' placeholder='Enter Your Phone'/><textarea name='user_address[]' class='mep_input <?php if($mep_reg_address){ echo 'mep-show'; }else{ echo 'mep-hidden'; } ?>' rows='3' <?php if($mep_reg_address){ ?> required='required' <?php } ?> placeholder='Enter you address'></textarea><label class='<?php if($mep_reg_tshirtsize){ echo "mep-show"; }else{ echo "mep-hidden"; } ?>' for='gen' style='text-align: left;'>T-Shirt Size<select name='tshirtsize[]' id='gen'><option value=''>Please Select</option><?php echo mep_get_tshirts_sizes($post->ID); ?></select></label><label class='<?php if($mep_reg_gender){ echo 'mep-show'; }else{ echo 'mep-hidden'; } ?>' for='gen' style='text-align: left;'>Gender<select name='gender[]' id='gen'><option value=''>Please Select</option><option value='Male'>Male</option><option value='Female'>Female</option></select></label><input type='<?php if($mep_reg_company){ echo 'text'; }else{ echo 'hidden'; } ?>' name='user_company[]' class='mep_input' placeholder='Company'/><input type='<?php if($mep_reg_designation){ echo 'text'; }else{ echo 'hidden'; } ?>' name='user_designation[]' class='mep_input' placeholder='Designation'/><input type='<?php if($mep_reg_website){ echo 'text'; }else{ echo 'hidden'; } ?>' name='user_website[]' class='mep_input' placeholder='Website'/><label class='<?php if($mep_reg_veg){ echo 'mep-show'; }else{ echo 'mep-hidden'; } ?>' for='veg' style='text-align: left;'>Vegetarian<select name='vegetarian[]' id='veg'><option value=''>Please Select</option><option value='Yes'>Yes</option><option value='No'>No</option></select></label><input type='hidden' name='ticket_type[]' class='mep_input' value='<?php echo $qm; ?>' />")
);
}
});
<?php
$count++;
}
}else{
?>
jQuery('#quantity_5a7abbd1bff73').on('change', function () {
var input = jQuery('#quantity_5a7abbd1bff73').val() || 0;
var children=jQuery('#divParent > div').size() || 0;
if(input < children){
jQuery('#divParent').empty();
children=0;
}
for (var i = children+1; i <= input; i++) {
jQuery('#divParent').append(
jQuery('<div/>')
.attr("id", "newDiv" + i)
.html("<div class='mep-user-info-sec'><h5>Attendee info:"+i+"</h5><input type='<?php if($mep_full_name){ echo 'text'; }else{ echo 'hidden'; } ?>' <?php if($mep_full_name){ ?> required='required' <?php } ?> name='user_name[]' class='mep_input' placeholder='Enter Your Name'/><input type='<?php if($mep_reg_email){ echo 'email'; }else{ echo 'hidden'; } ?>' <?php if($mep_reg_email){ ?> required='required' <?php } ?> name='user_email[]' class='mep_input' placeholder='Enter Your Email'/><input type='<?php if($mep_reg_phone){ echo 'text'; }else{ echo 'hidden'; } ?>' <?php if($mep_reg_phone){ ?> required='required' <?php } ?> name='user_phone[]' class='mep_input' placeholder='Enter Your Phone'/><textarea name='user_address[]' class='mep_input <?php if($mep_reg_address){ echo 'mep-show'; }else{ echo 'mep-hidden'; } ?>' rows='3' <?php if($mep_reg_address){ ?> required='required' <?php } ?> placeholder='Enter you address'></textarea><label class='<?php if($mep_reg_tshirtsize){ echo "mep-show"; }else{ echo "mep-hidden"; } ?>' for='gen' style='text-align: left;'>T-Shirt Size<select name='tshirtsize[]' id='gen'><option value=''>Please Select</option><?php echo mep_get_tshirts_sizes($post->ID); ?></select></label><label class='<?php if($mep_reg_gender){ echo 'mep-show'; }else{ echo 'mep-hidden'; } ?>' for='gen' style='text-align: left;'>Gender<select name='gender[]' id='gen'><option value=''>Please Select</option><option value='Male'>Male</option><option value='Female'>Female</option></select></label><input type='<?php if($mep_reg_company){ echo 'text'; }else{ echo 'hidden'; } ?>' name='user_company[]' class='mep_input' placeholder='Company'/><input type='<?php if($mep_reg_designation){ echo 'text'; }else{ echo 'hidden'; } ?>' name='user_designation[]' class='mep_input' placeholder='Designation'/><input type='<?php if($mep_reg_website){ echo 'text'; }else{ echo 'hidden'; } ?>' name='user_website[]' class='mep_input' placeholder='Website'/><label class='<?php if($mep_reg_veg){ echo 'mep-show'; }else{ echo 'mep-hidden'; } ?>' for='veg' style='text-align: left;'>Vegetarian<select name='vegetarian[]' id='veg'><option value=''>Please Select</option><option value='Yes'>Yes</option><option value='No'>No</option></select></label>")
);
}
});
<?php
}
?>
});
</script>
<?php get_footer(); ?>

View File

@ -1,18 +1,15 @@
<?php
/**
* Plugin Name: Mage WooCommerce Event Booking Manager
* Plugin Name: Woocommerce Events Manager
* Plugin URI: http://mage-people.com
* Description: A Complete Event Solution for WordPress by MagePeople..
* Version: 1.0.6
* Version: 2.0
* Author: MagePeople Team
* Author URI: http://www.mage-people.com/
*/
if ( ! defined( 'ABSPATH' ) ) { die; } // Cannot access pages directly.
require_once(dirname(__FILE__) . "/inc/class/mep_settings_api.php");
require_once(dirname(__FILE__) . "/inc/mep_cpt.php");
require_once(dirname(__FILE__) . "/inc/mep_tax.php");
@ -20,69 +17,10 @@ require_once(dirname(__FILE__) . "/inc/mep_event_meta.php");
require_once(dirname(__FILE__) . "/inc/mep_extra_price.php");
require_once(dirname(__FILE__) . "/inc/mep_shortcode.php");
require_once(dirname(__FILE__) . "/inc/admin_setting_panel.php");
// Enqueue Scripts for admin dashboard
add_action('admin_enqueue_scripts', 'mep_event_admin_scripts');
function mep_event_admin_scripts() {
$user_api = mep_get_option( 'google-map-api', 'general_setting_sec', '');
wp_enqueue_script('jquery-ui-datepicker');
wp_enqueue_script('jquery-ui-core');
wp_enqueue_script('jquery-ui-timepicker-addon',plugin_dir_url( __FILE__ ).'js/jquery-ui-timepicker-addon.js',array('jquery','jquery-ui-core'),1,true);
wp_enqueue_script('jquery-ui-timepicker-addon',plugin_dir_url( __FILE__ ).'js/jquery-ui-sliderAccess.js',array('jquery','jquery-ui-core','jquery-ui-timepicker-addon'),1,true);
wp_enqueue_style('jquery-ui-timepicker-addon',plugin_dir_url( __FILE__ ).'css/jquery-ui-timepicker-addon.css',array());
wp_enqueue_style('mep-admin-style',plugin_dir_url( __FILE__ ).'css/admin_style.css',array());
wp_enqueue_style('mep-jquery-ui-style',plugin_dir_url( __FILE__ ).'css/jquery-ui.css',array());
wp_enqueue_script('gmap-scripts',plugin_dir_url( __FILE__ ).'js/mkb-admin.js',array('jquery','jquery-ui-core'),1,true);
if($user_api){
wp_enqueue_script('gmap-libs','https://maps.googleapis.com/maps/api/js?key='.$user_api.'&libraries=places&callback=initMap',array('jquery','gmap-scripts'),1,true);
}
}
// Enqueue Scripts for frontend
add_action('wp_enqueue_scripts', 'mep_event_enqueue_scripts');
function mep_event_enqueue_scripts() {
wp_enqueue_style('mep-event-style',plugin_dir_url( __FILE__ ).'css/style.css',array());
wp_enqueue_style ('font-awesome-css-cdn',"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.min.css",null,1);
}
// Datepicker code for admin dashboard load in footer section
add_action('admin_footer','mep_admin_footer_script',10,99);
function mep_admin_footer_script(){
global $pagenow, $typenow;
if ($typenow=='mep_events') {
?>
<script type="text/javascript">
jQuery(document).ready(function($){
var startDateTextBox = jQuery('.event_start');
var endDateTextBox = jQuery('.event_end');
jQuery.timepicker.datetimeRange(
startDateTextBox,
endDateTextBox,
{
minInterval: (1000*60*60), // 1hr
dateFormat: 'dd M yy',
timeFormat: 'HH:mm',
start: {}, // start picker options
end: {} // end picker options
}
);
});
</script>
<?php
}
}
require_once(dirname(__FILE__) . "/inc/mep_enque.php");
require_once(dirname(__FILE__) . "/templates/template-prts/templating.php");
require_once(dirname(__FILE__) . "/lib/PHPExcel.php");
require_once(dirname(__FILE__) . "/inc/mep_csv_export.php");
// Class for Linking with Woocommerce with Event Pricing
@ -146,6 +84,14 @@ function mep_load_wc_class() {
function mep_get_order_info($info,$id){
$stock_msg = $info;
$koba = explode("_", $stock_msg);
return $koba[$id];
}
add_filter( 'woocommerce_data_stores', 'mep_woocommerce_data_stores' );
function mep_woocommerce_data_stores ( $stores ) {
$stores['product'] = 'MEP_Product_Data_Store_CPT';
@ -169,6 +115,53 @@ function mep_displays_cart_products_feature_image() {
}
// Send Confirmation email to customer
function mep_event_confirmation_email_sent($event_id,$sent_email){
$values = get_post_custom($event_id);
$global_email_text = mep_get_option( 'mep_confirmation_email_text', 'email_setting_sec', '');
$global_email_form_email = mep_get_option( 'mep_email_form_email', 'email_setting_sec', '');
$global_email_form = mep_get_option( 'mep_email_form_name', 'email_setting_sec', '');
$global_email_sub = mep_get_option( 'mep_email_subject', 'email_setting_sec', '');
$event_email_text = $values['mep_event_cc_email_text'][0];
$admin_email = get_option( 'admin_email' );
$site_name = get_option( 'blogname' );
if($global_email_sub){
$email_sub = $global_email_sub;
}else{
$email_sub = 'Confirmation Email';
}
if($global_email_form){
$form_name = $global_email_form;
}else{
$form_name = $site_name;
}
if($global_email_form_email){
$form_email = $global_email_form_email;
}else{
$form_email = $admin_email;
}
if($event_email_text){
$email_body = $event_email_text;
}else{
$email_body = $global_email_text;
}
$headers[] = "From: $form_name <$form_email>";
if($email_body){
$sent = wp_mail( $sent_email, $email_sub, $email_body, $headers );
}
}
// Get user information and save to attendee list after order confirmation
add_action( 'woocommerce_order_status_completed_notification', 'mep_set_event_attendee_data' );
@ -181,18 +174,24 @@ function mep_set_event_attendee_data( $order_id ) {
$order = wc_get_order( $order_id );
$order_meta = get_post_meta($order_id);
$order_meta_text = "_stock_msg_".$order_id;
$order_processing = "processing_".$order_id;
$order_completed = "completed_".$order_id;
$order_cancelled = "cancelled_".$order_id;
# Iterating through each order items (WC_Order_Item_Product objects in WC 3+)
foreach ( $order->get_items() as $item_id => $item_values ) {
$product_id = $item_values->get_product_id();
$item_data = $item_values->get_data();
$product_id = $item_data['product_id'];
$item_quantity = $item_values->get_quantity();
$product = get_page_by_title( $item_data['name'], OBJECT, 'mep_events' );
$event_name = $item_data['name'];
$event_id = $product->ID;
$product_id = $item_values->get_product_id();
$item_data = $item_values->get_data();
$product_id = $item_data['product_id'];
$item_quantity = $item_values->get_quantity();
$product = get_page_by_title( $item_data['name'], OBJECT, 'mep_events' );
$event_name = $item_data['name'];
$event_id = $product->ID;
$item_id = $item_id;
}
$user_info_arr = wc_get_order_item_meta($item_id,'_event_user_info',true);
$first_name = $order_meta['_billing_first_name'][0];
@ -208,53 +207,66 @@ function mep_set_event_attendee_data( $order_id ) {
$phone = $order_meta['_billing_phone'][0];
$billing_intotal = $order_meta['_billing_address_index'][0];
$payment_method = $order_meta['_payment_method_title'][0];
$user_id = $order_meta['_customer_user'][0];
$mep_atnd = "_mep_atnd_".$order_id;
$mep_stock_msgc = get_post_meta($event_id,$mep_atnd, true);
mep_event_confirmation_email_sent($event_id,$email);
// ADD THE FORM INPUT TO $new_post ARRAY
$new_post = array(
'post_title' => $first_name." ".$last_name,
'post_content' => '',
'post_category' => array(), // Usable for custom taxonomies too
'tags_input' => array(),
'post_status' => 'publish', // Choose: publish, preview, future, draft, etc.
'post_type' => 'mep_events_attendees' //'post',page' or use a custom post type if you want to
);
//SAVE THE POST
$pid = wp_insert_post($new_post);
$update_fname = update_post_meta( $pid, 'ea_first_name', $first_name);
$update_lname = update_post_meta( $pid, 'ea_last_name', $last_name);
$update_company = update_post_meta( $pid, 'ea_company_name', $company_name);
$update_ad1 = update_post_meta( $pid, 'ea_address_1', $address_1);
$update_ad2 = update_post_meta( $pid, 'ea_address_2', $address_2);
$update_city = update_post_meta( $pid, 'ea_city', $city);
$update_state = update_post_meta( $pid, 'ea_state', $state);
$update_postcode = update_post_meta( $pid, 'ea_postcode', $postcode);
$update_country = update_post_meta( $pid, 'ea_country', $country);
$update_email = update_post_meta( $pid, 'ea_email', $email);
$update_phone = update_post_meta( $pid, 'ea_phone', $phone);
$update_pym = update_post_meta( $pid, 'ea_payment_method', $payment_method);
$update_event_name = update_post_meta( $pid, 'ea_event_name', $event_name);
$update_eid = update_post_meta( $pid, 'ea_event_id', $event_id);
$update_oid = update_post_meta( $pid, 'ea_order_id', $order_id);
if($mep_stock_msgc!='a2'){
foreach ($user_info_arr as $_user_info) {
$uname = $_user_info['user_name'];
$email = $_user_info['user_email'];
$phone = $_user_info['user_phone'];
$address = $_user_info['user_address'];
$gender = $_user_info['user_gender'];
$company = $_user_info['user_company'];
$designation = $_user_info['user_designation'];
$website = $_user_info['user_website'];
$vegetarian = $_user_info['user_vegetarian'];
$tshirtsize = $_user_info['user_tshirtsize'];
$ticket_type = $_user_info['user_ticket_type'];
// ADD THE FORM INPUT TO $new_post ARRAY
$new_post = array(
'post_title' => $uname,
'post_content' => '',
'post_category' => array(), // Usable for custom taxonomies too
'tags_input' => array(),
'post_status' => 'publish', // Choose: publish, preview, future, draft, etc.
'post_type' => 'mep_events_attendees' //'post',page' or use a custom post type if you want to
);
//SAVE THE POST
$pid = wp_insert_post($new_post);
$update_fname = update_post_meta( $pid, 'ea_name', $uname);
$update_uid = update_post_meta( $pid, 'ea_user_id', $user_id);
$update_ad1 = update_post_meta( $pid, 'ea_address_1', $address);
$update_email = update_post_meta( $pid, 'ea_email', $email);
$update_phone = update_post_meta( $pid, 'ea_phone', $phone);
$update_gender = update_post_meta( $pid, 'ea_gender', $gender);
$update_company = update_post_meta( $pid, 'ea_company', $company);
$update_desg = update_post_meta( $pid, 'ea_desg', $designation);
$update_web = update_post_meta( $pid, 'ea_website', $website);
$update_veg = update_post_meta( $pid, 'ea_vegetarian', $vegetarian);
$update_teesize = update_post_meta( $pid, 'ea_tshirtsize', $tshirtsize);
$update_ticket_type = update_post_meta( $pid, 'ea_ticket_type', $ticket_type);
$update_pym = update_post_meta( $pid, 'ea_payment_method', $payment_method);
$update_event_name = update_post_meta( $pid, 'ea_event_name', $event_name);
$update_eid = update_post_meta( $pid, 'ea_event_id', $event_id);
$update_oid = update_post_meta( $pid, 'ea_order_id', $order_id);
}
}
}
}
function mep_get_order_info($info,$id){
$stock_msg = $info;
$koba = explode("_", $stock_msg);
return $koba[$id];
}
add_action('woocommerce_order_status_changed', 'mep_event_seat_management', 10, 4);
function mep_event_seat_management( $order_id, $from_status, $to_status, $order ) {
add_action( 'woocommerce_thankyou','mep_set_first_order_sts');
function mep_set_first_order_sts($order_id ){
// Getting an instance of the order object
$order = wc_get_order( $order_id );
@ -270,8 +282,52 @@ function mep_event_seat_management( $order_id, $from_status, $to_status, $order
$product = get_page_by_title( $item_data['name'], OBJECT, 'mep_events' );
$event_name = $item_data['name'];
$event_id = $product->ID;
$item_id = $item_id;
// $item_data = $item_values->get_data();
}
$mep_atnd = "_mep_atnd_".$order_id;
update_post_meta( $event_id, $mep_atnd, "a1");
}
add_action('woocommerce_order_status_changed', 'mep_event_seat_management', 10, 4);
function mep_event_seat_management( $order_id, $from_status, $to_status, $order ) {
global $wpdb;
// Getting an instance of the order object
$order = wc_get_order( $order_id );
$order_meta = get_post_meta($order_id);
$c = 1;
# Iterating through each order items (WC_Order_Item_Product objects in WC 3+)
foreach ( $order->get_items() as $item_id => $item_values ) {
$product_id = $item_values->get_product_id();
$item_data = $item_values->get_data();
$product_id = $item_data['product_id'];
$item_quantity = $item_values->get_quantity();
$product = get_page_by_title( $item_data['name'], OBJECT, 'mep_events' );
$event_name = $item_data['name'];
$event_id = $product->ID;
$item_id = $item_id;
// $item_data = $item_values->get_data();
}
$table_name = $wpdb->prefix . 'woocommerce_order_itemmeta';
$result = $wpdb->get_results( "SELECT * FROM $table_name WHERE order_item_id=$item_id" );
$mep_total = get_post_meta($event_id,'total_booking', true);
if($mep_total){
$mep_total_booking = $mep_total;
@ -281,48 +337,101 @@ function mep_event_seat_management( $order_id, $from_status, $to_status, $order
$order_meta_text = "_stock_msg_".$order_id;
$order_meta_text = "_stock_msg_".$order_id;
$order_processing = "processing_".$order_id;
$order_completed = "completed_".$order_id;
$order_cancelled = "cancelled_".$order_id;
$order_completed = "completed_".$order_id;
$order_cancelled = "cancelled_".$order_id;
$mep_atnd = "_mep_atnd_".$order_id;
if( $order->has_status( 'processing' )) {
update_post_meta( $event_id, $order_meta_text, $order_processing);
$mep_stock_msg = mep_get_order_info(get_post_meta($event_id,$order_meta_text, true),0);
$mep_stock_order = mep_get_order_info(get_post_meta($event_id,$order_meta_text, true),1);
if($mep_stock_order==$order_id){
if($order->has_status( 'processing' ) || $order->has_status( 'pending' )) {
// update_post_meta( $event_id, $mep_atnd, "a2");
$mep_stock_msgc = mep_get_order_info(get_post_meta($event_id,$order_meta_text, true),0);
$mep_stock_orderc = mep_get_order_info(get_post_meta($event_id,$order_meta_text, true),1);
if($mep_stock_orderc==$order_id){
if($mep_stock_msgc=='cancelled'){
foreach ( $result as $page ){
if (strpos($page->meta_key, '_') !== 0) {
$order_option_name = $event_id.str_replace(' ', '', mep_get_string_part($page->meta_key,0));
$order_option_qty = mep_get_string_part($page->meta_key,1);
$tes = get_post_meta($event_id,"mep_xtra_$order_option_name",true);
$ntes = ($tes+$order_option_qty);
update_post_meta( $event_id, "mep_xtra_$order_option_name",$ntes);
}
}
}
}
update_post_meta( $event_id, $order_meta_text, $order_processing);
$mep_stock_msg = mep_get_order_info(get_post_meta($event_id,$order_meta_text, true),0);
$mep_stock_order = mep_get_order_info(get_post_meta($event_id,$order_meta_text, true),1);
if($mep_stock_order==$order_id){
if($mep_stock_msg=='completed'){
update_post_meta( $event_id, $order_meta_text, $order_processing);
}
else{
update_post_meta( $event_id, 'total_booking', ($mep_total_booking+$item_quantity));
update_post_meta( $event_id, $order_meta_text, $order_processing);
}
}
}
}
if($order->has_status( 'cancelled' )) {
update_post_meta( $event_id, $order_meta_text, $order_cancelled);
$mep_stock_msg = mep_get_order_info(get_post_meta($event_id,$order_meta_text, true),0);
$mep_stock_order = mep_get_order_info(get_post_meta($event_id,$order_meta_text, true),1);
if($order->has_status( 'cancelled' )) {
update_post_meta( $event_id,$mep_atnd, "a2");
update_post_meta( $event_id, $order_meta_text, $order_cancelled);
$mep_stock_msg = mep_get_order_info(get_post_meta($event_id,$order_meta_text, true),0);
$mep_stock_order = mep_get_order_info(get_post_meta($event_id,$order_meta_text, true),1);
if($mep_stock_order==$order_id){
$update_total_booking = update_post_meta( $event_id, 'total_booking', ($mep_total_booking-$item_quantity));
foreach ( $result as $page ){
if (strpos($page->meta_key, '_') !== 0) {
$order_option_name = $event_id.str_replace(' ', '', mep_get_string_part($page->meta_key,0));
$order_option_qty = mep_get_string_part($page->meta_key,1);
$tes = get_post_meta($event_id,"mep_xtra_$order_option_name",true);
$ntes = ($tes-$order_option_qty);
if($tes>0){
update_post_meta( $event_id, "mep_xtra_$order_option_name",$ntes);
}
}
}
}
}
}
if( $order->has_status( 'completed' )) {
if( $order->has_status( 'completed' )) {
update_post_meta( $event_id, $mep_atnd, "a2");
// update_post_meta( $event_id, $order_meta_text, $order_completed);
$mep_stock_msg = mep_get_order_info(get_post_meta($event_id,$order_meta_text, true),0);
$mep_stock_order = mep_get_order_info(get_post_meta($event_id,$order_meta_text, true),1);
@ -336,9 +445,21 @@ function mep_event_seat_management( $order_id, $from_status, $to_status, $order
else{
update_post_meta( $event_id, 'total_booking', ($mep_total_booking+$item_quantity));
update_post_meta( $event_id, $order_meta_text, $order_completed);
foreach ( $result as $page ){
if (strpos($page->meta_key, '_') !== 0) {
$order_option_name = $event_id.str_replace(' ', '', mep_get_string_part($page->meta_key,0));
$order_option_qty = mep_get_string_part($page->meta_key,1);
$tes = get_post_meta($event_id,"mep_xtra_$order_option_name",true);
$ntes = ($tes+$order_option_qty);
update_post_meta( $event_id, "mep_xtra_$order_option_name",$ntes);
}
}
}
}
}
}
@ -403,7 +524,7 @@ add_filter( 'post_row_actions', 'mep_remove_row_actions', 10, 1 );
function mep_remove_row_actions( $actions )
{
if( get_post_type() === 'mep_events_attendees' )
unset( $actions['edit'] );
// unset( $actions['edit'] );
// unset( $actions['view'] );
unset( $actions['trash'] );
unset( $actions['inline hide-if-no-js'] );
@ -470,69 +591,11 @@ function mep_get_event_status($startdatetime){
// Get Event Registration Button
function mep_get_event_reg_btn($post_id){
// $event_meta = get_post_meta($post_id, 'mep_event_meta',true);
$event_meta = get_post_custom(get_the_id());
$event_expire_date = $event_meta['mep_event_start_date'][0];
$event_sqi = $event_meta['mep_sqi'][0];
$event_ecternal_link = '';
// $event_ecternal_url = $event_meta['ex_reg_url'][0];
$book_count = get_post_meta($post_id,'total_booking', true);
if($book_count){ $total_book = $book_count; }else{ $total_book = 0; }
$seat_left = ($event_meta['mep_total_seat'][0]- $total_book);
$time = strtotime($event_expire_date);
$newformat = date('Y-m-d H:i:s',$time);
$datetime1 = new DateTime();
$datetime2 = new DateTime($newformat);
$interval = $datetime1->diff($datetime2);
if(time() > strtotime($newformat)){
echo "<span class=event-expire-btn>Event Expired</span>";
}
elseif($seat_left<=0){
echo "<span class=event-expire-btn>No Seat Available</span>";
}
else{
$days = $interval->d;
$hours = $interval->h;
$minutes = $interval->i;
if($days>0){ $dd = $days." days "; }else{ $dd=""; }
if($hours>0){ $hh = $hours." hours "; }else{ $hh=""; }
if($minutes>0){ $mm = $minutes." minutes "; }else{ $mm=""; }
?>
<form action="" method='post'>
<?php do_action('event_kaku_before_reg_btn'); ?>
<?php if($event_sqi==1){ ?>
<label for="quantity_5a7abbd1bff73" class='qty-ttl'><?php _e('Total'); ?> <input id="quantity_5a7abbd1bff73" class="input-text qty text" step="1" min="1" max="<?php echo ($event_meta['mep_total_seat'][0]- $total_book); ?>" name="quantity" value="1" title="Qty" size="4" pattern="[0-9]*" inputmode="numeric" type="number"></label>
<?php } ?>
<span id="usertotal"> </span>
<button type="submit" name="add-to-cart" value="<?php echo esc_attr($post_id); ?>" class="single_add_to_cart_button button alt btn-mep-event-cart">Register This Event </button>
</form>
<?php
}
}
// Redirect to Checkout after successfuly event registration
add_filter ('add_to_cart_redirect', 'mep_event_redirect_to_checkout');
add_filter ('woocommerce_add_to_cart_redirect', 'mep_event_redirect_to_checkout');
function mep_event_redirect_to_checkout() {
global $woocommerce;
$checkout_url = $woocommerce->cart->get_checkout_url();
$checkout_url = wc_get_checkout_url();
return $checkout_url;
}
@ -550,6 +613,8 @@ function mep_set_custom_events_attendees_columns($columns) {
$columns['mep_email'] = __( 'email', 'mep' );
$columns['mep_phone'] = __( 'Phone', 'mep' );
$columns['mep_address'] = __( 'Addresss', 'mep' );
$columns['mep_tsize'] = __( 'Tee Size', 'mep' );
$columns['mep_ttype'] = __( 'Ticket', 'mep' );
$columns['mep_evnt'] = __( 'Event', 'mep' );
return $columns;
@ -562,11 +627,11 @@ function mep_events_attendees_column( $column, $post_id ) {
switch ( $column ) {
case 'mep_uid' :
echo get_post_meta( $post_id, 'ea_order_id', true );
echo get_post_meta( $post_id, 'ea_user_id', true ).get_post_meta( $post_id, 'ea_order_id', true ).$post_id;
break;
case 'mep_fn' :
echo get_post_meta( $post_id, 'ea_first_name', true )." ".get_post_meta( $post_id, 'ea_last_name', true );
echo get_post_meta( $post_id, 'ea_name', true );
break;
case 'mep_email' :
@ -577,10 +642,18 @@ function mep_events_attendees_column( $column, $post_id ) {
echo get_post_meta( $post_id, 'ea_phone', true );
break;
case 'mep_tsize' :
echo get_post_meta( $post_id, 'ea_tshirtsize', true );
break;
case 'mep_address' :
echo get_post_meta( $post_id, 'ea_address_1', true )."<br/>".get_post_meta( $post_id, 'ea_address_2', true )."<br/>".get_post_meta( $post_id, 'ea_state', true ).", ".get_post_meta( $post_id, 'ea_city', true ).", ".get_post_meta( $post_id, 'ea_country', true );
break;
case 'mep_ttype' :
echo get_post_meta( $post_id, 'ea_ticket_type', true );
break;
case 'mep_evnt' :
echo get_post_meta( $post_id, 'ea_event_name', true );
break;
@ -609,29 +682,27 @@ add_action('admin_menu', 'mep_disable_new_posts');
function mep_load_events_templates($template) {
global $post;
if ($post->post_type == "mep_events"){
$template_name = 'single-events.php';
$template_path = 'mage-events/';
$default_path = plugin_dir_path( __FILE__ ) . 'templates/';
$template = locate_template( array($template_path . $template_name) );
if ( ! $template ) :
$template = $default_path . $template_name;
endif;
return $template;
}
// Is this a "my-custom-post-type" post?
if ($post->post_type == "mep_events"){
//Your plugin path
if ($post->post_type == "mep_events_attendees"){
$plugin_path = plugin_dir_path( __FILE__ );
// The name of custom post type single template
$template_name = 'templates/single-events.php';
// A specific single template for my custom post type exists in theme folder? Or it also doesn't exist in my plugin?
$template_name = 'templates/single-mep_events_attendees.php';
if($template === get_stylesheet_directory() . '/' . $template_name
|| !file_exists($plugin_path . $template_name)) {
//Then return "single.php" or "single-my-custom-post-type.php" from theme directory.
return $template;
}
// If not, return my plugin custom post type template.
return $plugin_path . $template_name;
}
//This is not my custom post type, do nothing with $template
return $template;
}
add_filter('single_template', 'mep_load_events_templates');
@ -722,4 +793,237 @@ function mep_get_item_price($name){
$explode_name = explode('_', $name, 2);
$the_item_name = str_replace('-', ' ', $explode_name[1]);
return $the_item_name;
}
function mep_get_string_part($data,$string){
$pieces = explode(" x ", $data);
return $pieces[$string]; // piece1
}
function mep_get_event_order_metadata($id,$part){
global $wpdb;
$table_name = $wpdb->prefix . 'woocommerce_order_itemmeta';
$result = $wpdb->get_results( "SELECT * FROM $table_name WHERE order_item_id=$id" );
foreach ( $result as $page )
{
if (strpos($page->meta_key, '_') !== 0) {
echo mep_get_string_part($page->meta_key,$part).'<br/>';
}
}
}
add_action('woocommerce_account_dashboard','mep_ticket_lits_users');
function mep_ticket_lits_users(){
ob_start();
?>
<div class="mep-user-ticket-list">
<table>
<tr>
<th>Name</th>
<th>Ticket</th>
<th>Event</th>
<th>Download</th>
</tr>
<?php
$args_search_qqq = array (
'post_type' => array( 'mep_events_attendees' ),
'posts_per_page' => -1,
'meta_query' => array(
array(
'key' => 'ea_user_id',
'value' => get_current_user_id()
)
)
);
$loop = new WP_Query( $args_search_qqq );
while ($loop->have_posts()) {
$loop->the_post();
$event_id = get_post_meta( get_the_id(), 'ea_event_id', true );
$event_meta = get_post_custom($event_id);
$time = strtotime($event_meta['mep_event_start_date'][0]);
$newformat = date('Y-m-d H:i:s',$time);
if(time() < strtotime($newformat)){
?>
<tr>
<td><?php echo get_post_meta( get_the_id(), 'ea_name', true ); ?></td>
<td><?php echo get_post_meta( get_the_id(), 'ea_ticket_type', true ); ?></td>
<td><?php echo get_post_meta( get_the_id(), 'ea_event_name', true ); ?></td>
<td><a href="<?php the_permalink(); ?>">Download</a></td>
</tr>
<?php
}
}
?>
</table>
</div>
<?php
$content = ob_get_clean();
echo $content;
}
// event_template_name();
function event_template_name(){
$template_name = 'index.php';
$template_path = get_stylesheet_directory().'/mage-events/themes/';
$default_path = plugin_dir_path( __FILE__ ) . 'templates/themes/';
$template = locate_template( array($template_path . $template_name) );
if ( ! $template ) :
$template = $default_path . $template_name;
endif;
// echo $template_path;
if (is_dir($template_path)) {
$thedir = glob($template_path."*");
}else{
$thedir = glob($default_path."*");
// file_get_contents('./people.txt', FALSE, NULL, 20, 14);
}
$theme = array();
foreach($thedir as $filename){
//Use the is_file function to make sure that it is not a directory.
if(is_file($filename)){
$file = basename($filename);
$naame = str_replace("?>","",strip_tags(file_get_contents($filename, FALSE, NULL, 24, 14)));
}
$theme[$file] = $naame;
}
return $theme;
}
function event_single_template_list($current_theme){
$themes = event_template_name();
$buffer = '<select name="mep_event_template">';
foreach ($themes as $num=>$desc){
if($current_theme==$num){ $cc = 'selected'; }else{ $cc = ''; }
$buffer .= "<option value=$num $cc>$desc</option>";
}//end foreach
$buffer .= '</select>';
echo $buffer;
}
function mep_title_cutoff_words($text, $length){
if(strlen($text) > $length) {
$text = substr($text, 0, strpos($text, ' ', $length));
}
return $text;
}
function mep_get_tshirts_sizes($event_id){
$event_meta = get_post_custom($event_id);
$tee_sizes = $event_meta['mep_reg_tshirtsize_list'][0];
$tszrray = explode(',', $tee_sizes);
$ts = "";
foreach ($tszrray as $value) {
$ts .= "<option value='$value'>$value</option>";
}
return $ts;
}
function my_function_meta_deta() {
global $order;
$order_id = $_GET['post'];
// Getting an instance of the order object
$order = wc_get_order( $order_id );
$order_meta = get_post_meta($order_id);
# Iterating through each order items (WC_Order_Item_Product objects in WC 3+)
foreach ( $order->get_items() as $item_id => $item_values ) {
$product_id = $item_values->get_product_id();
$item_data = $item_values->get_data();
$product_id = $item_data['product_id'];
$item_quantity = $item_values->get_quantity();
$product = get_page_by_title( $item_data['name'], OBJECT, 'mep_events' );
$event_name = $item_data['name'];
$event_id = $product->ID;
$item_id = $item_id;
}
$user_info_arr = wc_get_order_item_meta($item_id,'_event_user_info',true);
// print_r($user_info_arr);
ob_start();
?>
<div class='event-atendee-infos'>
<table class="atendee-info">
<tr>
<th>Name</th>
<th>City</th>
</tr>
<?php
foreach ($user_info_arr as $_user_info) {
$uname = $_user_info['user_name'];
$email = $_user_info['user_email'];
$phone = $_user_info['user_phone'];
$address = $_user_info['user_address'];
$gender = $_user_info['user_gender'];
$company = $_user_info['user_company'];
$designation = $_user_info['user_designation'];
$website = $_user_info['user_website'];
$vegetarian = $_user_info['user_vegetarian'];
$tshirtsize = $_user_info['user_tshirtsize'];
$ticket_type = $_user_info['user_ticket_type'];
?>
<tr><td><?php echo $uname; ?></td><td><?php echo $address; ?></td></tr>
<?php
}
?>
</table>
</div>
<?php
$content = ob_get_clean();
echo $content;
}
// add_action( 'woocommerce_admin_order_totals_after_refunded','my_function_meta_deta', $order->id );
// add_action( 'woocommerce_thankyou', 'woocommerce_thankyou_change_order_status', 10, 1 );
function woocommerce_thankyou_change_order_status( $order_id ){
if( ! $order_id ) return;
$order = wc_get_order( $order_id );
if( $order->get_status() == 'processing' )
$order->update_status( 'completed' );
}
function mep_event_list_price($pid){
global $post;
$cur = get_woocommerce_currency_symbol();
$mep_event_ticket_type = get_post_meta($pid, 'mep_event_ticket_type', true);
$mep_events_extra_prices = get_post_meta($pid, 'mep_events_extra_prices', true);
$n_price = get_post_meta($pid, '_price', true);
if($n_price==0){
$gn_price = "Free";
}else{
$gn_price =$cur.$n_price;
}
if($mep_events_extra_prices){
$gn_price = $cur.$mep_events_extra_prices[0]['option_price'];
}
if($mep_event_ticket_type){
$gn_price = $cur.$mep_event_ticket_type[0]['option_price_t'];
}
return $gn_price;
}