Version 2.8.0 released
This commit is contained in:
parent
74062781a1
commit
dfc796c2eb
|
@ -1479,6 +1479,16 @@ h4.mep-cart-table-title {
|
|||
padding: 0 0 0 25px;
|
||||
}
|
||||
|
||||
p#mep_btn_notice {
|
||||
text-align: center;
|
||||
width: 300px;
|
||||
float: none;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* Responsive CSS
|
||||
=====================================================================*/
|
||||
@media only screen and (min-width: 768px) and (max-width: 990px) {
|
||||
|
|
|
@ -7,10 +7,10 @@ function mep_event_meta_box_add(){
|
|||
|
||||
add_meta_box( 'mep-event-price', __('Event Price (Event Base price, It will not work if you add Event Ticket type Price)','mage-eventpress'), 'mep_event_price_meta_box_cb', 'mep_events', 'normal', 'high' );
|
||||
|
||||
add_meta_box( 'mep-event-extra-price', __('<span class="dashicons dashicons-awards" style="color:green; padding-right:10px;"></span>Event Extra Service (Extra Service as Product that you can sell and it is not included on event package)','mage-eventpress'), 'mep_event_extra_price_option', 'mep_events', 'normal', 'high' );
|
||||
|
||||
add_meta_box( 'mep-event-ticket-type', __('<span class="dashicons dashicons-buddicons-tracking" style="color:green; padding-right:10px;"></span>Event Ticket Type and Pricing','mage-eventpress'), 'mep_event_ticket_type', 'mep_events', 'normal', 'high' );
|
||||
|
||||
add_meta_box( 'mep-event-extra-price', __('<span class="dashicons dashicons-awards" style="color:green; padding-right:10px;"></span>Event Extra Service (Extra Service as Product that you can sell and it is not included on event package)','mage-eventpress'), 'mep_event_extra_price_option', 'mep_events', 'normal', 'high' );
|
||||
|
||||
add_meta_box( 'mep-event-date', __('<span class="dashicons dashicons-calendar-alt" style="color:green; padding-right:10px;"></span>Event Date & Time','mage-eventpress'), 'mep_event_date_meta_box_cb', 'mep_events', 'normal', 'high' );
|
||||
|
||||
add_meta_box( 'mep-event-emails', __('<span class="dashicons dashicons-email-alt" style="color:green; padding-right:10px;"></span>Event Email text','mage-eventpress'), 'mep_event_email_meta_box_cb', 'mep_events', 'normal', 'high' );
|
||||
|
@ -111,16 +111,7 @@ if(array_key_exists('_tax_class', $values)){ $tx_class = $values['_tax_class'][0
|
|||
<label for="_tax_class"> <?php _e('Tax class','mage-eventpress'); ?>
|
||||
<select style="" id="_tax_class" name="_tax_class" class="select short">
|
||||
<option value="standard" <?php if($tx_class=='standard'){ echo 'Selected'; } ?>>Standard</option>
|
||||
<?php
|
||||
$mep_get_tax_class = get_option( 'woocommerce_tax_classes' );
|
||||
$mep_get_tax_arr = explode( "\n", get_option( 'woocommerce_tax_classes' ));
|
||||
foreach ($mep_get_tax_arr as $mep_tax_class ) {
|
||||
$tax_slug = sanitize_title($mep_tax_class);
|
||||
?>
|
||||
<option value="<?php echo $tax_slug; ?>" <?php if($tx_class==$tax_slug){ echo 'Selected'; } ?>><?php echo $mep_tax_class; ?></option>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<?php echo mep_get_all_tax_list(); ?>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
function mep_add_custom_fields_text_to_cart_item( $cart_item_data, $product_id, $variation_id ){
|
||||
|
||||
if (get_post_type($product_id) == 'mep_events') {
|
||||
$tp = get_post_meta($product_id,'_price',true);
|
||||
|
||||
$new = array();
|
||||
|
@ -95,20 +95,39 @@ if(isset($_POST['mep_event_ticket_type'])){
|
|||
$cnt++;
|
||||
}
|
||||
|
||||
$cart_item_data['event_ticket_info'] = $ticket_type_arr;
|
||||
$mep_events_extra_prices = get_post_meta($product_id, 'mep_events_extra_prices', true);
|
||||
$us = 0;
|
||||
foreach($mep_events_extra_prices as $extra_service){
|
||||
|
||||
|
||||
foreach ($new as $key => $val) {
|
||||
if ($val['option_name'] === $extra_service['option_name']) {
|
||||
if($val['option_qty'] > 0){
|
||||
$event_extra[$us]['service_name'] = stripslashes( strip_tags($val['option_name']) );
|
||||
|
||||
$event_extra[$us]['service_qty'] = stripslashes(strip_tags($val['option_qty']));
|
||||
$event_extra[$us]['service_price'] = stripslashes(strip_tags($val['option_price']));
|
||||
}
|
||||
}else{
|
||||
$event_extra = array();
|
||||
}
|
||||
}
|
||||
|
||||
$us++;
|
||||
}
|
||||
|
||||
|
||||
$cart_item_data['event_ticket_info'] = $ticket_type_arr;
|
||||
$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;
|
||||
$cart_item_data['event_id'] = $product_id;
|
||||
|
||||
$cart_item_data['event_cart_location'] = $event_cart_location;
|
||||
$cart_item_data['event_cart_date'] = $event_cart_date;
|
||||
|
||||
|
||||
}
|
||||
$cart_item_data['event_id'] = $product_id;
|
||||
|
||||
return $cart_item_data;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,154 @@
|
|||
<?php
|
||||
function mep_check_attendee_exists($event_id,$order_id,$name=null,$email=null,$phone=null,$address=null,$gender=null,$company=null,$desg=null,$website=null,$veg=null,$tshirt=null,$type){
|
||||
|
||||
$args = array(
|
||||
'post_type' => 'mep_events_attendees',
|
||||
'posts_per_page' => -1,
|
||||
|
||||
'meta_query' => array(
|
||||
|
||||
|
||||
array(
|
||||
'key' => 'ea_event_id',
|
||||
'value' => $event_id,
|
||||
'compare' => '='
|
||||
),
|
||||
array(
|
||||
'key' => 'ea_order_id',
|
||||
'value' => $order_id,
|
||||
'compare' => '='
|
||||
),
|
||||
array(
|
||||
'key' => 'ea_ticket_type',
|
||||
'value' => $type,
|
||||
'compare' => '='
|
||||
),
|
||||
array(
|
||||
'key' => 'ea_name',
|
||||
'value' => $name,
|
||||
'compare' => '='
|
||||
),
|
||||
array(
|
||||
'key' => 'ea_email',
|
||||
'value' => $email,
|
||||
'compare' => '='
|
||||
),
|
||||
array(
|
||||
'key' => 'ea_phone',
|
||||
'value' => $phone,
|
||||
'compare' => '='
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
$loop = new WP_Query($args);
|
||||
return $loop->post_count;
|
||||
}
|
||||
|
||||
|
||||
|
||||
add_action('admin_init','mep_get_all_order_data_and_create_attendee');
|
||||
|
||||
function mep_get_all_order_data_and_create_attendee(){
|
||||
|
||||
if ( get_option( 'mep_event_magor_update_3' ) != 'completed' ) {
|
||||
|
||||
global $wpdb;
|
||||
$args = array(
|
||||
'limit' => -1,
|
||||
'return' => 'ids',
|
||||
);
|
||||
$query = new WC_Order_Query( $args );
|
||||
$orders = $query->get_orders();
|
||||
$c = 1;
|
||||
|
||||
foreach($orders as $order_id){
|
||||
$order = wc_get_order( $order_id );
|
||||
$order_meta = get_post_meta($order_id);
|
||||
|
||||
foreach ( $order->get_items() as $item_id => $item_values ) {
|
||||
$item_id = $item_id;
|
||||
}
|
||||
|
||||
$event_info = maybe_unserialize(mep_event_get_order_meta($item_id,'_event_user_info'));
|
||||
|
||||
$event_id = mep_event_get_order_meta($item_id,'event_id') ? mep_event_get_order_meta($item_id,'event_id') : 0;
|
||||
|
||||
if(is_array($event_info) && sizeof($event_info) > 0 && $event_id > 0){
|
||||
// echo '<pre>';
|
||||
// print_r(array_merge($event_info,$event_id));
|
||||
|
||||
foreach($event_info as $_event_info){
|
||||
|
||||
$user_name = isset($_event_info['user_name']) ? $_event_info['user_name'] : '';
|
||||
$user_email = isset($_event_info['user_email']) ? $_event_info['user_email'] : '';
|
||||
$user_phone = isset($_event_info['user_phone']) ? $_event_info['user_phone'] : '';
|
||||
$user_address = isset($_event_info['user_address']) ? $_event_info['user_address'] : '';
|
||||
$user_gender = isset($_event_info['user_gender']) ? $_event_info['user_gender'] : '';
|
||||
$user_tshirtsize = isset($_event_info['user_tshirtsize']) ? $_event_info['user_tshirtsize'] : '';
|
||||
$user_company = isset($_event_info['user_company']) ? $_event_info['user_company'] : '';
|
||||
|
||||
$user_designation = isset($_event_info['user_designation']) ? $_event_info['user_designation'] : '';
|
||||
|
||||
$user_website = isset($_event_info['user_website']) ? $_event_info['user_website'] : '';
|
||||
$user_vegetarian = isset($_event_info['user_vegetarian']) ? $_event_info['user_vegetarian'] : '';
|
||||
$user_ticket_type = isset($_event_info['user_ticket_type']) ? $_event_info['user_ticket_type'] : '';
|
||||
|
||||
|
||||
$check = mep_check_attendee_exists($event_id,$order_id,$user_name,$user_email,$user_phone,$user_address,$user_gender,$user_company,$user_designation,$user_website,$user_vegetarian,$user_tshirtsize,$user_ticket_type);
|
||||
|
||||
if($check == 0){
|
||||
|
||||
$first_name = isset($order_meta['_billing_first_name'][0]) ? $order_meta['_billing_first_name'][0] : '';
|
||||
$last_name = isset($order_meta['_billing_last_name'][0]) ? $order_meta['_billing_last_name'][0] : '';
|
||||
$uname = $first_name.' '.$last_name;
|
||||
$payment_method = isset($order_meta['_payment_method_title'][0]) ? $order_meta['_payment_method_title'][0] : array();
|
||||
$user_id = isset($order_meta['_customer_user'][0]) ? $order_meta['_customer_user'][0] : array();
|
||||
$event_name = get_the_title($event_id);
|
||||
$order_status = $order->get_status();
|
||||
|
||||
$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);
|
||||
$pin = $user_id.$order_id.$event_id.$pid;
|
||||
update_post_meta( $pid, 'ea_name', $user_name);
|
||||
update_post_meta( $pid, 'ea_address_1', $user_address);
|
||||
update_post_meta( $pid, 'ea_email', $user_email);
|
||||
update_post_meta( $pid, 'ea_phone', $user_phone);
|
||||
update_post_meta( $pid, 'ea_gender', $user_gender);
|
||||
update_post_meta( $pid, 'ea_company', $user_company);
|
||||
update_post_meta( $pid, 'ea_desg', $user_designation);
|
||||
update_post_meta( $pid, 'ea_website', $user_website);
|
||||
update_post_meta( $pid, 'ea_vegetarian', $user_vegetarian);
|
||||
update_post_meta( $pid, 'ea_tshirtsize', $user_tshirtsize);
|
||||
update_post_meta( $pid, 'ea_ticket_type', $user_ticket_type);
|
||||
update_post_meta( $pid, 'ea_payment_method', $payment_method);
|
||||
update_post_meta( $pid, 'ea_event_name', $event_name);
|
||||
update_post_meta( $pid, 'ea_event_id', $event_id);
|
||||
update_post_meta( $pid, 'ea_order_id', $order_id);
|
||||
update_post_meta( $pid, 'ea_user_id', $user_id);
|
||||
update_post_meta( $pid, 'ea_ticket_no', $pin);
|
||||
update_post_meta( $pid, 'ea_order_status', $order_status);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
update_option( 'mep_event_magor_update_3', 'completed' );
|
||||
}
|
||||
|
||||
|
||||
// die();
|
||||
}
|
25
readme.txt
25
readme.txt
|
@ -149,14 +149,14 @@ our support team will back to you shortly.
|
|||
|
||||
|
||||
|
||||
### How to Add New Event
|
||||
https://www.youtube.com/watch?v=2VLWSUS6GPI
|
||||
### How to install Woo Commerce Event Manager Plugin in 3 Minutes
|
||||
https://www.youtube.com/watch?v=_CRPyKHPhTU
|
||||
|
||||
### How to Add Ticket Base Event
|
||||
https://www.youtube.com/watch?v=2VLWSUS6GPI
|
||||
### WooCommerce Event Manager Pro Addons Setup And Full Functionality Explained
|
||||
https://www.youtube.com/watch?v=LZj6oUavTQg
|
||||
|
||||
### How to Buy/Purchase/Booking an Event
|
||||
https://www.youtube.com/watch?v=IyUCCIeS6P8
|
||||
### How to Configure Event Manager Attendee Registration Form
|
||||
https://www.youtube.com/watch?v=F9wnlUjXa6I
|
||||
|
||||
|
||||
**CHECKOUT OUR OTHER PRODUCTS**
|
||||
|
@ -404,3 +404,16 @@ A. you can create support ticket here with problem details with possible screens
|
|||
* Update Release:
|
||||
==> Bug Fixed
|
||||
15 Sep 2019*
|
||||
|
||||
|
||||
*= 2.7.3 =
|
||||
* Update Release:
|
||||
==> Bug Fixed
|
||||
*
|
||||
|
||||
|
||||
*= 2.8.0 =
|
||||
* Update Release:
|
||||
==> Bug Fixed
|
||||
==> Event seating issue fixed while order status chganged
|
||||
04 Nov 2019*
|
|
@ -42,24 +42,23 @@ $simple_rsv = '';
|
|||
$interval = $datetime1->diff($datetime2);
|
||||
$mep_event_ticket_type = get_post_meta($post_id, 'mep_event_ticket_type', true);
|
||||
|
||||
$stc = 0;
|
||||
$leftt = 0;
|
||||
$total_seat = mep_event_total_seat(get_the_id(),'total');
|
||||
$total_resv = mep_event_total_seat(get_the_id(),'resv');
|
||||
$total_sold = mep_ticket_sold(get_the_id());
|
||||
$total_left = $total_seat - ($total_sold + $total_resv);
|
||||
|
||||
|
||||
|
||||
if (is_array($mep_event_ticket_type) || is_object($mep_event_ticket_type)){
|
||||
foreach ($mep_event_ticket_type as $field ) {
|
||||
$qm = $field['option_name_t'];
|
||||
$opt_qty = isset($field['option_qty_t']) ? $field['option_qty_t'] : 0;
|
||||
// $opt_rst_qty = $field['option_rsv_t'] ? $field['option_rsv_t'] : 0;
|
||||
$tesqn = $post_id.str_replace(' ', '', $qm);
|
||||
$tesq = get_post_meta($post_id,"mep_xtra_$tesqn",true);
|
||||
$stc = $stc+$opt_qty;
|
||||
$llft = ($opt_qty - (int)$tesq);
|
||||
$leftt = $leftt+$llft;
|
||||
}
|
||||
}else{$qm='';}
|
||||
|
||||
if($mep_event_ticket_type){
|
||||
$seat_left = $leftt;
|
||||
$seat_left = $total_left;
|
||||
}else{
|
||||
$seat_left = $seat_left;
|
||||
$seat_left = $total_left;
|
||||
}
|
||||
|
||||
|
||||
|
@ -122,29 +121,7 @@ if(array_key_exists('mep_rsv_seat', $event_meta)){
|
|||
$mep_available_seat = 'on';
|
||||
}
|
||||
|
||||
if($mep_event_ticket_type){
|
||||
|
||||
$stc = 0;
|
||||
$leftt = 0;
|
||||
$res = 0;
|
||||
|
||||
foreach ( $mep_event_ticket_type as $field ) {
|
||||
$qm = $field['option_name_t'];
|
||||
$opt_qty = isset($field['option_qty_t']) ? $field['option_qty_t'] : 0;
|
||||
$opt_rst_qty = isset($field['option_rsv_t']) ? $field['option_rsv_t'] : 0;
|
||||
$tesqn = $post->ID.str_replace(' ', '', $qm);
|
||||
$tesq = get_post_meta($post->ID,"mep_xtra_$tesqn",true);
|
||||
$stc = $stc+$opt_qty;
|
||||
$res = $res + (int)$opt_rst_qty;
|
||||
$res = (int)$res;
|
||||
$llft = ($opt_qty - (int)$tesq);
|
||||
$leftt = ($leftt+$llft);
|
||||
}
|
||||
$leftt = $leftt-$res;
|
||||
}else{
|
||||
$leftt = $event_meta['mep_total_seat'][0]- $total_book;
|
||||
}
|
||||
|
||||
$leftt = $total_left;
|
||||
$days = $interval->d;
|
||||
$hours = $interval->h;
|
||||
$minutes = $interval->i;
|
||||
|
@ -168,7 +145,8 @@ if($reg_status!='off'){
|
|||
<form action="" method='post'>
|
||||
<?php
|
||||
do_action('mep_event_ticket_type_extra_service');
|
||||
if($leftt>0){
|
||||
|
||||
if($leftt>0){
|
||||
?>
|
||||
<input type='hidden' id='rowtotal' value="<?php echo get_post_meta($post_id,"_price",true); ?>"/>
|
||||
<table>
|
||||
|
@ -176,12 +154,12 @@ if($reg_status!='off'){
|
|||
<td align="left" class='total-col'><?php echo mep_get_option('mep_quantity_text', 'label_setting_sec') ? mep_get_option('mep_quantity_text', 'label_setting_sec') : _e('Quantity:','mage-eventpress');
|
||||
$mep_event_ticket_type = get_post_meta($post_id, 'mep_event_ticket_type', true);
|
||||
if($mep_event_ticket_type){ ?>
|
||||
<input id="quantity_5a7abbd1bff73" class="input-text qty text extra-qty-box" 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="hidden">
|
||||
<input id="quantity_5a7abbd1bff73" class="input-text qty text extra-qty-box" step="1" min="1" max="<?php echo $leftt; ?>" name="quantity" value="1" title="Qty" size="4" pattern="[0-9]*" inputmode="numeric" type="hidden">
|
||||
<span id="ttyttl"></span>
|
||||
<?php
|
||||
}else{
|
||||
if($event_sqi==1){
|
||||
$qmx = ($event_meta['mep_total_seat'][0]- $total_book);
|
||||
$qmx = $leftt;
|
||||
if($qty_typec=='dropdown'){ ?>
|
||||
<select name="quantity" id="quantity_5a7abbd1bff73" class='input-text qty text extra-qty-box'>
|
||||
<?php for ($i = 1; $i <= $qmx; $i++) { ?>
|
||||
|
@ -189,13 +167,13 @@ if($event_sqi==1){
|
|||
<?php } ?>
|
||||
</select>
|
||||
<?php }else{ ?>
|
||||
<input id="quantity_5a7abbd1bff73" class="input-text qty text extra-qty-box" 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">
|
||||
<input id="quantity_5a7abbd1bff73" class="input-text qty text extra-qty-box" step="1" min="1" max="<?php echo $leftt; ?>" name="quantity" value="1" title="Qty" size="4" pattern="[0-9]*" inputmode="numeric" type="number">
|
||||
<?php
|
||||
}
|
||||
}else{
|
||||
echo 1;
|
||||
?>
|
||||
<input id="quantity_5a7abbd1bff73" class="input-text qty text extra-qty-box" 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="hidden">
|
||||
<input id="quantity_5a7abbd1bff73" class="input-text qty text extra-qty-box" step="1" min="1" max="<?php echo $leftt; ?>" name="quantity" value="1" title="Qty" size="4" pattern="[0-9]*" inputmode="numeric" type="hidden">
|
||||
<?php
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,19 +22,15 @@ if($mep_event_ticket_type){
|
|||
<?php
|
||||
$count =1;
|
||||
foreach ( $mep_event_ticket_type as $field ) {
|
||||
$qm = $field['option_name_t'];
|
||||
$opt_qty = isset($field['option_qty_t']) ? $field['option_qty_t'] : 0;
|
||||
$opt_rst_qty = isset($field['option_rsv_t']) ? $field['option_rsv_t'] : 0;
|
||||
$rsv = (int)$opt_rst_qty;
|
||||
$tesqn = $pid.str_replace(' ', '', $qm);
|
||||
$tesq = get_post_meta($pid,"mep_xtra_$tesqn",true);
|
||||
$tesq = ((int)$tesq + (int)$rsv);
|
||||
$llft = ($opt_qty - (int)$tesq);
|
||||
$qty_t_type = $field['option_qty_t_type'];
|
||||
?>
|
||||
$total_quantity = isset($field['option_qty_t']) ? $field['option_qty_t'] : 0;
|
||||
$total_resv_quantity = isset($field['option_rsv_t']) ? $field['option_rsv_t'] : 0;
|
||||
$total_sold = (int) mep_ticket_type_sold(get_the_id(),$field['option_name_t']);
|
||||
$total_left = (int) $total_quantity - ((int) $total_sold + (int) $total_resv_quantity);
|
||||
?>
|
||||
<tr>
|
||||
<td align="Left"><?php echo $field['option_name_t']; ?>
|
||||
<?php if($mep_available_seat=='on'){ ?><div class="xtra-item-left"><?php echo max($llft,0); ?> <?php _e('Left','mage-eventpress'); ?></div> <?php } ?>
|
||||
<?php if($mep_available_seat=='on'){ ?><div class="xtra-item-left"><?php echo max($total_left,0); ?> <?php _e('Left','mage-eventpress'); ?></div> <?php } ?>
|
||||
</td>
|
||||
<td class="ticket-qty">
|
||||
<span class="tkt-qty">
|
||||
|
@ -42,23 +38,22 @@ $qty_t_type = $field['option_qty_t_type'];
|
|||
</span>
|
||||
|
||||
<?php
|
||||
if($llft>0){
|
||||
//echo $llft;
|
||||
if($total_left>0){
|
||||
if($qty_t_type=='dropdown'){ ?>
|
||||
<select name="option_qty[]" id="eventpxtp_<?php echo $count; ?>" <?php if($llft<=0){ ?> style='display: none!important;' <?php } ?> class='extra-qty-box etp'>
|
||||
<?php for ($i = 0; $i <= $llft; $i++) { ?>
|
||||
<select name="option_qty[]" id="eventpxtp_<?php echo $count; ?>" <?php if($total_left<=0){ ?> style='display: none!important;' <?php } ?> class='extra-qty-box etp'>
|
||||
<?php for ($i = 0; $i <= $total_left; $i++) { ?>
|
||||
<option value="<?php echo $i; ?>"><?php echo $i; ?> <?php _e('Ticket','mage-eventpress'); ?></option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
<?php }else{ ?>
|
||||
<input id="eventpxtp_<?php echo $count; ?>" <?php //if($ext_left<=0){ echo "disabled"; } ?> size="4" pattern="[0-9]*" inputmode="numeric" type="number" class='extra-qty-box etp' name='option_qty[]' data-price='<?php echo $field['option_price_t']; ?>' value='0' min="0" max="<?php echo max($llft,0); ?>">
|
||||
<input id="eventpxtp_<?php echo $count; ?>" <?php //if($ext_left<=0){ echo "disabled"; } ?> size="4" pattern="[0-9]*" inputmode="numeric" type="number" class='extra-qty-box etp' name='option_qty[]' data-price='<?php echo $field['option_price_t']; ?>' value='0' min="0" max="<?php echo max($total_left,0); ?>">
|
||||
<?php } }else{ _e('No Seat Available','mage-eventpress'); } ?>
|
||||
</td>
|
||||
<td class="ticket-price"><span class="tkt-pric">
|
||||
|
||||
<?php echo mep_get_option('mep_per_ticket_price_text', 'label_setting_sec') ? mep_get_option('mep_per_ticket_price_text', 'label_setting_sec') : _e('Per Ticket Price:','mage-eventpress'); ?>
|
||||
</span> <strong><?php echo wc_price($field['option_price_t']); ?></strong>
|
||||
<?php if($llft>0){ ?>
|
||||
<?php if($total_left>0){ ?>
|
||||
<p style="display: none;" class="price_jq"><?php echo $field['option_price_t']; ?></p>
|
||||
<input type="hidden" name='option_name[]' value='<?php echo $field['option_name_t']; ?>'>
|
||||
<input type="hidden" name='option_price[]' value='<?php echo $field['option_price_t']; ?>'>
|
||||
|
|
|
@ -1,56 +1,21 @@
|
|||
<?php
|
||||
add_action('mep_event_seat','mep_ev_seat');
|
||||
|
||||
|
||||
function mep_ev_seat(){
|
||||
global $post,$event_meta,$total_book;
|
||||
|
||||
if(array_key_exists('mep_rsv_seat', $event_meta)){
|
||||
$simple_rsv = $event_meta['mep_rsv_seat'][0];
|
||||
}else{
|
||||
$simple_rsv = '';
|
||||
}
|
||||
if($simple_rsv){
|
||||
$simple_rsv = $simple_rsv;
|
||||
}else{
|
||||
$simple_rsv = 0;
|
||||
}
|
||||
$total_book = ($total_book + $simple_rsv);
|
||||
global $post,$event_meta;
|
||||
|
||||
$mep_event_ticket_type = get_post_meta($post->ID, 'mep_event_ticket_type', true);
|
||||
|
||||
|
||||
if(array_key_exists('mep_available_seat', $event_meta)){
|
||||
$mep_available_seat = $event_meta['mep_available_seat'][0];
|
||||
}else{
|
||||
$mep_available_seat = 'on';
|
||||
}
|
||||
|
||||
if($mep_event_ticket_type){
|
||||
$stc = 0;
|
||||
$leftt = 0;
|
||||
$res = 0;
|
||||
foreach ( $mep_event_ticket_type as $field ) {
|
||||
$qm = $field['option_name_t'];
|
||||
$opt_qty = isset($field['option_qty_t']) ? $field['option_qty_t'] : 0;
|
||||
$opt_rst_qty = isset($field['option_rsv_t']) ? $field['option_rsv_t'] : 0;
|
||||
$tesqn = $post->ID.str_replace(' ', '', $qm);
|
||||
$tesq = get_post_meta($post->ID,"mep_xtra_$tesqn",true);
|
||||
$stc = $stc+$opt_qty;
|
||||
$res = $res + (int)$opt_rst_qty;
|
||||
$res = (int)$res;
|
||||
$llft = ($opt_qty - (int)$tesq);
|
||||
$leftt = ($leftt+$llft);
|
||||
}
|
||||
$leftt = $leftt-$res;
|
||||
?>
|
||||
<h5><strong><?php echo mep_get_option('mep_total_seat_text', 'label_setting_sec') ? mep_get_option('mep_total_seat_text', 'label_setting_sec') : _e('Total Seat:','mage-eventpress'); ?></strong> <?php echo $stc; if($mep_available_seat=='on'){ ?> (<strong><?php echo max($leftt,0); ?></strong> <?php _e('Left','mage-eventpress'); ?>)<?php } ?></h5>
|
||||
<?php
|
||||
|
||||
}else{
|
||||
if($event_meta['mep_total_seat'][0]){ ?>
|
||||
<h5><strong><?php echo mep_get_option('mep_total_seat_text', 'label_setting_sec') ? mep_get_option('mep_total_seat_text', 'label_setting_sec') : _e('Total Seat:','mage-eventpress'); ?></strong> <?php echo $event_meta['mep_total_seat'][0]; if($mep_available_seat=='on'){ ?> (<strong><?php echo max(($event_meta['mep_total_seat'][0]- $total_book),0); ?></strong> <?php _e('Left','mage-eventpress'); ?>) <?php } ?></h5>
|
||||
<?php }
|
||||
}
|
||||
|
||||
if(array_key_exists('mep_available_seat', $event_meta)){
|
||||
$mep_available_seat = $event_meta['mep_available_seat'][0];
|
||||
}else{
|
||||
$mep_available_seat = 'on';
|
||||
}
|
||||
if($mep_event_ticket_type){
|
||||
$total_seat = mep_event_total_seat(get_the_id(),'total');
|
||||
$total_resv = mep_event_total_seat(get_the_id(),'resv');
|
||||
$total_sold = mep_ticket_sold(get_the_id());
|
||||
$total_left = $total_seat - ($total_sold + $total_resv);
|
||||
?>
|
||||
<h5><strong><?php echo mep_get_option('mep_total_seat_text', 'label_setting_sec') ? mep_get_option('mep_total_seat_text', 'label_setting_sec') : _e('Total Seat:','mage-eventpress'); ?></strong> <?php echo $total_seat; if($mep_available_seat=='on'){ ?> (<strong><?php echo max($total_left,0); ?></strong> <?php _e('Left','mage-eventpress'); ?>)<?php } ?></h5>
|
||||
<?php
|
||||
}
|
||||
}
|
|
@ -3,7 +3,7 @@
|
|||
* Plugin Name: Woocommerce Events Manager
|
||||
* Plugin URI: http://mage-people.com
|
||||
* Description: A Complete Event Solution for WordPress by MagePeople..
|
||||
* Version: 2.7.3
|
||||
* Version: 2.8.0
|
||||
* Author: MagePeople Team
|
||||
* Author URI: http://www.mage-people.com/
|
||||
* Text Domain: mage-eventpress
|
||||
|
@ -26,6 +26,7 @@ require_once(dirname(__FILE__) . "/inc/mep_csv_export.php");
|
|||
require_once(dirname(__FILE__) . "/inc/mep_user_custom_style.php");
|
||||
require_once(dirname(__FILE__) . "/inc/mep_tax_meta.php");
|
||||
require_once(dirname(__FILE__) . "/inc/mep_addon_list.php");
|
||||
require_once(dirname(__FILE__) . "/inc/mep_upgrade.php");
|
||||
|
||||
// Language Load
|
||||
add_action( 'init', 'mep_language_load');
|
||||
|
@ -44,22 +45,51 @@ function mep_flash_permalink_once() {
|
|||
}
|
||||
add_action( 'admin_init', 'mep_flash_permalink_once' );
|
||||
|
||||
// add_action( 'admin_init', 'mep_check_builder_status' );
|
||||
|
||||
function mep_check_builder_status(){
|
||||
$version = '3.2';
|
||||
if(is_plugin_active( 'woocommerce-event-manager-addon-form-builder/addon-builder.php' )){
|
||||
$data = get_plugin_data( ABSPATH . "wp-content/plugins/woocommerce-event-manager-addon-form-builder/addon-builder.php", false, false );
|
||||
if ( is_plugin_active( 'woocommerce-event-manager-addon-form-builder/addon-builder.php' ) && $data['Version'] >= $version ) {
|
||||
return true;
|
||||
}elseif ( is_plugin_active( 'woocommerce-event-manager-addon-form-builder/addon-builder.php' ) && $data['Version'] < $version ) {
|
||||
return false;
|
||||
}else{
|
||||
return true;
|
||||
}
|
||||
}else{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function mep_get_all_tax_list($current_tax=null){
|
||||
global $wpdb;
|
||||
$table_name = $wpdb->prefix . 'wc_tax_rate_classes';
|
||||
$result = $wpdb->get_results( "SELECT * FROM $table_name" );
|
||||
|
||||
foreach ( $result as $tax ){
|
||||
?>
|
||||
<option value="<?php echo $tax->slug; ?>" <?php if($current_tax == $tax->slug ){ echo 'Selected'; } ?>><?php echo $tax->name; ?></option>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Class for Linking with Woocommerce with Event Pricing
|
||||
add_action('plugins_loaded', 'mep_load_wc_class');
|
||||
function mep_load_wc_class() {
|
||||
|
||||
|
||||
|
||||
|
||||
if ( class_exists('WC_Product_Data_Store_CPT') ) {
|
||||
|
||||
class MEP_Product_Data_Store_CPT extends WC_Product_Data_Store_CPT {
|
||||
|
||||
public function read( &$product ) {
|
||||
|
||||
$product->set_defaults();
|
||||
|
||||
if ( ! $product->get_id() || ! ( $post_object = get_post( $product->get_id() ) ) || ! in_array( $post_object->post_type, array( 'mep_events', 'product' ) ) ) { // change birds with your post type
|
||||
throw new Exception( __( 'Invalid product.', 'woocommerce' ) );
|
||||
}
|
||||
|
@ -129,8 +159,6 @@ function mep_woocommerce_data_stores ( $stores ) {
|
|||
return $stores;
|
||||
}
|
||||
|
||||
|
||||
|
||||
} else {
|
||||
|
||||
add_action('admin_notices', 'wc_not_loaded');
|
||||
|
@ -206,37 +234,172 @@ global $wpdb;
|
|||
foreach( $results as $result ) {
|
||||
$value = $result->meta_value;
|
||||
}
|
||||
return $value;
|
||||
$val = isset($value) ? $value : '';
|
||||
return $val;
|
||||
}
|
||||
|
||||
|
||||
|
||||
add_action('woocommerce_checkout_order_processed', 'mep_event_booking_management', 10);
|
||||
|
||||
function mep_event_booking_management( $order_id) {
|
||||
if(mep_check_builder_status()){
|
||||
|
||||
if ( ! $order_id )
|
||||
return;
|
||||
|
||||
// Getting an instance of the order object
|
||||
$order = wc_get_order( $order_id );
|
||||
$order_meta = get_post_meta($order_id);
|
||||
$order_status = $order->get_status();
|
||||
|
||||
|
||||
add_action( 'woocommerce_thankyou','mep_set_first_order_sts');
|
||||
function mep_set_first_order_sts($order_id ){
|
||||
# Iterating through each order items (WC_Order_Item_Product objects in WC 3+)
|
||||
foreach ( $order->get_items() as $item_id => $item_values ) {
|
||||
$item_id = $item_id;
|
||||
|
||||
// Getting an instance of the order object
|
||||
$order = wc_get_order( $order_id );
|
||||
$order_meta = get_post_meta($order_id);
|
||||
$event_id = wc_get_order_item_meta($item_id,'event_id',true);
|
||||
|
||||
# Iterating through each order items (WC_Order_Item_Product objects in WC 3+)
|
||||
foreach ( $order->get_items() as $item_id => $item_values ) {
|
||||
$item_id = $item_id;
|
||||
if (get_post_type($event_id) == 'mep_events') {
|
||||
$event_name = get_the_title($event_id);
|
||||
$user_info_arr = wc_get_order_item_meta($item_id,'_event_user_info',true);
|
||||
$service_info_arr = wc_get_order_item_meta($item_id,'_event_service_info',true);
|
||||
$event_ticket_info_arr = wc_get_order_item_meta($item_id,'_event_ticket_info',true);
|
||||
|
||||
$item_quantity = 0;
|
||||
|
||||
foreach ( $event_ticket_info_arr as $field ) {
|
||||
if($field['ticket_qty']>0){
|
||||
$item_quantity = $item_quantity + $field['ticket_qty'];
|
||||
}
|
||||
}
|
||||
|
||||
$product_id = mep_event_get_order_meta($item_id,'_product_id');
|
||||
$first_name = isset($order_meta['_billing_first_name'][0]) ? $order_meta['_billing_first_name'][0] : '';
|
||||
$last_name = isset($order_meta['_billing_last_name'][0]) ? $order_meta['_billing_last_name'][0] : '';
|
||||
$company_name = isset($order_meta['_billing_company'][0]) ? $order_meta['_billing_company'][0] : '';
|
||||
$address_1 = isset($order_meta['_billing_address_1'][0]) ? $order_meta['_billing_address_1'][0] : '';
|
||||
$address_2 = isset($order_meta['_billing_address_2'][0]) ? $order_meta['_billing_address_2'][0] : '';
|
||||
$city = isset($order_meta['_billing_city'][0]) ? $order_meta['_billing_city'][0] : '';
|
||||
$state = isset($order_meta['_billing_state'][0]) ? $order_meta['_billing_state'][0] : '';
|
||||
$postcode = isset($order_meta['_billing_postcode'][0]) ? $order_meta['_billing_postcode'][0] : '';
|
||||
$country = isset($order_meta['_billing_country'][0]) ? $order_meta['_billing_country'][0] : '';
|
||||
$email = isset($order_meta['_billing_email'][0]) ? $order_meta['_billing_email'][0] : '';
|
||||
$phone = isset($order_meta['_billing_phone'][0]) ? $order_meta['_billing_phone'][0] : '';
|
||||
$billing_intotal = isset($order_meta['_billing_address_index'][0]) ? $order_meta['_billing_address_index'][0] : '';
|
||||
$payment_method = isset($order_meta['_payment_method_title'][0]) ? $order_meta['_payment_method_title'][0] : '';
|
||||
$user_id = isset($order_meta['_customer_user'][0]) ? $order_meta['_customer_user'][0] : '';
|
||||
|
||||
if($product_id==0){
|
||||
$event_id = mep_event_get_order_meta($item_id,'event_id');
|
||||
if (get_post_type($event_id) == 'mep_events') {
|
||||
$mep_atnd = "_mep_atnd_".$order_id;
|
||||
update_post_meta( $event_id, $mep_atnd, "a1");
|
||||
if(is_array($user_info_arr) & sizeof($user_info_arr) > 0){
|
||||
|
||||
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'];
|
||||
$mep_ucf = isset($_user_info['mep_ucf']) ? $_user_info['mep_ucf'] : "";
|
||||
|
||||
// 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);
|
||||
$pin = $user_id.$order_id.$event_id.$pid;
|
||||
update_post_meta( $pid, 'ea_name', $uname);
|
||||
update_post_meta( $pid, 'ea_address_1', $address);
|
||||
update_post_meta( $pid, 'ea_email', $email);
|
||||
update_post_meta( $pid, 'ea_phone', $phone);
|
||||
update_post_meta( $pid, 'ea_gender', $gender);
|
||||
update_post_meta( $pid, 'ea_company', $company);
|
||||
update_post_meta( $pid, 'ea_desg', $designation);
|
||||
update_post_meta( $pid, 'ea_website', $website);
|
||||
update_post_meta( $pid, 'ea_vegetarian', $vegetarian);
|
||||
update_post_meta( $pid, 'ea_tshirtsize', $tshirtsize);
|
||||
update_post_meta( $pid, 'ea_ticket_type', $ticket_type);
|
||||
update_post_meta( $pid, 'ea_payment_method', $payment_method);
|
||||
update_post_meta( $pid, 'ea_event_name', $event_name);
|
||||
update_post_meta( $pid, 'ea_event_id', $event_id);
|
||||
update_post_meta( $pid, 'ea_order_id', $order_id);
|
||||
update_post_meta( $pid, 'ea_user_id', $user_id);
|
||||
update_post_meta( $pid, 'ea_ticket_no', $pin);
|
||||
update_post_meta( $pid, 'ea_order_status', $order_status);
|
||||
|
||||
// Checking if the form builder addon is active and have any custom fields
|
||||
$mep_form_builder_data = get_post_meta($event_id, 'mep_form_builder_data', true);
|
||||
if ( $mep_form_builder_data ) {
|
||||
foreach ( $mep_form_builder_data as $_field ) {
|
||||
update_post_meta( $pid, "ea_".$_field['mep_fbc_id'], $_user_info[$_field['mep_fbc_id']]);
|
||||
}
|
||||
} // End User Form builder data update loop
|
||||
|
||||
} // End User Array Foreach Loop
|
||||
|
||||
}else{
|
||||
|
||||
//for ($x = 1; $x <= count($event_ticket_info_arr); $x++) {
|
||||
foreach($event_ticket_info_arr as $tinfo){
|
||||
$uname = $first_name.' '.$last_name;
|
||||
|
||||
// ADD THE FORM INPUT TO $new_post ARRAY
|
||||
|
||||
for ($x = 1; $x <= $tinfo['ticket_qty']; $x++) {
|
||||
$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);
|
||||
$count = ($x -1);
|
||||
$pin = $user_id.$order_id.$event_id.$pid;
|
||||
$ticket_type = $tinfo['ticket_name'];
|
||||
// $ticket_type = $event_ticket_info_arr[$count]['ticket_name'];
|
||||
|
||||
update_post_meta( $pid, 'ea_name', $uname);
|
||||
update_post_meta( $pid, 'ea_address_1', $address_1);
|
||||
update_post_meta( $pid, 'ea_email', $email);
|
||||
update_post_meta( $pid, 'ea_phone', $phone);
|
||||
update_post_meta( $pid, 'ea_gender', '');
|
||||
update_post_meta( $pid, 'ea_company', $company_name);
|
||||
update_post_meta( $pid, 'ea_desg', '');
|
||||
update_post_meta( $pid, 'ea_website', '');
|
||||
update_post_meta( $pid, 'ea_vegetarian', '');
|
||||
update_post_meta( $pid, 'ea_tshirtsize', '');
|
||||
update_post_meta( $pid, 'ea_ticket_type', $ticket_type);
|
||||
update_post_meta( $pid, 'ea_payment_method', $payment_method);
|
||||
update_post_meta( $pid, 'ea_event_name', $event_name);
|
||||
update_post_meta( $pid, 'ea_event_id', $event_id);
|
||||
update_post_meta( $pid, 'ea_order_id', $order_id);
|
||||
update_post_meta( $pid, 'ea_user_id', $user_id);
|
||||
update_post_meta( $pid, 'ea_ticket_no', $pin);
|
||||
update_post_meta( $pid, 'ea_order_status', $order_status);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
} // end of check post type
|
||||
}
|
||||
do_action('mep_after_event_booking',$order_id,$order->get_status());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
add_action('woocommerce_checkout_order_processed', 'mep_event_order_status_make_pending', 10, 1);
|
||||
|
@ -257,6 +420,8 @@ $product_id = mep_event_get_order_meta($item_id,'_product_id');
|
|||
if($product_id==0){
|
||||
$event_id = mep_event_get_order_meta($item_id,'event_id');
|
||||
if (get_post_type($event_id) == 'mep_events') {
|
||||
$mep_atnd = "_mep_atnd_".$order_id;
|
||||
update_post_meta( $event_id, $mep_atnd, "a1");
|
||||
$order_meta_text = "_stock_msg_".$order_id;
|
||||
$order_processing = "pending_".$order_id;
|
||||
update_post_meta( $event_id, $order_meta_text, $order_processing);
|
||||
|
@ -265,8 +430,110 @@ if($product_id==0){
|
|||
}
|
||||
|
||||
|
||||
function change_attandee_order_status($order_id,$set_status,$post_status,$qr_status=null){
|
||||
|
||||
$args = array (
|
||||
'post_type' => array( 'mep_events_attendees' ),
|
||||
'posts_per_page' => -1,
|
||||
'post_status' => $post_status,
|
||||
'meta_query' => array(
|
||||
array(
|
||||
'key' => 'ea_order_id',
|
||||
'value' => $order_id,
|
||||
'compare' => '='
|
||||
)
|
||||
)
|
||||
);
|
||||
$loop = new WP_Query($args);
|
||||
$tid = array();
|
||||
foreach ($loop->posts as $ticket) {
|
||||
$post_id = $ticket->ID;
|
||||
if(!empty($qr_status)){
|
||||
update_post_meta($post_id, 'ea_order_status', $qr_status);
|
||||
}
|
||||
$current_post = get_post( $post_id, 'ARRAY_A' );
|
||||
$current_post['post_status'] = $set_status;
|
||||
wp_update_post($current_post);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
add_action('wp_trash_post','mep_addendee_trash',90);
|
||||
function mep_addendee_trash( $post_id ) {
|
||||
$post_type = get_post_type( $post_id );
|
||||
$post_status = get_post_status( $post_id );
|
||||
if ( $post_type == 'shop_order' ) {
|
||||
|
||||
change_attandee_order_status( $post_id, 'trash', 'publish', '' );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
add_action('untrash_post','mep_addendee_untrash',90);
|
||||
function mep_addendee_untrash( $post_id ) {
|
||||
$post_type = get_post_type( $post_id );
|
||||
$post_status = get_post_status( $post_id );
|
||||
if ( $post_type == 'shop_order' ) {
|
||||
$order = wc_get_order( $post_id );
|
||||
$order_status = $order->get_status();
|
||||
change_attandee_order_status( $post_id, 'publish', 'trash', '' );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
add_action('woocommerce_order_status_changed', 'mep_attendee_status_update', 10, 4);
|
||||
function mep_attendee_status_update($order_id, $from_status, $to_status, $order ){
|
||||
if(mep_check_builder_status()){
|
||||
global $wpdb,$wotm;
|
||||
// Getting an instance of the order object
|
||||
$order = wc_get_order( $order_id );
|
||||
$order_meta = get_post_meta($order_id);
|
||||
$email = isset($order_meta['_billing_email'][0]) ? $order_meta['_billing_email'][0] : array();
|
||||
|
||||
|
||||
|
||||
foreach ( $order->get_items() as $item_id => $item_values ) {
|
||||
$item_id = $item_id;
|
||||
$event_id = mep_event_get_order_meta($item_id,'event_id');
|
||||
|
||||
if (get_post_type($event_id) == 'mep_events') {
|
||||
|
||||
|
||||
if($order->has_status( 'processing' ) ) {
|
||||
change_attandee_order_status($order_id,'publish','trash','processing');
|
||||
change_attandee_order_status($order_id,'publish','publish','processing');
|
||||
}
|
||||
if($order->has_status( 'pending' )) {
|
||||
change_attandee_order_status($order_id,'publish','trash','pending');
|
||||
change_attandee_order_status($order_id,'publish','publish','pending');
|
||||
}
|
||||
if($order->has_status( 'on-hold' )) {
|
||||
change_attandee_order_status($order_id,'publish','trash','on-hold');
|
||||
change_attandee_order_status($order_id,'publish','publish','on-hold');
|
||||
}
|
||||
if($order->has_status( 'completed' ) ) {
|
||||
mep_event_confirmation_email_sent($event_id,$email);
|
||||
change_attandee_order_status($order_id,'publish','trash','completed');
|
||||
change_attandee_order_status($order_id,'publish','publish','completed');
|
||||
}
|
||||
if($order->has_status( 'cancelled' ) ) {
|
||||
change_attandee_order_status($order_id,'trash','publish','cancelled');
|
||||
}
|
||||
if($order->has_status( 'refunded' ) ) {
|
||||
change_attandee_order_status($order_id,'trash','publish','refunded');
|
||||
}
|
||||
if($order->has_status( 'failed' ) ) {
|
||||
change_attandee_order_status($order_id,'trash','publish','failed');
|
||||
}
|
||||
} // End of Post Type Check
|
||||
} // End order item foreach
|
||||
} // End builder version check
|
||||
} // End Function
|
||||
|
||||
|
||||
// add_action('woocommerce_order_status_changed', 'your_function', 10, 4);
|
||||
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;
|
||||
|
@ -379,17 +646,12 @@ if($order->has_status( 'cancelled' ) || $order->has_status( 'refunded' ) || $ord
|
|||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
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);
|
||||
mep_event_confirmation_email_sent($event_id,$email);
|
||||
// mep_event_confirmation_email_sent($event_id,$email);
|
||||
if($ordr_total==0){
|
||||
update_post_meta( $event_id, 'total_booking', ($mep_total_booking+$item_quantity));
|
||||
}
|
||||
|
@ -493,14 +755,6 @@ function mep_attendee_filter_query($query) {
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Add the data to the custom columns for the book post type:
|
||||
add_action( 'manage_mep_events_posts_custom_column' , 'mep_custom_event_column', 10, 2 );
|
||||
function mep_custom_event_column( $column, $post_id ) {
|
||||
|
@ -562,6 +816,7 @@ function mep_event_redirect_to_checkout() {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
add_action('init','mep_include_template_parts');
|
||||
function mep_include_template_parts(){
|
||||
$template_name = 'templating.php';
|
||||
|
@ -666,12 +921,7 @@ function mep_add_to_google_calender_link($pid){
|
|||
$event_end = $event_meta['mep_event_end_date'][0];
|
||||
|
||||
$location = $event_meta['mep_location_venue'][0]." ".$event_meta['mep_street'][0]." ".$event_meta['mep_city'][0]." ".$event_meta['mep_state'][0]." ".$event_meta['mep_postcode'][0]." ".$event_meta['mep_country'][0];
|
||||
|
||||
|
||||
ob_start();
|
||||
|
||||
|
||||
|
||||
ob_start();
|
||||
?>
|
||||
|
||||
<div id="mep_add_calender_button" class='mep-add-calender'><i class="fa fa-calendar"></i><?php _e(mep_get_label($pid,'mep_calender_btn_text','Add Calendar'),'mage-eventpress'); ?></div>
|
||||
|
@ -1046,37 +1296,11 @@ $org_id = $org_arr[0]->term_id;
|
|||
|
||||
|
||||
function mep_get_total_available_seat($event_id, $event_meta){
|
||||
$book_count = get_post_meta(get_the_id(),'total_booking', true);
|
||||
if($book_count){ $total_book = $book_count; }else{ $total_book = 0; }
|
||||
$simple_rsv = $event_meta['mep_rsv_seat'][0];
|
||||
if($simple_rsv){
|
||||
$simple_rsv = $simple_rsv;
|
||||
}else{
|
||||
$simple_rsv = 0;
|
||||
}
|
||||
$total_book = ($total_book + $simple_rsv);
|
||||
$mep_event_ticket_type = get_post_meta(get_the_id(), 'mep_event_ticket_type', true);
|
||||
if($mep_event_ticket_type){
|
||||
$stc = 0;
|
||||
$leftt = 0;
|
||||
$res = 0;
|
||||
foreach ( $mep_event_ticket_type as $field ) {
|
||||
$qm = $field['option_name_t'];
|
||||
$tesqn = get_the_id().str_replace(' ', '', $qm);
|
||||
$tesq = get_post_meta(get_the_id(),"mep_xtra_$tesqn",true);
|
||||
$opt_qty = isset($field['option_qty_t']) ? $field['option_qty_t'] : 0;
|
||||
$opt_rst_qty = isset($field['option_rsv_t']) ? $field['option_rsv_t'] : 0;
|
||||
$stc = $stc+$opt_qty;
|
||||
$res = $res + (int)$opt_rst_qty;
|
||||
$res = (int)$res;
|
||||
$llft = ($opt_qty - (int)$tesq);
|
||||
$leftt = ($leftt+$llft);
|
||||
}
|
||||
$leftt = $leftt-$res;
|
||||
}else{
|
||||
$leftt = (int) $event_meta['mep_total_seat'][0]- (int) $total_book;
|
||||
}
|
||||
return $leftt;
|
||||
$total_seat = mep_event_total_seat($event_id,'total');
|
||||
$total_resv = mep_event_total_seat($event_id,'resv');
|
||||
$total_sold = mep_ticket_sold($event_id);
|
||||
$total_left = $total_seat - ($total_sold + $total_resv);
|
||||
return $total_left;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1155,7 +1379,6 @@ if($item_name=='mep_location_venue'){
|
|||
return null;
|
||||
}
|
||||
|
||||
|
||||
if($item_name=='mep_location_venue'){
|
||||
if($location_sts){
|
||||
$org_arr = get_the_terms( $event_id, 'mep_org' );
|
||||
|
@ -1398,48 +1621,13 @@ function mep_wc_price( $price, $args = array() ) {
|
|||
|
||||
|
||||
function mep_get_event_total_seat($event_id){
|
||||
$event_meta = get_post_custom($event_id);
|
||||
$book_count = get_post_meta($event_id,'total_booking', true);
|
||||
if($book_count){ $total_book = $book_count; }else{ $total_book = 0; }
|
||||
if(array_key_exists('mep_rsv_seat', $event_meta)){
|
||||
$simple_rsv = $event_meta['mep_rsv_seat'][0];
|
||||
}else{
|
||||
$simple_rsv = '';
|
||||
}
|
||||
if($simple_rsv){
|
||||
$simple_rsv = $simple_rsv;
|
||||
}else{
|
||||
$simple_rsv = 0;
|
||||
}
|
||||
$total_book = ($total_book + $simple_rsv);
|
||||
$mep_event_ticket_type = get_post_meta($event_id, 'mep_event_ticket_type', true);
|
||||
|
||||
if($mep_event_ticket_type){
|
||||
$stc = 0;
|
||||
$leftt = 0;
|
||||
$res = 0;
|
||||
foreach ( $mep_event_ticket_type as $field ) {
|
||||
$qm = $field['option_name_t'];
|
||||
$tesqn = $event_id.str_replace(' ', '', $qm);
|
||||
$tesq = get_post_meta($event_id,"mep_xtra_$tesqn",true);
|
||||
$opt_qty = isset($field['option_qty_t']) ? $field['option_qty_t'] : 0;
|
||||
$opt_rst_qty = isset($field['option_rsv_t']) ? $field['option_rsv_t'] : 0;
|
||||
$stc = $stc+$opt_qty;
|
||||
$res = $res + (int)$opt_rst_qty;
|
||||
$res = (int)$res;
|
||||
$llft = ($opt_qty - (int)$tesq);
|
||||
$leftt = ($leftt+$llft);
|
||||
}
|
||||
$leftt = $leftt-$res;
|
||||
$total_seat = mep_event_total_seat($event_id,'total');
|
||||
$total_resv = mep_event_total_seat($event_id,'resv');
|
||||
$total_sold = mep_ticket_sold($event_id);
|
||||
$total_left = $total_seat - ($total_sold + $total_resv);
|
||||
?>
|
||||
<span style="background: #dc3232;color: #fff;padding: 5px 10px;"> <?php echo $leftt; ?>/<?php echo $stc; ?> </span>
|
||||
<span style="background: #dc3232;color: #fff;padding: 5px 10px;"> <?php echo $total_left; ?>/<?php echo $total_seat; ?> </span>
|
||||
<?php
|
||||
|
||||
}else{
|
||||
if(isset($event_meta['mep_total_seat'][0])){ ?>
|
||||
<span style="background: #dc3232;color: #fff;padding: 5px 10px;"> <?php echo ($event_meta['mep_total_seat'][0]- $total_book); ?>/<?php echo $event_meta['mep_total_seat'][0]; ?></span>
|
||||
<?php }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -1473,7 +1661,7 @@ function mep_reset_event_booking($event_id){
|
|||
$loop = new WP_Query($args_search_qqq);
|
||||
while ($loop->have_posts()) {
|
||||
$loop->the_post();
|
||||
$post_id = get_the_id(); // change this to your post ID
|
||||
$post_id = get_the_id();
|
||||
$status = 'trash';
|
||||
$current_post = get_post( $post_id, 'ARRAY_A' );
|
||||
$current_post['post_status'] = $status;
|
||||
|
@ -1520,6 +1708,96 @@ function mep_get_term_as_class($post_id,$taxonomy){
|
|||
}
|
||||
|
||||
|
||||
function mep_ticket_type_sold($event_id,$type){
|
||||
|
||||
$args = array(
|
||||
'post_type' => 'mep_events_attendees',
|
||||
'posts_per_page' => -1,
|
||||
|
||||
'meta_query' => array(
|
||||
'relation' => 'AND',
|
||||
array(
|
||||
'relation' => 'AND',
|
||||
array(
|
||||
'key' => 'ea_event_id',
|
||||
'value' => $event_id,
|
||||
'compare' => '='
|
||||
),
|
||||
array(
|
||||
'key' => 'ea_ticket_type',
|
||||
'value' => $type,
|
||||
'compare' => '='
|
||||
)
|
||||
),array(
|
||||
'relation' => 'OR',
|
||||
array(
|
||||
'key' => 'ea_order_status',
|
||||
'value' => 'processing',
|
||||
'compare' => '='
|
||||
),
|
||||
array(
|
||||
'key' => 'ea_order_status',
|
||||
'value' => 'completed',
|
||||
'compare' => '='
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
$loop = new WP_Query($args);
|
||||
return $loop->post_count;
|
||||
}
|
||||
|
||||
|
||||
function mep_ticket_sold($event_id){
|
||||
|
||||
$args = array(
|
||||
'post_type' => 'mep_events_attendees',
|
||||
'posts_per_page' => -1,
|
||||
|
||||
'meta_query' => array(
|
||||
'relation' => 'AND',
|
||||
array(
|
||||
'relation' => 'AND',
|
||||
array(
|
||||
'key' => 'ea_event_id',
|
||||
'value' => $event_id,
|
||||
'compare' => '='
|
||||
)
|
||||
),array(
|
||||
'relation' => 'OR',
|
||||
array(
|
||||
'key' => 'ea_order_status',
|
||||
'value' => 'processing',
|
||||
'compare' => '='
|
||||
),
|
||||
array(
|
||||
'key' => 'ea_order_status',
|
||||
'value' => 'completed',
|
||||
'compare' => '='
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
$loop = new WP_Query($args);
|
||||
return $loop->post_count;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function mep_event_total_seat($event_id,$type){
|
||||
$mep_event_ticket_type = get_post_meta($event_id, 'mep_event_ticket_type', true);
|
||||
// print_r($mep_event_ticket_type);
|
||||
$total = 0;
|
||||
foreach ( $mep_event_ticket_type as $field ) {
|
||||
if($type == 'total'){
|
||||
$total_name = (int) $field['option_qty_t'];
|
||||
}elseif($type == 'resv'){
|
||||
$total_name = (int) $field['option_rsv_t'];
|
||||
}
|
||||
$total = $total_name + $total;
|
||||
}
|
||||
return $total;
|
||||
}
|
||||
|
||||
}else{
|
||||
function mep_admin_notice_wc_not_active() {
|
||||
|
|
Loading…
Reference in New Issue