コード例 #1
0
function ok_to_show_qty_dd($price_key = null, $qty = 0)
{
    if (is_null($price_key)) {
        return false;
    }
    global $event_details;
    $r = array('ok' => 1, 'msg' => epl__('-'));
    $price_start_date = epl_get_element($price_key, $event_details['_epl_price_date_from']);
    if ($price_start_date) {
        $diff = epl_timespan(EPL_TIME, strtotime("00:00:00", epl_get_date_timestamp($price_start_date)));
        $diff['_date'] = $price_start_date;
        //epl_log( "debug", "<pre>" . print_r($diff, true ) . "</pre>" );
        $r['msg'] = epl__('Available on') . ' ' . epl_formatted_date($price_start_date);
        if ($diff['past'] == 0) {
            $r['ok'] = 0;
        }
    }
    $price_end_date = epl_get_element($price_key, $event_details['_epl_price_date_to']);
    if ($r['ok'] == 1 && $price_end_date) {
        $diff = epl_timespan(EPL_TIME, strtotime("23:59:59", epl_get_date_timestamp($price_end_date)));
        $diff['_date'] = $price_end_date;
        $r['ok'] = 0;
        $r['msg'] = epl_formatted_date($price_end_date) . ' ' . epl__('Ended');
        if ($diff['past'] == 0) {
            $r['ok'] = 1;
            $r['msg'] = epl_display_date_diff($diff);
        }
        if ($qty > 0) {
            $r['ok'] = 1;
        }
    }
    //epl_log( "debug", "<pre>" . print_r( $diff, true ) . "</pre>" );
    return $r;
}
コード例 #2
0
 function regis_list_page()
 {
     global $wpdb, $event_details, $regis_details;
     global $event_details;
     $this->eum = $this->epl->load_model('epl-user-model');
     $this->epl->load_model('epl-report-model');
     $data['user_bookings'] = $this->eum->user_bookings($args);
     $data['content'] = $this->epl->load_view('user-regis-manager/user-bookings', $data, true);
     $this->epl->load_view('admin/user-regis-manager/admin-urm-page', $data);
     return null;
     $registrations = $wpdb->get_results("\n                SELECT umeta_id,user_id,meta_key,meta_value\n                FROM {$wpdb->usermeta}\n                WHERE meta_key like '_epl_regis_post_id%'\n\t\tAND user_id = {$this->user_id}");
     $r = array();
     $this->erm->dest = 'admin';
     $this->erm->on_admin = true;
     $this->erm->set_mode('overview');
     $data['registrations'] = '';
     foreach ($registrations as $registration) {
         $r_id = str_replace('_epl_regis_post_id_', '', $registration->meta_key);
         //$this->ecm->get_registration_details($r_id);
         $regis_data = $this->ecm->setup_regis_details($r_id, true);
         if ($regis_data['post_status'] != 'publish') {
             continue;
         }
         $d = epl_get_element('__epl', $regis_data);
         $data['regis_post_id'] = $r_id;
         $data['regis_id'] = esc_attr($regis_data['post_title']);
         $data['regis_date'] = epl_formatted_date($regis_data['post_title']);
         $data['regis_status'] = get_the_regis_status();
         foreach ($d as $k => $v) {
             $_regis_id = $d['_regis_id'];
             $_events = $d[$_regis_id]['_events'];
             $_dates = $d[$_regis_id]['_dates']['_epl_start_date'];
             $event_id = key($_events);
             $this->ecm->setup_event_details($event_id);
             $data['event_title'] = esc_attr($event_details['post_title']);
             $data['regis_dates'] = array_intersect_key($event_details['_epl_start_date'], array_flip($_dates[$event_id]));
             $data['list'] = $this->epl->load_view('admin/user-regis-manager/user-regis-dates', $data, true);
         }
         $this->erm->setup_current_data($regis_data);
         $data['regis_form'] = $this->erm->regis_form(null);
         $data['registrations'] .= $this->epl->load_view('admin/user-regis-manager/user-regis-list-page', $data, true);
     }
     return $this->epl->load_view('admin/user-regis-manager/user-regis-list-page-wrapper', $data, true);
 }
コード例 #3
0
            <thead>
                <tr>
                    <th></th>
                    <th></th>
                    <th><?php 
    echo epl_e('Available Spaces');
    ?>
</th>
                </tr>
            </thead>


            <?php 
}
foreach ($table_data as $date_id => $data) {
    $date = '<span itemprop="startDate" content="' . epl_formatted_date($data['date']['disp'], 'Y-m-d') . '">' . $data['date']['disp'] . '</span>';
    $times = $data['time'];
    $_note = epl_get_element_m($date_id, '_epl_date_note', $event_details);
    $_location = '';
    if (epl_get_element($date_id, epl_get_element('_epl_date_location', $event_details))) {
        $_location_id = epl_get_element($date_id, $event_details['_epl_date_location']);
        $l = the_location_details($_location_id);
        //sets up the location info
        $_location = $l['post_title'];
    }
    ?>

            <tr class="epl_date">
                <td><?php 
    echo $date . epl_prefix(' - ', $_note) . epl_prefix(' - ', $_location);
    ?>
コード例 #4
0
        <?php 
foreach ($dates as $date_id => $date) {
    $date_capacity = epl_get_element_m($date_id, '_epl_date_capacity', $event_details);
    foreach ($times as $time_id => $time) {
        if (epl_is_date_level_time() && $date_specifc_time && (!isset($date_specifc_time[$time_id]) || !isset($date_specifc_time[$time_id][$date_id]))) {
            continue;
        }
        $time_capacity = epl_get_element_m($time_id, '_epl_time_capacity', $event_details);
        $capacity = $time_capacity ? $time_capacity : ($date_capacity ? $date_capacity : epl_get_element_m($date_id, '_epl_date_per_time_capacity', $event_details, '&#8734;'));
        $num_regis = epl_get_element("_total_att_{$event_id}_time_{$date_id}_{$time_id}", $counts, 0);
        $links = '';
        if ($num_regis > 0) {
            $dt_array = array('date_id' => $date_id, 'time_id' => $time_id);
            $table_link_arr = array_merge($table_link_arr, $dt_array);
            $csv_link_arr += $dt_array;
            $send_email_arr = array('epl_action' => 'get_the_email_form', 'epl_controller' => 'epl_registration', 'event_id' => $event_id, 'post_type' => false);
            $links = epl_anchor(add_query_arg(array_merge($table_link_arr, $dt_array) + array('names_only' => 1), $base_url), epl__('View Attendees'), null, 'class="epl_view_attendee_list_table button-secondary"');
            // $table_link_arr['epl_action'] = 'epl_attendee_list';
            // $table_link_arr['epl_controller'] = 'epl_registration';
            $links .= epl_anchor(add_query_arg($table_link_arr, $base_url), epl__('View Full Data'), null, 'class="epl_view_attendee_list_table button-secondary"');
            $links .= epl_anchor(add_query_arg(array_merge($csv_link_arr, $dt_array), $base_url), epl__('Export CSV'), null, 'class="button-secondary"');
            $links .= epl_anchor(add_query_arg($send_email_arr + $dt_array, $base_url), epl__('Send Email'), null, "class='epl_send_email_form_link button-secondary' data-post_ID='{$post_ID}' data-event_id='{$event_id}'");
        }
        $row = array(epl_formatted_date($date, 'D'), epl_formatted_date($date), epl_is_time_optonal() ? epl__('All Day') : $time . ' - ' . $event_details['_epl_end_time'][$time_id], epl_get_regis_status($date_id), $num_regis . '/' . $capacity, $links);
        echo '<tr><td>' . implode('</td><td>', $row) . "</td><tr>";
    }
}
?>
    </tbody>
</table>
コード例 #5
0
 function _exp_checkout_do_payment()
 {
     global $event_details, $cart_totals;
     $event_id = $event_details['ID'];
     if (is_null($event_id)) {
         //return false;
     }
     $regis_id = $this->erm->get_regis_id();
     $post_ID = $this->erm->get_regis_post_id();
     $this->ecm->setup_event_details($event_id);
     $line_item_surcharge = false;
     $line_item_surcharge = apply_filters('egm__pp_exp__line_item_surcharge', $line_item_surcharge);
     $_totals = $this->erm->calculate_cart_totals();
     $amount = $cart_totals['money_totals']['grand_total'];
     $amount = epl_get_balance_due();
     $tax = epl_get_element_m('surcharge', 'money_totals', $cart_totals, 0);
     $subtotal = epl_get_element_m('subtotal', 'money_totals', $cart_totals, 0);
     $num_days_in_cart = array();
     $price_multiplier = array();
     $price_multiplier_label = array();
     $discount_amount = number_format(epl_get_element('discount_amount', $cart_totals['money_totals'], 0), 2, ".", "");
     //$subtotal = $discount_amount > 0 ? number_format( $subtotal - $discount_amount, 2 ) : $subtotal;
     $this->epl->load_file('libraries/gateways/paypal/paypal.php');
     $paypal = new EPL_Paypal();
     $gateway_info = $this->erm->get_gateway_info();
     $paypal->_credentials = array('USER' => $gateway_info['_epl_pp_exp_user'], 'PWD' => $gateway_info['_epl_pp_exp_pwd'], 'SIGNATURE' => $gateway_info['_epl_pp_exp_sig']);
     $requestParams = array('TOKEN' => $_GET['token'], 'PAYMENTACTION' => 'Sale', 'PAYERID' => $_GET['PayerID']);
     $orderParams = array('PAYMENTREQUEST_0_AMT' => $amount, 'PAYMENTREQUEST_0_ITEMAMT' => $amount - $tax, 'PAYMENTREQUEST_0_CURRENCYCODE' => epl_nz(epl_get_general_setting('epl_currency_code'), 'USD'), 'PAYMENTREQUEST_0_TAXAMT' => $line_item_surcharge === false ? $tax : 0);
     $counter = 0;
     $tickets = $_SESSION['__epl'][$regis_id]['_dates']['_att_quantity'];
     $dates = isset($_SESSION['__epl'][$regis_id]['_dates']['_epl_start_date']) ? $_SESSION['__epl'][$regis_id]['_dates']['_epl_start_date'] : array();
     $events = $_SESSION['__epl'][$regis_id]['_events'];
     $parallel_pay = epl_get_regis_setting('_epl_enable_PP_parallel_pay') == 10 && !epl_is_empty_array(epl_get_element('_epl_price_parallel_pay_email', $event_details, array()));
     $pp_email = epl_get_element('_epl_pp_exp_email', $gateway_info);
     if ($parallel_pay) {
         $orderParams = array();
         foreach ($tickets as $event_id => $ind_tickets) {
             $this->ecm->setup_event_details($event_id);
             foreach ($ind_tickets as $ticket_id => $ticket_qty) {
                 $ticket_name = epl_get_element($ticket_id, $event_details['_epl_price_name']);
                 $ticket_price = epl_get_element($ticket_id, $event_details['_epl_price']);
                 if (epl_is_eligible_for_member_price($ticket_id)) {
                     $ticket_price = epl_get_element_m($ticket_id, '_epl_member_price', $event_details, $ticket_price);
                 }
                 $qty = is_array($ticket_qty) ? array_sum($ticket_qty) : $ticket_qty;
                 if ($qty > 0) {
                     $orderParams['PAYMENTREQUEST_' . $counter . '_AMT'] = $ticket_price;
                     $orderParams['PAYMENTREQUEST_' . $counter . '_SELLERPAYPALACCOUNTID'] = epl_get_element_m($ticket_id, '_epl_price_parallel_pay_email', $event_details, $pp_email);
                     $orderParams['PAYMENTREQUEST_' . $counter . '_SHIPPINGAMT'] = 0;
                     $orderParams['PAYMENTREQUEST_' . $counter . '_CURRENCYCODE'] = epl_nz(epl_get_general_setting('epl_currency_code'), 'USD');
                     $orderParams['PAYMENTREQUEST_' . $counter . '_ITEMAMT'] = $ticket_price;
                     $orderParams['PAYMENTREQUEST_' . $counter . '_TAXAMT'] = 0;
                     $orderParams['PAYMENTREQUEST_' . $counter . '_DESC'] = substr($ticket_name, 0, 126);
                     $orderParams['PAYMENTREQUEST_' . $counter . '_PAYMENTREQUESTID'] = $post_ID . '-' . $counter;
                     $counter++;
                 }
             }
         }
     }
     $counter = 0;
     $item = array();
     foreach ($tickets as $event_id => $ind_tickets) {
         $this->ecm->setup_event_details($event_id);
         $num_days_in_cart[$event_id] = count(epl_get_element($event_id, $dates, array()));
         $price_multiplier[$event_id] = $event_details['_epl_price_per'] == 10 && !epl_is_date_level_price() ? $num_days_in_cart[$event_id] : 1;
         $price_multiplier_label[$event_id] = $price_multiplier[$event_id] > 1 ? ' - ' . $num_days_in_cart[$event_id] . ' ' . epl__('days') : '';
         foreach ($ind_tickets as $ticket_id => $ticket_qty) {
             $ticket_name = epl_get_element($ticket_id, $event_details['_epl_price_name']);
             $ticket_price = epl_get_element($ticket_id, $event_details['_epl_price']);
             if (epl_is_eligible_for_member_price($ticket_id)) {
                 $ticket_price = epl_get_element_m($ticket_id, '_epl_member_price', $event_details, $ticket_price);
             }
             $qty = is_array($ticket_qty) ? array_sum($ticket_qty) : $ticket_qty;
             if ($qty > 0) {
                 $item['L_PAYMENTREQUEST_0_NAME' . $counter] = substr($event_details['post_title'], 0, 126);
                 $item['L_PAYMENTREQUEST_0_DESC' . $counter] = $ticket_name . $price_multiplier_label[$event_id];
                 //$item['L_PAYMENTREQUEST_0_NUMBER' . $counter] = $ticket_id;
                 $item['L_PAYMENTREQUEST_0_AMT' . $counter] = $ticket_price;
                 $item['L_PAYMENTREQUEST_0_QTY' . $counter] = $qty * $price_multiplier[$event_id];
                 $counter++;
             }
         }
     }
     if ($parallel_pay) {
         $item = array();
         $counter = 0;
         $ticket_counter = 0;
         //this will be incremented if we do line item per ticket qty
         foreach ($tickets as $event_id => $ind_tickets) {
             $this->ecm->setup_event_details($event_id);
             foreach ($ind_tickets as $ticket_id => $ticket_qty) {
                 $ticket_name = epl_get_element($ticket_id, $event_details['_epl_price_name']);
                 $ticket_price = epl_get_element($ticket_id, $event_details['_epl_price']);
                 if (epl_is_eligible_for_member_price($ticket_id)) {
                     $ticket_price = epl_get_element_m($ticket_id, '_epl_member_price', $event_details, $ticket_price);
                 }
                 $qty = is_array($ticket_qty) ? array_sum($ticket_qty) : $ticket_qty;
                 if ($qty > 0) {
                     $item['L_PAYMENTREQUEST_' . $counter . '_NAME' . $ticket_counter] = substr($event_details['post_title'], 0, 126);
                     $item['L_PAYMENTREQUEST_' . $counter . '_DESC' . $ticket_counter] = $ticket_name . $price_multiplier_label[$event_id];
                     //$item['L_PAYMENTREQUEST_0_NUMBER' . $counter] = $ticket_id;
                     $item['L_PAYMENTREQUEST_' . $counter . '_AMT' . $ticket_counter] = $ticket_price;
                     $item['L_PAYMENTREQUEST_' . $counter . '_QTY' . $ticket_counter] = $qty * $price_multiplier[$event_id];
                     $counter++;
                 }
             }
         }
     }
     if (!$parallel_pay) {
         if ($tax > 0 && $line_item_surcharge !== false) {
             //$discount_description = epl_get_element( 'discount_description', $cart_totals['money_totals'], null );
             foreach ($_SESSION['__epl'][$regis_id]['_events'] as $event_id => $event_totals) {
                 $sc = epl_get_element_m('surcharge', 'money_totals', $event_totals, 0);
                 if ($sc == 0) {
                     continue;
                 }
                 $this->ecm->setup_event_details($event_id);
                 $surcharge_label = epl_get_element('_epl_surcharge_label', $event_details, epl__('Surcharge'));
                 $item['L_PAYMENTREQUEST_0_NAME' . $counter] = $surcharge_label;
                 //$item['L_PAYMENTREQUEST_0_DESC' . $counter] = $discount_description;
                 //$item['L_PAYMENTREQUEST_0_NUMBER' . $counter] = $ticket_id;
                 $item['L_PAYMENTREQUEST_0_AMT' . $counter] = $sc;
                 $item['L_PAYMENTREQUEST_0_QTY' . $counter] = 1;
                 $requestParams['PAYMENTREQUEST_0_ITEMAMT'] += $sc;
                 $counter++;
             }
         }
         if ($discount_amount > 0) {
             $discount_description = epl_get_element('discount_description', $cart_totals['money_totals'], null);
             $discount_description = substr($discount_description, 0, 126);
             $item['L_PAYMENTREQUEST_0_NAME' . $counter] = $discount_description;
             //$item['L_PAYMENTREQUEST_0_DESC' . $counter] = $discount_description;
             //$item['L_PAYMENTREQUEST_0_NUMBER' . $counter] = $ticket_id;
             $item['L_PAYMENTREQUEST_0_AMT' . $counter] = -1 * $discount_amount;
             $item['L_PAYMENTREQUEST_0_QTY' . $counter] = 1;
         }
         $alt_total_due = epl_get_element_m('pay_deposit', 'money_totals', $cart_totals) == 1;
         if ($alt_total_due > 0) {
             $counter++;
             $balance_due_desc = epl__('Deposit Offset.  Due at a later date.');
             $balance_due_desc = substr($balance_due_desc, 0, 126);
             $balance_offset = get_the_regis_total_amount(false) - $amount;
             $item['L_PAYMENTREQUEST_0_NAME' . $counter] = $balance_due_desc;
             //$item['L_PAYMENTREQUEST_0_DESC' . $counter] = $discount_description;
             //$item['L_PAYMENTREQUEST_0_NUMBER' . $counter] = $ticket_id;
             $item['L_PAYMENTREQUEST_0_AMT' . $counter] = -1 * $balance_offset;
             $item['L_PAYMENTREQUEST_0_QTY' . $counter] = 1;
         }
         $payment_data = epl_get_regis_payments();
         if (!empty($payment_data)) {
             if (count($payment_data) > 0) {
                 foreach ($payment_data as $time => $p) {
                     $counter++;
                     $payment_made_description = epl__('Offset for payment made on: ') . epl_formatted_date($p['_epl_payment_date']);
                     $payment_made_description = substr($payment_made_description, 0, 126);
                     $item['L_PAYMENTREQUEST_0_NAME' . $counter] = $payment_made_description;
                     //$item['L_PAYMENTREQUEST_0_DESC' . $counter] = $discount_description;
                     //$item['L_PAYMENTREQUEST_0_NUMBER' . $counter] = $ticket_id;
                     $item['L_PAYMENTREQUEST_0_AMT' . $counter] = -1 * $p['_epl_payment_amount'];
                     $item['L_PAYMENTREQUEST_0_QTY' . $counter] = 1;
                 }
             }
         }
         if (($donation_amount = epl_get_element_m('donation_amount', 'money_totals', $cart_totals, 0)) > 0) {
             $counter++;
             $item['L_PAYMENTREQUEST_0_NAME' . $counter] = epl__('Donation');
             $item['L_PAYMENTREQUEST_0_AMT' . $counter] = $donation_amount;
             $item['L_PAYMENTREQUEST_0_QTY' . $counter] = 1;
         }
         if (($original_total = epl_get_element_m('original_total', 'money_totals', $cart_totals, 0)) > 0) {
             $counter++;
             $item['L_PAYMENTREQUEST_0_NAME' . $counter] = epl__('Offset');
             $item['L_PAYMENTREQUEST_0_AMT' . $counter] = -1 * ($original_total - $orderParams['PAYMENTREQUEST_0_AMT']);
             $item['L_PAYMENTREQUEST_0_QTY' . $counter] = 1;
         }
     }
     $request = $requestParams + $item + $orderParams;
     $request = apply_filters('epl_express_checkout_do_payment_request_params', $request);
     $response = $paypal->request('DoExpressCheckoutPayment', $request);
     if (is_array($response) && $response['ACK'] == 'Success') {
         $payment_amount = $response['PAYMENTINFO_0_AMT'];
         $counter = 0;
         if ($parallel_pay) {
             $payment_amount = 0;
             foreach ($tickets as $event_id => $ind_tickets) {
                 $this->ecm->setup_event_details($event_id);
                 foreach ($ind_tickets as $ticket_id => $ticket_qty) {
                     $qty = is_array($ticket_qty) ? array_sum($ticket_qty) : $ticket_qty;
                     if ($qty > 0) {
                         $payment_amount += epl_get_element('PAYMENTINFO_' . $counter . '_AMT', $response, 0);
                         $counter++;
                     }
                 }
             }
         }
         $data['post_ID'] = $post_ID;
         $data['_epl_grand_total'] = $cart_totals['money_totals']['grand_total'];
         $data['_epl_payment_amount'] = $payment_amount;
         $data['_epl_payment_date'] = current_time('mysql');
         $data['_epl_payment_method'] = $this->erm->get_payment_profile_id();
         $data['_epl_transaction_id'] = $response['PAYMENTINFO_0_TRANSACTIONID'];
         $data['_epl_prediscount_total'] = epl_get_element('pre_discount_total', $cart_totals['money_totals'], 0);
         $data['_epl_discount_amount'] = epl_get_element('discount_amount', $cart_totals['money_totals'], 0);
         $data = apply_filters('epl_pp_exp_response_data', $data, $response);
         $this->erm->update_payment_data($data);
         return true;
         //echo "DONE";
     } else {
         $error = 'ERROR: ' . $response['L_SHORTMESSAGE0'] . '. ' . $response['L_LONGMESSAGE0'];
         echo EPL_Util::get_instance()->epl_invoke_error(0, $error, false);
     }
     return false;
 }
コード例 #6
0
function epl_admin_date_display($date = null)
{
    if (is_null($date) || $date == '' || !EPL_IS_ADMIN) {
        return $date;
    }
    $_format = epl_nz(epl_get_general_setting('epl_admin_date_format'), 'Y-m-d');
    //check if timestamp, TODO - do we really need to?
    $date = is_numeric($date) && (int) $date == $date ? $date : strtotime(epl_admin_dmy_convert($date));
    return epl_formatted_date($date, $_format);
    //return gmdate( $_format, $date );
}
コード例 #7
0
 $_combned['regis_key'] = epl_anchor(admin_url('post.php?post=' . $row->regis_id . '&action=edit'), $row->regis_key);
 $_combned['regis_date'] = date('m/d/Y', strtotime($row->regis_date));
 $_combned['status'] = get_the_regis_status($row->status);
 $_p['event_name'] = '';
 $_p['ticket'] = '';
 $_p['discount_code'] = $row->discount_code;
 $_p['price'] = $row->grand_total;
 $_p['paid'] = $row->payment_amount == 0 ? 0 : $row->payment_amount > $row->event_total ? $row->event_total : $row->payment_amount;
 $_p['date'] = '';
 $_p['time'] = '';
 $_a['event_name'] = $event_details['post_title'];
 $_a['ticket'] = $event_details['_epl_price_name'][$row->price_id] . ' ' . $row->price;
 $_a['discount_code'] = '';
 $_a['price'] = '';
 $_a['paid'] = '';
 $_a['date'] = epl_formatted_date($event_details['_epl_start_date'][$row->date_id]);
 $_a['time'] = $event_details['_epl_start_time'][$row->time_id];
 if ($tmp_regis_id == '' || $tmp_regis_id != $row->regis_id) {
     $tmp_regis_id = $row->regis_id;
     $new_record = true;
     $ticket_buyer_data = array();
     $form_counter = 0;
     $form_data = $erptm->get_form_data($row->regis_id, $row->event_id, 0);
     if ($form_data) {
         foreach ($form_data as $r) {
             if (strpos($r->field_id, EPL_PLUGIN_DB_DELIM)) {
                 $fields = explode(EPL_PLUGIN_DB_DELIM, $r->field_id);
                 $values = explode(EPL_PLUGIN_DB_DELIM, $r->value);
             } else {
                 $fields = array($r->field_id);
                 $values = array($r->value);
コード例 #8
0
        $total_paid += $regis_details['_epl_payment_amount'];
        foreach ((array) $regis_details['_epl_events'] as $event_id => $totals) {
            setup_event_details($event_id);
            $data['event_name'] = $event_details['post_title'];
            $data['quantity'] = $totals['_att_quantity']['total'][$event_id];
            // echo "<tr><td>{$event_details['post_title']}</td><td class='qty'>{$data['quantity']}</td></tr>";
            $total_att += $totals['_att_quantity']['total'][$event_id];
        }
        ?>

            <tr class="fin <?php 
        echo $zebra;
        ?>
">
                <td><?php 
        echo epl_formatted_date($post->post_date);
        ?>
</td>
                <td><a href="<?php 
        echo admin_url("post.php?post={$post->ID}&action=edit");
        ?>
" target="_blank"><?php 
        the_title();
        ?>
</a></td>

                <td><?php 
        echo epl_get_formatted_curr($regis_details['_epl_grand_total']);
        ?>
</td>
                <td><?php 
コード例 #9
0
 function user_schedule_old()
 {
     global $wpdb, $event_details, $epl_fields;
     if (!is_user_logged_in()) {
         return login_with_ajax();
     }
     $event_type = epl_get_element('_epl_event_type', $event_details);
     $registrations = $this->get_current_registrations($this->user_id);
     $r = array();
     $data['absentees'] = $this->get_user_absentee_data();
     //echo "<pre class='prettyprint'>" . __LINE__ . "> " . print_r($registrations, true). "</pre>";
     foreach ($registrations as $registration) {
         $r_id = str_replace('_epl_regis_post_id_', '', $registration->meta_key);
         $regis_data = $this->ecm->setup_regis_details($r_id);
         if (epl_is_empty_array($regis_data) || !($d = epl_get_element('__epl', $regis_data, false))) {
             continue;
         }
         if ($regis_data['_epl_regis_status'] < 1) {
             continue;
         }
         $data['regis_id'] = esc_attr($regis_data['post_title']);
         $data['regis_date'] = epl_formatted_date($regis_data['post_date']);
         //echo "<pre class='prettyprint'>" . __LINE__ . "> " . print_r( $regis_data, true ) . "</pre>";
         $_regis_id = $d['_regis_id'];
         $_events = $d[$_regis_id]['_events'];
         $_dates = $d[$_regis_id]['_dates']['_epl_start_date'];
         $event_id = key($_events);
         $this->ecm->setup_event_details($event_id);
         $data['event_id'] = $event_id;
         $data['event_title'] = esc_attr($event_details['post_title']);
         $data['event_start_date'] = $event_details['_epl_start_date'];
         $data['event_end_date'] = $event_details['_epl_end_date'];
         $data['class_dates'] = $event_details['_epl_class_session_date'];
         $data['class_start_times'] = $event_details['_epl_class_session_start_time'];
         $class_end_times = $event_details['_epl_class_session_end_time'];
         $class_session_name = $event_details['_epl_class_session_name'];
         $class_session_note = $event_details['_epl_class_session_note'];
         $data['fc_event_dates'] = $this->epl->epl_util->get_sess_days_for_fc();
         $data['class_end_times'] = $class_end_times;
         $data['regis_status'] = get_the_regis_status();
         $data['regis_dates_cal'] = $this->eutil->construct_calendar($this->ercm->make_cal_dates_array($data['class_dates']));
         $data['list'][$_regis_id] = $this->epl->load_view('front/user-regis-manager/user-regis-dates', $data, true);
     }
     return $this->epl->load_view('front/user-regis-manager/user-regis-list-page', $data, true);
 }
コード例 #10
0
         if (isset($current_att_count['_total_att_' . get_the_ID() . "_time_{$date_id}_{$time_id}"])) {
             $num_regis = epl_get_element('_total_att_' . get_the_ID() . "_time_{$date_id}_{$time_id}", $current_att_count, 0);
         }
     }
     if (epl_is_date_level_time() && !epl_is_empty_array($date_specifc_time) && (!isset($date_specifc_time[$time_id]) || !isset($date_specifc_time[$time_id][$date_id]))) {
         continue;
     }
     $weekday_specific = epl_get_element_m($time_id, '_epl_weekday_specific_time', $event_details, array());
     if (!empty($weekday_specific) && !isset($weekday_specific[$weekday])) {
         continue;
     }
     $start_time = strtotime($time, $start_date);
     $signed_in_key = "{$event_id}-{$date_id}-{$start_date}-{$time_id}";
     $signed_in_count = epl_get_element($signed_in_key, $session_signed_in_counts, 0);
     $time_cap = epl_get_element($time_id, $time, '-');
     $display_date = epl_formatted_date($start_date);
     //build the td rows
     $add_regis_link = add_query_arg(array('_date_id' => $date_id, '_time_id' => $time_id, 'event_id' => $event_id), admin_url('post-new.php?post_type=epl_registration'));
     $add_regis_link = '<a href="' . $add_regis_link . '" class="add_att_link" title="+ Att" data-no_action="1" target="_blank">Add Registration</a>';
     $temp_table_row = '<td>' . epl_anchor(admin_url("post.php?post=" . get_the_ID() . "&action=edit"), get_the_title()) . '</td>';
     $temp_table_row .= '<td>' . $display_date . '</td>';
     $temp_table_row .= '<td>' . $time . '-' . $event_details['_epl_end_time'][$time_id] . '</td>';
     $temp_table_row .= "<td class='singed_in_count'>" . $signed_in_count . '</td>';
     $temp_table_row .= '<td>' . $num_regis . '</td>';
     $temp_table_row .= "<td style='text-align:right;'>";
     if ($num_regis > 0) {
         $temp_table_row .= "<a href='' class='sign_in_link' data-event_id='{$event_id}' data-date_id='{$date_id}' data-date_ts='{$start_date}' data-time_id='{$time_id}' data-ongoing='{$ongoing}'>" . epl__('Check In') . "</a>";
     }
     $temp_table_row .= " | {$add_regis_link}</td>";
     echo "<tr>" . $temp_table_row . "</tr>";
 }
コード例 #11
0
function epl_get_regis_status($date_key = null)
{
    global $event_details, $capacity, $current_att_count, $available_space_arr;
    $today = date_i18n('m/d/Y H:i:s', EPL_TIME);
    $regis_start_date = epl_get_date_timestamp(epl_admin_dmy_convert(epl_get_element($date_key, $event_details['_epl_regis_start_date'], $today)));
    $regis_end_date = epl_get_date_timestamp(epl_admin_dmy_convert(epl_get_element($date_key, $event_details['_epl_regis_end_date'], $today)));
    $ok = epl_compare_dates($today, $regis_start_date, ">=");
    if (!$ok) {
        return epl__("Opens on") . ' ' . epl_formatted_date($event_details['_epl_regis_start_date'][$date_key]);
    }
    $ok = epl_compare_dates($today, strtotime('23:59:59', $regis_end_date), "<=");
    if (!$ok) {
        return epl__('Closed');
    }
    return epl__('Open');
}
コード例 #12
0
 function is_code_expired($_code)
 {
     global $event_details;
     $_code_expiration_date = epl_get_element($_code, epl_get_element('_epl_discount_end_date', $this->discount_configs), null);
     if (!$_code_expiration_date) {
         return false;
     }
     $_code_expiration_date = epl_formatted_date($_code_expiration_date, 'Y-m-d', 'date');
     $_expired = epl_compare_dates(EPL_TIME, $_code_expiration_date . ' 23:59:59', ">");
     if ($_expired) {
         return true;
     }
     return false;
 }
コード例 #13
0
 function view_names()
 {
     global $event_details, $wpdb;
     $filters = array('event_id' => $_REQUEST['event_id'], 'date_id' => epl_get_element('date_id', $_REQUEST, null), 'time_id' => epl_get_element('time_id', $_REQUEST, null), 'names_only' => epl_get_element('names_only', $_REQUEST, 0), 'combined' => epl_get_element('combined', $_REQUEST, 0));
     setup_event_details($filters['event_id']);
     $show_second_to_last = apply_filters('epl_erpt__view_names__show_second_to_last', true);
     $data['pack_regis'] = epl_get_element('_epl_pack_regis', $event_details, 0) == 10;
     $data['pack_consecutive'] = epl_get_element('_epl_pack_regis_consecutive', $event_details, 0) == 10;
     $_filter = array();
     $attendance_dates = array();
     //if this is a pack class
     if ($data['pack_regis']) {
         //find all the registrations for this event
         //for each one, find out if package
         //for each one that is pack, find the pack * X days
         //contstruct array
         $event_date_keys = array_keys($event_details['_epl_start_date']);
         $pack_counts = epl_get_element('_epl_price_pack_size', $event_details, array());
         $registrations = $wpdb->get_results("\n                    SELECT rd.* \n                    FROM {$wpdb->epl_regis_data} rd\n                        INNER JOIN {$wpdb->epl_registration} r\n                            ON r.regis_id=rd.regis_id\n                        WHERE 1=1 AND (r.status = 2 OR r.status = 5)\n                        AND event_id = " . intval($event_details['ID']));
         if ($registrations) {
             foreach ($registrations as $regis) {
                 $regis_weekday = date('N', $event_details['_epl_start_date'][$regis->date_id]);
                 if (isset($pack_counts[$regis->price_id])) {
                     $pack_counter = epl_get_element($regis->price_id, $pack_counts, 1);
                     $start = false;
                     foreach ($event_details['_epl_start_date'] as $date_id => $date) {
                         if (!$start && $date_id != $regis->date_id) {
                             continue;
                         }
                         $start = true;
                         $_weekday = date('N', $date);
                         if ($regis_weekday != $_weekday || $pack_counter == 0) {
                             continue;
                         }
                         $pack_counter--;
                         $attendance_dates[$regis->id][$date_id] = $date;
                         $_filter[$regis->id] = $regis->id;
                     }
                     if ($filters['date_id'] && !isset($attendance_dates[$regis->id][$filters['date_id']]) || $filters['time_id'] && $filters['time_id'] != $regis->time_id) {
                         unset($_filter[$regis->id]);
                         unset($attendance_dates[$regis->id]);
                     }
                     //$offset = array_search( $regis->date_id, $event_date_keys );
                     //$attendance_dates[$regis->id] = array_slice( $event_details['_epl_start_date'], $offset, $pack_counts[$regis->price_id] );
                 }
             }
         }
     }
     if (!epl_is_empty_array($_filter)) {
         $_filter = implode(',', $_filter);
         $_filter = " AND rd.id IN ({$_filter})";
     }
     if ($filters['names_only'] == 1) {
         $data['list'] = $this->erptm->attendee_form_data($_filter);
     } else {
         $data['list'] = $this->erptm->get_all_data_2($_filter);
     }
     $data['fields'] = $this->erptm->get_form_fields();
     $data['attendance_dates'] = $attendance_dates;
     $data['event_title'] = $event_details['post_title'];
     $data['event_date'] = isset($_REQUEST['date_id']) ? epl_formatted_date(epl_get_element_m($_REQUEST['date_id'], '_epl_start_date', $event_details), "D, M j") : '';
     $data['event_time'] = isset($_REQUEST['time_id']) ? epl_get_element_m($_REQUEST['time_id'], '_epl_start_time', $event_details) : '';
     $url = admin_url("edit.php?post_type=epl_event&epl_action=view_names&table_view=1&epl_controller=epl_report_manager&print=1");
     $url = add_query_arg($filters, $url);
     $data['print_icon'] = !isset($_REQUEST['print']) ? '<div><a href="' . $url . '" target="_blank"><img src="' . EPL_FULL_URL . 'images/printer.png" /></a></div>' : '';
     $data['filters'] = $filters;
     if ($filters['names_only'] == 1) {
         $r = $this->epl->load_view('admin/reports/view-names', $data, true);
     } elseif ($filters['combined'] == 1) {
         $r = $this->epl->load_view('admin/reports/view-full-combined', $data, true);
     } else {
         $r = $this->epl->load_view('admin/reports/view-full-data', $data, true);
     }
     if ($GLOBALS['epl_ajax']) {
         return $r;
     }
     if (isset($_REQUEST['print'])) {
         $data['content'] = $r;
         $this->epl->load_view('admin/template', $data);
         return;
     }
     echo $r;
 }
コード例 #14
0
<?php 
global $wpdb;
$s_key = epl_get_element('s_key', $_REQUEST);
foreach ($r['tickets'] as $ticket_id => $ticket_data) {
    $c_key = $s_key . '|' . $r['regis_post_id'] . '-' . $ticket_id;
    $q_c_key = '|' . $r['regis_post_id'] . '-' . $ticket_id;
    $num_used = $wpdb->get_row("SELECT count(*) as cnt_used FROM {$wpdb->usermeta} WHERE meta_key like '%{$q_c_key}%' AND user_id = {$r['regis_user_id']}");
    ?>
    <tr>
        <td>
            <?php 
    echo $r['regis_id'];
    ?>
<br />
            <small><?php 
    echo epl_formatted_date($r['regis_date']);
    ?>
</small>
        </td>
        <td><?php 
    echo $r['regis_status'];
    ?>
</td>
        <td><?php 
    echo $r['first_name'];
    ?>
</td>
        <td><?php 
    echo $r['last_name'];
    ?>
</td>
コード例 #15
0
    $session_time_id = $time_optional ? epl_get_element('time_id', $_POST, '') : $row->time_id;
    if ($tmp_regis_id == '' || $tmp_regis_id != $row->regis_id) {
        $tmp_regis_id = $row->regis_id;
        $new_record = true;
        $ticket_buyer_data = array();
        $form_counter = 0;
        if ($has_att_forms) {
            $form_counter++;
        }
    }
    if (!is_null($row->form_no)) {
        $form_counter = $row->form_no;
    }
    $_r = array();
    $_r['regis_id'] = epl_anchor(admin_url('post.php?post=' . $row->regis_id . '&action=edit'), $row->regis_key);
    $_r['date_added'] = epl_formatted_date($row->checkin_time, 'Y-m-d H:i');
    $_r['ticket'] = $event_details['_epl_price_name'][$row->price_id];
    $form_data = current($erptm->get_form_data($row->regis_id, $row->event_id, $form_counter));
    $_form = $erptm->get_form_data_array($form_data->field_id, $form_data->value);
    $_r = array_merge($_r, epl_process_fields_for_display($_form));
    $_rr = "<a href='#' \r\n        class='epl_delete_checkin_record'\r\n         class='epl_user_check_in' \r\n        data-user_id='{$row->user_id}'\r\n        data-regis_id='{$row->regis_id}' \r\n        data-event_id='{$row->event_id}' \r\n        data-regis_data_id='{$row->regis_data_id}' \r\n        data-date_id='{$row->date_id}' \r\n        data-date_ts='{$_POST['date_ts']}' \r\n        data-time_id='{$session_time_id}'\r\n        data-price_id='{$row->price_id}'\r\n        data-form_no='{$row->form_no}'\r\n        data-att_id='{$row->id}'>" . epl__('Delete') . "</a>";
    array_unshift($_r, $_rr);
    $this->epl->epl_table->add_row(array_values($_r));
    $form_counter++;
}
$header = array('', epl__('Regis ID'), epl__('Check-in Time'), epl__('Purchase'));
epl_sort_array_by_array($avail_fields, $_form);
$header = array_merge($header, epl_get_field_labels(array_intersect_key($avail_fields, $_form)));
$header[] = '';
$this->epl->epl_table->set_heading($header);
echo $this->epl->epl_table->generate();
コード例 #16
0
 /**
  * This function will create a global variable called $event_snapshot, which holds all the following information about the event
  * -Availability for each date, each time inside each date, each price inside each date and time.
  * -Availability errors
  *
  * Uses global vars $event_details, $current_att_count
  *
  * @since 1.0.0
  * @param event_id
  * @param refresh
  * @return  Sets the global $event_snapshot variable
  */
 function event_snapshot($event_id = null, $refresh = false)
 {
     global $event_details, $capacity, $current_att_count, $event_snapshot, $epl_error, $event_totals;
     $event_id = is_null($event_id) ? $this->get_current_event_id() : $event_id;
     setup_event_details($event_id);
     $meta = $this->current_data[$this->regis_id];
     $cart_selected_dates = epl_get_element($event_id, epl_get_element('_epl_start_date', $this->get_cart_values('_dates')));
     $cart_selected_times = (array) epl_get_element($event_id, epl_get_element('_epl_start_time', $this->get_cart_values('_dates')));
     $cart_selected_quantities = (array) epl_get_element($event_id, epl_get_element('_att_quantity', $this->get_cart_values('_dates')));
     static $_cache = array();
     $_is_cached = epl_get_element($event_id, $_cache);
     if ($_is_cached) {
         return $_cache[$event_id];
     }
     if (empty($cart_selected_dates) && epl_get_element('cart_action', $_REQUEST) != 'add') {
         $epl_error[] = array('', epl__('Please select at least one date.'));
     }
     $current_att_count = EPL_report_model::get_instance()->get_attendee_counts($event_id, true);
     $sold_out_text = apply_filters('merm__event_snapshot__sold_out_text', epl__('Sold Out.'));
     //get the attendee and money totals
     //$_totals = $this->calculate_cart_totals();
     setup_event_details($event_id);
     $grand_total = epl_get_element_m('grand_total', 'money_totals', $event_totals);
     $grand_total_key = "_grand_total";
     //this will hold the snapshot
     $event_snapshot = array();
     $qty_meta_key = "_total_att_" . $event_id;
     //$total_att = array_sum( ( array ) $meta[$this->regis_id]['_dates']['_att_quantity'][$event_details['ID']] );
     $total_att = epl_get_element_m($event_id, 'total', epl_get_element('_att_quantity', $event_totals));
     //event dates, times and prices
     $dates = epl_get_element('_epl_start_date', $event_details);
     $times = epl_get_element('_epl_start_time', $event_details);
     $prices = epl_get_element('_epl_price_name', $event_details);
     $rolling_regis = epl_get_element('_epl_rolling_regis', $event_details) == 10;
     if (epl_is_empty_array($dates)) {
         return;
     }
     //foreach event date
     foreach ($dates as $_date_key => $date_timestamp) {
         $date_timestamp = epl_get_date_timestamp($date_timestamp);
         //number registered for the date
         $date_total_att = 0;
         $_date = epl_formatted_date($event_details['_epl_start_date'][$_date_key], 'Y-m-d', 'date');
         //the date to display
         $_displ_date = epl_formatted_date($_date);
         $qty_meta_key = "_total_att_" . $event_details['ID'] . '_date_' . $_date_key;
         //find the capacity for this date.
         $cap = $event_details['_epl_date_capacity'][$_date_key];
         //find the number of people regitered for this date
         $num_att = epl_get_element($qty_meta_key, $current_att_count, 0);
         //find the available spcaes.  If there is no capacity, always available
         $date_avail = $this->avail_spaces($cap, $num_att);
         $_past = epl_compare_dates(EPL_TIME, $_date . ' 23:59:59', ">");
         $_date_avail_display = epl_is_ok_to_register($event_details, $_date_key);
         $_date_avail_display = $_date_avail_display === true ? epl__('Available') : $_date_avail_display;
         //snapshot template
         $_t = array('timestamp' => $date_timestamp, 'disp' => $_displ_date, 'avail' => $date_avail, 'avail_display' => $_date_avail_display, 'regis' => $num_att, 'db_key' => $qty_meta_key, 'cart' => 0, 'past' => $_past, 'hide' => $date_avail != '' && $date_avail <= 0);
         //Set the snapshot for this date
         $event_snapshot[$event_id][$_date_key]['date'] = $_t;
         $rolling_regis_time_avail = 0;
         //foreach time available for the event
         foreach ($times as $_time_key => $_time_id) {
             $time_total_att = 0;
             $_time = $event_details['_epl_start_time'][$_time_key];
             $qty_meta_key = "_total_att_" . $event_details['ID'] . '_time_' . $_date_key . '_' . $_time_key;
             //$cap = $capacity['time'][$_time_key];
             $cap = epl_get_element($_time_key, epl_get_element('_epl_time_capacity', $event_details), '');
             if ($rolling_regis && $cap == '') {
                 $cap = epl_get_element_m($_date_key, '_epl_date_per_time_capacity', $event_details);
             }
             $num_att = epl_nz(epl_get_element($qty_meta_key, $current_att_count), 0);
             $time_avail = $this->avail_spaces($cap, $num_att);
             $rolling_regis_time_avail += $cap == '' ? 999 : epl_nz($time_avail, 0);
             $_comp_time = epl_get_element($_time_key, $event_details['_epl_regis_endtime']);
             $_comp_time = !$_comp_time ? $_time : $_comp_time;
             //Is this time for this date in the past and not available any more?
             $_past = epl_compare_dates(EPL_TIME, $_date . ' ' . $_comp_time, ">");
             if ($rolling_regis && $_past) {
                 $event_snapshot[$event_id][$_date_key]['date']['hide'] = true;
             }
             $_t = array('timestamp' => strtotime($times[$_time_key], $date_timestamp), 'disp' => $times[$_time_key], 'avail' => $time_avail, 'avail_display' => $_date_avail_display, 'regis' => $num_att, 'db_key' => $qty_meta_key, 'past' => $_past);
             //Set the snapsot for this time for this date
             $event_snapshot[$event_id][$_date_key]['time'][$_time_key] = $_t;
             foreach ($prices as $_price_key => $_price_id) {
                 $_price = $event_details['_epl_price_name'][$_price_key];
                 $price_avail = 0;
                 $do_count = true;
                 $price_att = 0;
                 $price_type = epl_get_element($_price_key, epl_get_element('_epl_price_type', $event_details), 'att');
                 if (isset($meta['_dates']['_att_quantity'][$event_details['ID']])) {
                     if (is_array(epl_get_element($_price_key, $meta['_dates']['_att_quantity'][$event_details['ID']]))) {
                         $price_att = array_sum((array) epl_get_element($_price_key, $meta['_dates']['_att_quantity'][$event_details['ID']]));
                     } else {
                         $price_att = epl_get_element($_price_key, $meta['_dates']['_att_quantity'][$event_details['ID']]);
                     }
                 }
                 $qty_meta_key = "_total_att_" . $event_details['ID'] . '_price_' . $_date_key . '_' . $_time_key . '_' . $_price_key;
                 if (epl_is_date_level_price()) {
                     $price_att = epl_get_element_m($_date_key, $_price_key, $cart_selected_quantities);
                 }
                 $cap = epl_get_element($_price_key, epl_get_element('_epl_price_capacity', $event_details), '');
                 $num_att = epl_nz(epl_get_element($qty_meta_key, $current_att_count), 0);
                 $price_avail = $this->avail_spaces($cap, $num_att);
                 if (!epl_is_empty_array($offset = $this->is_offsetter_price($_price_key)) && $cap !== '' && $price_avail > 0) {
                     //check to make sure users are not using the price as offset against itself
                     if ($offset['offset_key'] != $_price_key) {
                         // see if available count of the offseter is > capacity for this price
                         $offset_avail = $event_snapshot[$event_id][$_date_key]['time'][$_time_key]['price'][$offset['offset_key']]['avail'];
                         $offset_count = $offset['offset_count'];
                         if ((int) $offset_count > (int) $offset_avail) {
                             $price_avail = 0;
                         } elseif ($offset_avail >= $offset_count) {
                             $price_avail = intval($offset_avail / $offset_count);
                         }
                     }
                 }
                 //echo "<pre class='prettyprint'>" . __LINE__ . "> $event_id >>>> " . print_r($price_avail, true). "</pre>";
                 $time_total_att += $price_att;
                 $_t = array('disp' => $prices[$_price_key], 'avail' => $price_avail, 'avail_display' => $_date_avail_display, 'regis' => $num_att, 'db_key' => $qty_meta_key, 'cart' => $price_att, 'past' => $_past);
                 $event_snapshot[$event_id][$_date_key]['time'][$_time_key]['price'][$_price_key] = $_t;
                 if (epl_is_date_level_time() && epl_get_element($_date_key, $cart_selected_times) != $_time_key) {
                     $do_count = false;
                 }
                 if (epl_is_date_level_price() && !in_array($_date_key, (array) $cart_selected_dates)) {
                     //if ( $_date_key != $_price_key ) {
                     $do_count = false;
                     //}
                 }
                 if (epl_is_time_specific_price($_price_key)) {
                     if ($event_details['_epl_price_parent_time_id'][$_price_key] != $_time_key) {
                         unset($event_snapshot[$event_id][$_date_key]['time'][$_time_key]['price'][$_price_key]);
                         $do_count = false;
                     }
                 }
                 if (!epl_is_time_optonal() && !in_array($_time_key, $cart_selected_times) || !in_array($_date_key, (array) $cart_selected_dates)) {
                     $do_count = false;
                 }
                 if (!$do_count || $price_type != 'att') {
                     $time_total_att -= $price_att;
                     if (isset($event_snapshot[$event_id][$_date_key]['time'][$_time_key]['price'][$_price_key]['cart'])) {
                         $event_snapshot[$event_id][$_date_key]['time'][$_time_key]['price'][$_price_key]['cart'] = 0;
                     }
                 } else {
                     //check for a price availability for each date/time
                     if ($price_att > 0 && $price_avail !== '') {
                         $_error = array();
                         if ($price_avail === 0 || $price_avail < 0) {
                             $_error = array($_displ_date . '<br />' . $_time . '<br />' . $_price, $sold_out_text);
                         } elseif ($price_att > epl_nz($price_avail, 1000)) {
                             $_error = array($_displ_date . '<br />' . $_time . '<br />' . $_price, sprintf(epl__(' Only %d spaces left.'), $price_avail));
                         }
                         if (!empty($_error)) {
                             $epl_error[] = $_error;
                             $event_snapshot[$event_id]['error'][] = $_error;
                         }
                         $event_snapshot[$event_id][$_date_key]['time'][$_time_key]['price'][$_price_key]['avail_display'] = epl_get_element(1, $_error);
                     }
                 }
                 /* if( $price_type != 'att' )
                    $time_total_att -= $price_att; */
             }
             $date_total_att += $time_total_att;
             $event_snapshot[$event_id][$_date_key]['time'][$_time_key]['cart'] = $time_total_att;
             //echo "<pre class='prettyprint'>" . __LINE__ . "> $_date "  . print_r($time_total_att, true). "</pre>";
             //check for time availablility for each date
             if ($this->flow_mode == 'n' && !epl_is_time_optonal() && $time_total_att > 0 && ($time_avail !== '' || $event_snapshot[$event_id][$_date_key]['time'][$_time_key]['past'] === true)) {
                 $_error = array();
                 if (!epl_is_ongoing_event() && $event_snapshot[$event_id][$_date_key]['time'][$_time_key]['past'] == 1) {
                     $_error = array($_displ_date . '<br />' . $_time, epl__('This time has passed.'));
                 }
                 if ($time_avail === 0 || $time_avail < 0) {
                     $_error = array($_displ_date . '<br />' . $_time, $sold_out_text);
                 } elseif ($time_total_att > epl_nz($time_avail, 1000)) {
                     $_error = array($_displ_date . '<br />' . $_time, sprintf(epl__('Only %d spaces left.'), $time_avail));
                 }
                 if (!empty($_error)) {
                     $epl_error[] = $_error;
                     $event_snapshot[$event_id]['error'][] = $_error;
                 }
                 $event_snapshot[$event_id][$_date_key]['time'][$_time_key]['avail_display'] = epl_get_element(1, $_error);
             }
         }
         if ($rolling_regis && $rolling_regis_time_avail == 0 && $event_snapshot[$event_id][$_date_key]['date'] == '') {
             $event_snapshot[$event_id][$_date_key]['date']['hide'] = true;
         }
         //check for the date availability
         $event_snapshot[$event_id][$_date_key]['date']['cart'] = $date_total_att;
         if ($date_total_att > 0 && ($date_avail !== '' || $event_snapshot[$event_id][$_date_key]['date']['past'] === true) && (!epl_is_waitlist_approved() && !epl_is_waitlist_session_approved())) {
             $_error = array();
             if ($this->flow_mode == 'n' && ($date_avail === 0 || $date_avail < 0)) {
                 $_error = array($_displ_date, $sold_out_text);
                 if (epl_is_ok_for_waitlist() && ($wl_spaces_left = epl_waitlist_spaces_open()) !== false) {
                     $_error[1] .= '<br />' . epl__('If you would like to be added to the waiting list, please click on the button below.  You will not be charged at this time.');
                     if ($wl_spaces_left !== true) {
                         $_error[1] .= '<br />' . sprintf('Spaces available on the waiting list: %d', $wl_spaces_left);
                     }
                     if (epl_waitlist_enough_spaces($event_id) == false) {
                         $_error[1] .= '<br />' . sprintf('To continue, please select only %d.', $wl_spaces_left);
                     } else {
                         $_error[1] .= '<br />' . epl_anchor('#', epl__('Click here to add your name to the waitlist'), null, " class='open_add_to_waitlist_form epl_button' data-event_id='{$event_id}'");
                     }
                     $this->epl->epl_util->set_response_param('waitlist_form', '');
                 }
             } elseif ($this->flow_mode == 'n' && !epl_is_ongoing_event() && $event_snapshot[$event_id][$_date_key]['date']['past'] == 1) {
                 $_error = array($_displ_date, epl__('This date has passed.'));
             } elseif ($this->flow_mode == 'n' && $date_total_att > epl_nz($date_avail, 1000)) {
                 $_error = array($_displ_date, sprintf(epl__('Only %d spaces left.'), $date_avail));
             }
             $event_snapshot[$event_id][$_date_key]['date']['avail_display'] = epl_get_element(1, $_error);
             if (!empty($_error)) {
                 $event_snapshot[$event_id]['error'][] = $_error;
                 $epl_error[] = $_error;
             }
         }
         //$this->epl_table->add_row( '', $event_details['_epl_start_date'][$_date_key], $avail );
     }
     $_cache[$event_id] = $event_snapshot;
     return $event_snapshot;
 }
コード例 #17
0
 function get_purchased_tickets($regis_id, $event_id)
 {
     global $event_details, $regis_details;
     $purchased_tickets = $regis_details['__epl'][$regis_id]['_dates']['_att_quantity'][$event_id];
     $r = array();
     foreach ($event_details['_epl_price_name'] as $price_id => $price_name) {
         if ($purchased_tickets[$price_id][0] > 0) {
             $exp = '';
             if (epl_get_element_m($price_id, '_epl_price_pack_type', $event_details) == 'time') {
                 $mem_l = epl_get_element_m($price_id, '_epl_price_pack_time_length', $event_details);
                 $mem_lt = epl_get_element_m($price_id, '_epl_price_pack_time_length_type', $event_details);
                 $start = !epl_is_empty_array($regis_details) ? strtotime($regis_details['post_date']) : EPL_DATE;
                 $exp = ' (' . epl_formatted_date(strtotime("+ {$mem_l} {$mem_lt}", $start)) . ')';
             }
             $r[$price_id] = array('ticket_name' => $price_name . $exp, 'qty' => $purchased_tickets[$price_id][0]);
         }
     }
     return $r;
 }
コード例 #18
0

<table class="epl_plain_table epl_w300" cellspacing="0">
    <thead>
        <tr>
            <th>Dates</th>
            <th></th>
        </tr>
    <tbody>
        <?php 
foreach ($regis_dates as $_date_key => $_date) {
    ?>
    
            <tr><td><?php 
    echo epl_formatted_date($_date);
    ?>
</td><td></td></tr>

        <?php 
}
?>
    </tbody>
</table>
コード例 #19
0
</div>
<?php 
if ($regis_notes) {
    ?>
    <div>

        <?php 
    foreach ($regis_notes as $note) {
        $note = maybe_unserialize($note->meta_value);
        ?>
            <div style="display: block; background-color: #efefef;padding:2px;margin-bottom: 3px;">
                <?php 
        echo $note['action'];
        ?>
 
                <p style="display: block;margin:0;text-align: right;color:#333;font-size: 0.8em;"><?php 
        echo epl_formatted_date($note['timestamp'], 'Y-m-d H:i');
        ?>
</p>
            </div>
        <?php 
    }
    ?>

    </div>
<?php 
}
?>


?>
images/add.png" /></a>
            </td>
        </tr>


    </tfoot>
    <tbody class="">

        <?php 
$counter = 1;
foreach ($epl_discount_fields as $disc_code => $row) {
    $discount_used = '';
    if (epl_get_element($disc_code, $used_discount_codes)) {
        foreach ($used_discount_codes[$disc_code] as $used) {
            $this->epl->epl_table->add_row(epl_anchor(admin_url('post.php?post=' . $used['regis_id'] . '&action=edit'), $used['regis_key']), epl_formatted_date($used['regis_date']));
        }
        $discount_used = $this->epl->epl_table->generate();
        $this->epl->epl_table->clear();
    }
    ?>

            <tr class="copy_">


                <td>

                    <table cellspacing ="0" class="epl_standard_table" style="margin:0;">

                        <?php 
    if ($counter == 1) {
コード例 #21
0
<?php

global $event_details;
$epl = EPL_Base::get_instance();
//echo "<pre class='prettyprint'>" . __LINE__ . "> " . print_r($list, true). "</pre>";
foreach ($list as $k => $v) {
    setup_event_details($v->event_id);
    $arr = array($v->regis_key, get_the_regis_status($v->status), $event_details['post_title'], epl_formatted_date($event_details['_epl_start_date'][$v->date_id]), $event_details['_epl_start_time'][$v->time_id], $event_details['_epl_price_name'][$v->price_id], $v->quantity);
    $epl->epl_table->add_row($arr);
}
echo $epl->epl_table->generate();
コード例 #22
0
    $user_ticket_use_count_key = "{$row->regis_id}-{$row->event_id}-{$row->date_id}-{$time_id}-{$row->price_id}-{$row->user_id}";
    $_r['use_count'] = epl_get_element($user_ticket_use_count_key, $user_ticket_use_counts, 0);
    $user_session_use_count_key = "{$row->regis_id}-{$row->event_id}-{$row->date_id}-{$_POST['date_ts']}-{$_POST['time_id']}-{$row->price_id}-{$row->user_id}";
    $user_alredy_checked_in = epl_get_element($user_session_use_count_key, $user_session_signed_in_counts, false);
    if (epl_is_pack_regis()) {
        $pack_size = epl_get_element_m($row->price_id, '_epl_price_pack_size', $event_details, 1);
        $exp = '';
        if (epl_get_element_m($row->price_id, '_epl_price_pack_type', $event_details) == 'time') {
            $mem_l = epl_get_element_m($row->price_id, '_epl_price_pack_time_length', $event_details);
            $mem_lt = epl_get_element_m($row->price_id, '_epl_price_pack_time_length_type', $event_details);
            $start = strtotime($row->regis_date);
            $until = strtotime("+ {$mem_l} {$mem_lt}", $start);
            if ($until < EPL_DATE) {
                $exp = epl_wrap(epl__("Expired"), '<span class="epl_font_red"> - ', '</span>');
            }
            $_r['package'] = epl__('Until') . ' ' . epl_formatted_date($until) . $exp;
        } else {
            $remaining = $pack_size - $_r['use_count'];
            if ($remaining <= 0) {
                $exp = epl_wrap(epl__("Credits used up"), ' <span class="epl_font_red">', '</span>');
            }
            $_r['package'] = $pack_size . $exp;
            $_r['use_count'] = "{$_r['use_count']}/{$_r['package']}";
        }
    }
    $_form = $erptm->get_form_data_array($row->field_id, $row->value);
    $_r = array_merge($_r, epl_process_fields_for_display($_form));
    $this->epl->epl_table->add_row(array_values($_r));
}
epl_sort_array_by_array($avail_fields, $_form);
$header = array_merge($header, epl_get_field_labels(array_intersect_key($avail_fields, $_form)));
コード例 #23
0
        $date_capacity = epl_get_element_m($regis->date_id, '_epl_date_capacity', $event_details, '&infin;');
        //if there is time capacity, grab that or default to date capacity
        $capacity = epl_get_element_m($regis->time_id, '_epl_time_capacity', $event_details, $date_capacity);
        //get counts for this event, cached
        $counts = $erptm->get_attendee_counts($event_id);
        //count date specific key
        $counts_day_key = $event_id . "_time_{$regis->date_id}";
        //counts time specific key
        $counts_time_key = $event_id . "_time_{$regis->date_id}_{$regis->time_id}";
        //if count for that time exists, get num regis, defaults to 0
        $num_regis = epl_get_element('_total_att_' . $counts_time_key, $counts, 0);
        $url_params['epl_token'] = epl_get_token($regis->regis_id . $regis->regis_date);
        $regis_summary_url = add_query_arg($url_params, get_permalink($regis->regis_id));
        $pdf_url = array('epl_action' => 'invoice', 'regis_id' => $regis->regis_id, 'epl_token' => epl_get_token($regis->regis_id . $regis->regis_date));
        $pdf_url = add_query_arg($pdf_url, home_url());
        $arr = array($regis->regis_key, epl_formatted_date($regis->regis_date), epl_formatted_date($event_details['_epl_start_date'][$regis->date_id], 'D'), epl_formatted_date($event_details['_epl_start_date'][$regis->date_id]), $event_details['_epl_start_time'][$regis->time_id], $event_details['post_title'], $regis->ticket_count, get_the_regis_status($regis->status), epl_anchor($regis_summary_url, epl__('Details')) . ' ' . (!$attach_pdf || epl_get_element('_epl_attach_invoice', $event_details, 10) == 0 ? '' : epl_anchor($pdf_url, epl__('PDF'))));
        echo '<tr><td>' . implode('</td><td>', $arr) . '</td></tr>';
    }
    ?>
        </tbody>
    </table>
<?php 
} else {
    ?>

<div><?php 
    epl_e('No Registrations');
    ?>
</div>

<?php 
コード例 #24
0
: </span><span  class="amount"><?php 
echo epl_get_formatted_curr(epl_get_balance_due(), null, true);
?>
</span></td>

        </tr>
        <?php 
$payment_data = epl_get_regis_payments();
foreach ($payment_data as $t => $p) {
    if ($p['_epl_payment_amount'] == 0) {
        continue;
    }
    ?>
            <tr style="border-top:1px solid #d7d7d7;">
                <td><?php 
    echo epl_formatted_date($p['_epl_payment_date']);
    ?>
</td>
                <td><?php 
    echo epl_get_formatted_curr($p['_epl_payment_amount'], null, true);
    ?>
                    <span style="float: right;"><?php 
    echo epl_trunc(epl_get_element($p['_epl_payment_method'], $epl_fields['epl_regis_payment_fields']['_epl_payment_method']['options'], ''), 10);
    ?>
</span>
                </td>              
            </tr>
        <?php 
}
?>
コード例 #25
0
 function get_days_for_fc($args = array())
 {
     global $post;
     //page specific caching
     if (!epl_user_is_admin() && epl_get_setting('epl_fullcalendar_options', 'epl_fullcalendar_enable_cache', 10) == 10 && false !== ($fc_dates = get_transient('epl_transient__get_days_for_fc__' . $post->ID))) {
         // return $fc_dates;
     }
     $show_att_counts = intval(epl_get_setting('epl_fullcalendar_options', 'epl_fullcalendar_show_att_count', 0));
     if ($show_att_counts === 0) {
         $show_att_counts = epl_get_element('show_att_counts', $args) === true ? true : $show_att_counts;
     }
     if ($show_att_counts === 1 && !epl_user_is_admin()) {
         $show_att_counts = false;
     }
     if ($show_att_counts === 2 && !is_user_logged_in()) {
         $show_att_counts = false;
     }
     global $event_details;
     $events = $this->get_days_for_widget(3, $args);
     $show_first_date_only = apply_filters('epl__get_days_for_fc__', false);
     $event_bcg_color = epl_get_setting('epl_fullcalendar_options', 'epl_fullcalendar_tax_bcg_color');
     $event_font_color = epl_get_setting('epl_fullcalendar_options', 'epl_fullcalendar_tax_font_color');
     $r = array();
     $counter = 0;
     $date_sel_mode = false;
     //(epl_get_element( 'date_selector', $args, 0 ) == 1);
     foreach ($events as $date => $event_data) {
         $data['_event'] = $event_data;
         setup_event_details($event_data['event_id']);
         $c = $this->epl->load_view('front/tooltip/template-1', $data, true);
         $_t = explode(',', $event_data['term_list']);
         $bc = epl_get_element(current($_t), $event_bcg_color, '#ffffff');
         $tc = epl_get_element(current($_t), $event_font_color, 'blue');
         $_r = array('title' => $date_sel_mode ? 'Select' : $event_data['title'], 'raw_title' => $event_data['title'], 'description' => $date_sel_mode ? $this->erm->get_the_dates($event_data['date_id']) : $c, 'term_list' => $event_data['term_list'], 'start_timestamp' => $event_data['date'], 'start' => epl_formatted_date($event_data['date'], 'Y-m-d'), 'end_timestamp' => $event_data['end'], 'end' => epl_formatted_date($event_data['end'], 'Y-m-d'), 'url' => $date_sel_mode ? '' : $event_data['register_link'], 'edit_url' => get_edit_post_link(), 'backgroundColor' => $bc, 'borderColor' => $bc, 'textColor' => $tc, 'className' => $event_data['register_link_type'] == 1 ? 'epl-no-modal' : '', 'id' => $event_data['event_id']);
         $weekday = date('N', $event_data['date']);
         //if multiple times, display the event for each time.
         if (count($event_data['times']['start']) > 1 && !$date_sel_mode) {
             $_tmp_title = $_r['title'];
             $_tmp_url = $_r['url'];
             foreach ($event_data['times']['start'] as $time_id => $time) {
                 if ($time == '') {
                     continue;
                 }
                 if (epl_is_date_level_time()) {
                     if (epl_is_date_specific_time($time_id) && !isset($event_details['_epl_date_specific_time'][$time_id][$event_data['date_id']])) {
                         continue;
                     }
                 }
                 $weekday_specific = epl_get_element_m($time_id, '_epl_weekday_specific_time', $event_details, array());
                 if (!epl_is_empty_array($weekday_specific) && !isset($weekday_specific[$weekday])) {
                     continue;
                 }
                 //$_r['title'] = '<span class="epl_fc_title_time"> ' . $time . '</span>' . $_tmp_title;
                 $_r['title'] = $_tmp_title;
                 $_r['raw_title'] = $_tmp_title;
                 if ($show_att_counts) {
                     $_r['title'] .= ' ' . '<span style="background-color:red;color:#fff;padding:0 4px;white-space: nowrap;"> ' . epl_get_att_count(array('for' => 'time', 'date_id' => $event_data['date_id'], 'time_id' => $time_id, 'default' => 0));
                     $_r['title'] .= (epl_get_time_capacity($time_id) != '' ? ' / ' . epl_get_time_capacity($time_id) : '') . '</span>';
                     $_r['att_counts'] = epl_get_att_count(array('for' => 'time', 'date_id' => $event_data['date_id'], 'time_id' => $time_id, 'default' => 0));
                     $_r['att_counts'] .= epl_get_time_capacity($time_id) != '' ? ' / ' . epl_get_time_capacity($time_id) : '';
                 }
                 $_r['url'] = $date_sel_mode ? '' : add_query_arg(array('_time_id' => $time_id), $event_data['register_link']);
                 $tmp_key_for_sorting = strtotime($time, $event_data['date']);
                 if (isset($r[$tmp_key_for_sorting])) {
                     $tmp_key_for_sorting .= '.' . $counter;
                     $counter++;
                 }
                 $_r['start'] = epl_formatted_date(strtotime($time, $event_data['date']), 'Y-m-d H:i:s');
                 $_r['end'] = epl_formatted_date(strtotime($event_data['times']['end'][$time_id], $show_first_date_only ? $event_data['start'] : $event_data['end']), 'Y-m-d H:i:s');
                 //$_r['allDay'] = false;
                 $r[$tmp_key_for_sorting] = $_r;
                 //$r[] = $_r;
                 $counter++;
             }
             continue;
         } else {
             $time = current($event_data['times']['start']);
             //$_r['title'] = ($time != '' ? '<span class="epl_fc_title_time"> ' . $time . '</span>' : '') . $_r['title'];
             $_r['title'] = $_r['title'];
             if (epl_is_empty_array($event_data['times']['start'])) {
                 $_r['start'] = epl_formatted_date($event_data['date'] + 25200, 'Y-m-d H:i:s');
             } else {
                 $_r['start'] = epl_formatted_date(strtotime(current($event_data['times']['start']) . ' ', $event_data['date']), 'Y-m-d H:i:s');
             }
             if (epl_is_empty_array($event_data['times']['end'])) {
                 $_r['end'] = epl_formatted_date($event_data['end'] + 86399, 'Y-m-d H:i:s');
             } else {
                 $_r['end'] = epl_formatted_date(strtotime(current($event_data['times']['end']) . ' ', $show_first_date_only ? $event_data['start'] : $event_data['end']), 'Y-m-d H:i:s');
             }
             if ($show_att_counts) {
                 $_r['title'] .= ' ' . '<span style="background-color:red;color:#fff;padding:0 4px;white-space: nowrap;"> ' . epl_get_att_count(array('for' => 'date', 'date_id' => $event_data['date_id'], 'default' => 0));
                 $_r['title'] .= (epl_get_date_capacity($event_data['date_id']) != '' ? ' / ' . epl_get_date_capacity($event_data['date_id']) : '') . '</span>';
                 $_r['att_counts'] = epl_get_att_count(array('for' => 'date', 'date_id' => $event_data['date_id'], 'default' => 0));
                 $_r['att_counts'] .= epl_get_date_capacity($event_data['date_id']) != '' ? ' / ' . epl_get_date_capacity($event_data['date_id']) : '';
             }
         }
         $tmp_key_for_sorting = strtotime(current($event_data['times']['start']) . ' ', $event_data['date']);
         if (isset($r[$tmp_key_for_sorting])) {
             $tmp_key_for_sorting .= '.' . $counter;
             $counter++;
         }
         $_r['sort_time'] = $tmp_key_for_sorting;
         $r[$tmp_key_for_sorting] = $_r;
         //$_r = apply_filters( 'epl_get_cal_dates_response_loop', $r );
         $counter++;
     }
     $raw = apply_filters('epl_get_cal_dates_response', $r);
     ksort($raw);
     //@TODO - temp solution for showing cal in the month of first avail. event
     global $first_event_date;
     $first_event_date = key($raw);
     if (isset($args['raw'])) {
         return $raw;
     }
     //using array_values to get rid of temp keys, fullcalendar doesn't seem to like them :)
     $r = json_encode(array_values($r));
     if (!epl_user_is_admin()) {
         set_transient('epl_transient__get_days_for_fc__' . $post->ID, base64_encode($r), 60 * 60 * 4);
     }
     return $r;
 }