function _start_cart_session($start_new = false)
 {
     if ($start_new) {
         unset($_SESSION['__epl']);
         $_SESSION['__epl'] = array();
     }
     if (isset($_SESSION['__epl']['_regis_id'])) {
         $this->regis_id = $_SESSION['__epl']['_regis_id'];
     } else {
         $this->regis_id = strtoupper($this->epl_util->make_unique_id(epl_nz(epl_get_regis_setting('epl_regis_id_length'), 10)));
         $_SESSION['__epl']['_regis_id'] = $this->regis_id;
         $_SESSION['__epl']['_cart_time'] = time();
     }
 }
 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;
 }
function epl_check_token($v = null, $forec_check = false)
{
    if (epl_user_is_admin()) {
        return true;
    }
    if (epl_get_regis_setting('epl_regis_add_url_token') != 10) {
        return true;
    }
    if (!isset($_GET['epl_token'])) {
        return false;
    }
    return $_GET['epl_token'] == epl_get_token($v);
}
 function create_new_regis_record($args = array())
 {
     $_post = array('post_type' => 'epl_registration', 'post_title' => strtoupper($this->epl_util->make_unique_id(epl_nz(epl_get_regis_setting('epl_regis_id_length'), 10))), 'post_content' => '', 'post_status' => 'draft');
     return wp_insert_post($_post);
 }
 function pre($title)
 {
     /* $new_id = $this->erm->create_new_regis_record();
     
                   wp_redirect("post.php?post={$new_id}&action=edit");
                   die();
                  */
     $title = strtoupper($this->epl_util->make_unique_id(epl_nz(epl_get_regis_setting('epl_regis_id_length'), 10)));
     return $title;
 }
 function pre($title)
 {
     $title = strtoupper($this->epl_util->make_unique_id(epl_nz(epl_get_regis_setting('epl_regis_id_length'), 10)));
     return $title;
 }


        <div class="epl_section">
            <div class="epl_section_header"><?php 
    epl_e('Registration Details');
    ?>
</div>
            <?php 
    echo get_the_regis_dates_times_prices($post_ID);
    ?>

        </div>



        <?php 
    //show the registration form
    echo $regis_form;
}
?>

    <?php 
do_action('epl_regis_complete_bottom_message');
?>

</div>
<?php 
if (isset($tracking_code) || epl_get_element('cnv_tr', $_GET)) {
    echo epl_get_regis_setting('epl_tracking_code');
}
示例#8
0
            <div class="epl_discount_label"><?php 
    echo epl_get_setting('epl_registration_options', '_epl_discount_input_label', epl__('Discount Code')) . "&nbsp;";
    ?>
            </div>
            <div class="epl_discount_field">
                <?php 
    echo $cart_data['discount_field'];
    ?>
            </div>

        </div>
    <?php 
}
?>
    <?php 
if ($mode != 'overview' && epl_get_regis_setting('epl_enable_donation') == 10 || $mode == 'overview' && epl_get_element_m('donation_amount', 'money_totals', $cart_data['cart_totals'], 0) > 0) {
    ?>
        <div id="epl_donation_wrapper" class="epl_section epl_ov_a epl_ta_r">

            <?php 
    echo epl__('Donation') . ":&nbsp;" . $cart_data['donation_field'];
    ?>

        </div>
    <?php 
}
?>

    <?php 
if (!epl_is_zero_total()) {
    ?>
    <div class="invoice_section_full">
        <table class="regis_totals" style="width:400px;margin: 0 auto;">

            <tr>
                <td style="text-align: left;"><?php 
epl_e('Subtotal');
?>
</td>
                <td style="text-align: left;"><?php 
echo epl_get_formatted_curr($regis->subtotal, null, true);
?>
</td>
            </tr>
            <tr>
                <td style="text-align: left;"><?php 
echo epl_get_regis_setting('epl_surcharge_label');
?>
</td>
                <td style="text-align: left;"><?php 
echo epl_get_formatted_curr($regis->surcharge, null, true);
?>
</td>
            </tr>
            <tr>
                <td style="text-align: left;"><?php 
epl_e('Discount');
?>
</td>
                <td style="text-align: left;"><?php 
echo epl_get_formatted_curr($regis->discount_amount, null, true);
?>
        $form_data[$k] = epl_get_element($k, $_f, $v);
    }
    $this->epl->epl_table->add_row(array_values($__row) + $_f);
    $new_record = false;
    if ($has_att_forms) {
        $form_counter++;
    }
}
//construct header row
$header = array();
$header[] = epl__('Regis ID');
$header[] = epl__('Regis Date');
$header[] = epl__('Status');
$header[] = epl__('Purchase');
$header[] = epl__('Amount');
$header[] = epl__('Paid');
$header[] = epl__('Discount Code');
$header[] = epl__('Discount Amount');
if (epl_get_regis_setting('epl_enable_donation') == 10) {
    $header[] = epl__('Donation');
}
$header[] = epl__('Date');
$header[] = epl__('Time');
epl_sort_array_by_array($avail_fields, $default_row);
$header = array_merge($header, epl_get_field_labels(array_intersect_key($avail_fields, $default_row)));
$this->epl->epl_table->set_heading($header);
/* $footer = $this->epl->epl_util->remove_array_vals( array_keys( $header ) );
  $footer[4] = epl__( 'Total Paid' );
  $footer[5] = epl_get_formatted_curr( $total_revenue );
  $this->epl->epl_table->set_footer( array_values( $footer ) ); */
echo $this->epl->epl_table->generate();
function epl_price_fields($epl_fields)
{
    $_a = array('_epl_price_pack_size' => array('weight' => 39, 'input_type' => 'text', 'input_name' => '_epl_price_pack_size[]', 'label' => epl__('Package Size'), 'class' => 'epl_w50', 'default_value' => 1), '_epl_price_capacity' => array('weight' => 40, 'input_type' => 'text', 'input_name' => '_epl_price_capacity[]', 'label' => epl__('Capacity'), 'class' => 'epl_w50'), '_epl_price_date_from' => array('weight' => 45, 'input_type' => 'text', 'input_name' => '_epl_price_date_from[]', 'label' => epl__('From'), 'class' => 'epl_w90 datepicker', 'data_type' => 'unix_time', '__func' => 'epl_admin_date_display'), '_epl_price_date_to' => array('weight' => 50, 'input_type' => 'text', 'input_name' => '_epl_price_date_to[]', 'label' => epl__('To'), 'class' => 'epl_w90 datepicker', 'data_type' => 'unix_time', '__func' => 'epl_admin_date_display'), '_epl_price_member_only' => array('weight' => 53, 'input_type' => 'select', 'input_name' => '_epl_price_member_only[]', 'label' => epl__('Member Only Price'), 'class' => '', 'options' => epl_yes_no(), 'default_value' => 0), '_epl_price_forms' => array('weight' => 60, 'input_type' => 'checkbox', 'input_name' => '_epl_price_forms[]', 'label' => epl__('Price Specific Form (optional)'), 'options' => array(), 'second_key' => '[]', 'help_text' => epl__('Use these forms only if you would like to collect different information if the user selects this price.')), '_epl_price_forms_per' => array('weight' => 65, 'input_type' => 'select', 'input_name' => '_epl_price_forms_per[]', 'label' => epl__('Display the form '), 'options' => array(1 => epl__('For each Attendee'), 2 => epl__('Only Once'))), '_epl_date_specific_price' => array('weight' => 35, 'input_type' => 'text', 'input_name' => '_epl_date_specific_price[]', 'label' => epl__('Date Specific?'), 'readonly' => true, 'display_inline' => true, 'class' => 'epl_w80'), '_epl_time_specific_price' => array('weight' => 35, 'input_type' => 'text', 'input_name' => '_epl_time_specific_price[]', 'label' => epl__('Time Specific?'), 'readonly' => true, 'display_inline' => true, 'class' => 'epl_w80'), '_epl_price_to_offset' => array('weight' => 80, 'input_type' => 'select', 'input_name' => '_epl_price_to_offset[]', 'options' => array(), 'empty_row' => true, 'class' => 'price_to_offset reset_val'), '_epl_price_offset_count' => array('weight' => 85, 'input_type' => 'text', 'input_name' => '_epl_price_offset_count[]', 'class' => 'epl_w40 reset_val', 'default_value' => 0), '_epl_price_surcharge_method' => array('weight' => 90, 'input_type' => 'select', 'input_name' => '_epl_price_surcharge_method[]', 'label' => epl__('Surcharge Method'), 'options' => array('add' => epl__('Add')), 'class' => ''), '_epl_price_surcharge_amount' => array('weight' => 92, 'input_type' => 'text', 'input_name' => '_epl_price_surcharge_amount[]', 'label' => epl__('Amount'), 'class' => 'epl_w60', 'data_type' => 'float'), '_epl_price_surcharge_type' => array('weight' => 94, 'input_type' => 'select', 'input_name' => '_epl_price_surcharge_type[]', 'label' => epl__('Surcharge Type'), 'options' => array(5 => epl__('Fixed'), 10 => epl__('Percent'))), '_epl_price_surcharge_per' => array('weight' => 96, 'input_type' => 'select', 'input_name' => '_epl_price_surcharge_per[]', 'label' => epl__('for'), 'options' => array(5 => epl__('Each quantity'), 10 => epl__('Only once'))));
    if (epl_get_regis_setting('_epl_enable_PP_parallel_pay') == 10) {
        $_a['_epl_price_parallel_pay_email'] = array('weight' => 100, 'input_type' => 'text', 'input_name' => '_epl_price_parallel_pay_email[]', 'label' => epl__('PayPal Parallel Pay Email'), 'class' => '');
    }
    //$_a = ( array ) maybe_unserialize( get_option( 'epl_advance_cap_mod_a' ) );
    //$_a = ( array ) maybe_unserialize( base64_decode(get_option( 'epl_advance_cap_mod', true )) );
    $epl_fields += $_a;
    if (epl_is_addon_active('DASFERWEQREWE')) {
        $epl_fields['_epl_price_pack_type'] = array('weight' => 66, 'input_type' => 'select', 'input_name' => '_epl_price_pack_type[]', 'label' => epl__('Package Type'), 'options' => array('count' => epl__('Count Based'), 'time' => epl__('Time Based')));
        $epl_fields['_epl_price_pack_time_length'] = array('weight' => 65, 'input_type' => 'text', 'input_name' => '_epl_price_pack_time_length[]', 'label' => epl__('Time Length'), 'default_value' => 1, 'class' => 'epl_w40');
        $epl_fields['_epl_price_pack_time_length_type'] = array('weight' => 66, 'input_type' => 'select', 'input_name' => '_epl_price_pack_time_length_type[]', 'label' => '', 'options' => array('day' => epl__('Day'), 'week' => epl__('Week'), 'month' => epl__('Month')));
        /*     $epl_fields['_epl_price_membership_min_level'] = array(
               'weight' => 67,
               'input_type' => 'checkbox',
               'input_name' => '_epl_price_membership_min_level[]',
               'label' => epl__( 'Minimum Membership Level' ),
               'options' => epl_get_roles_arr(),
               'second_key' => '[]',
               'display_inline' => true,
               ); */
    }
    return $epl_fields;
}
 function thank_you_page($add_to_db = true)
 {
     global $cart_totals, $wpdb;
     if ($this->erm->is_empty_cart()) {
         return $this->epl_util->epl_invoke_error(20, null, false);
     }
     global $event_details;
     $this->erm->_set_relevant_data();
     if (epl_is_waitlist_flow()) {
         $this->erm->add_registration_to_db();
     }
     // echo "<pre class='prettyprint'>" . __LINE__ . "> " . print_r($_SESSION, true). "</pre>";
     $this->ecm->setup_event_details($this->erm->get_current_event_id());
     if (epl_regis_flow() == 2 && $add_to_db) {
         $this->erm->add_registration_to_db();
     }
     if (epl_regis_flow() == 10) {
         if ($this->erm->ok_to_proceed(true) !== true) {
             return $this->erm->ok_to_proceed;
         }
     }
     $post_ID = epl_get_element_m('post_ID', '__epl', $_SESSION, null);
     if (!$post_ID) {
         $regis_key = $_SESSION['__epl']['_regis_id'];
         $post_ID = $wpdb->get_var($wpdb->prepare("SELECT ID FROM {$wpdb->posts}\n                 WHERE post_status ='publish' \n                 AND post_type='epl_registration' \n                 AND post_title=%s\n                        ORDER BY ID DESC\n                        LIMIT 1", $regis_key));
         $_SESSION['__epl']['post_ID'] = $post_ID;
     }
     $this->regis_id = $post_ID;
     $this->ecm->setup_regis_details($post_ID);
     $this->erm->set_mode('overview');
     $_totals = $this->erm->calculate_cart_totals();
     $grand_total = $cart_totals['money_totals']['grand_total'];
     $data['cart_data'] = $this->erm->show_cart();
     $data['regis_form'] = $this->erm->regis_form(null, false, false, false);
     $gateway_info = $this->erm->get_gateway_info();
     $data['post_ID'] = $post_ID;
     $data['_epl_regis_status'] = 1;
     $data['_epl_payment_method'] = epl_is_free_event() || epl_is_zero_total() ? '1' : $gateway_info['_epl_pay_type'];
     $data['payment_instructions'] = '';
     if (!epl_is_waitlist_flow() && (epl_is_free_event() || epl_is_zero_total())) {
         $data['_epl_regis_status'] = 5;
         $data['_epl_grand_total'] = '0';
         $data['_epl_payment_amount'] = '0';
         $data['_epl_payment_date'] = '';
         $data['_epl_payment_method'] = '1';
         $data['_epl_transaction_id'] = '';
         $this->erm->update_payment_data($data);
     } elseif ($this->erm->has_selected_offline_payment() || epl_is_waitlist_flow()) {
         $data['_epl_regis_status'] = epl_is_waitlist_flow() ? 20 : 2;
         $data['_epl_payment_method'] = epl_is_waitlist_flow() ? '' : $gateway_info['_epl_pay_type'];
         $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['_epl_grand_total'] = $grand_total;
         $data['_epl_balance_due'] = $grand_total;
         $data['_epl_transaction_id'] = '';
         $data['payment_instructions'] = $this->epl->load_view('front/registration/regis-payment-instr', array('gateway_info' => $gateway_info), true);
         $this->erm->update_payment_data($data);
     }
     $this->ecm->setup_regis_details($post_ID);
     $data['payment_details'] = $this->epl->load_view('front/registration/regis-payment-details', $data, true);
     $data = apply_filters('epl_update_payment_data_thank_you_page', $data);
     if ($this->erm->has_selected_offline_payment()) {
         $data['payment_instructions'] = epl_get_element('_epl_check_instructions', $gateway_info);
     }
     $data['mode'] = 'overview';
     $data['tracking_code'] = 1;
     $data['overview'] = $this->epl->load_view('front/registration/regis-thank-you-page', $data, true);
     $this->epl_util->regis_id = $post_ID;
     if (epl_is_addon_active('ASDFAWEEFADSF')) {
         epl_mailchimp_subscribe();
     }
     do_action('epl_efc__thank_you_page__before_session_destroy', $post_ID);
     $new_user = $this->erm->maybe_add_new_user();
     if ($new_user !== false) {
         $this->erm->assign_event_to_user($post_ID, $new_user);
     }
     $this->epl->load_model('epl-db-model');
     EPL_db_model::get_instance()->reset_table_for_registration($post_ID, get_current_user_id());
     $this->epl_util->send_confirmation_email($data);
     $url = apply_filters('epl_efc__thank_you_page__redirect_url', '');
     $_SESSION['__epl'] = array();
     unset($_SESSION['__epl']);
     @session_destroy();
     $_SESSION = array();
     epl_delete_transient();
     if ($url != '' || $this->epl->locate_template('single-epl_registration.php')) {
         $url = $url != '' ? $url : get_permalink($this->regis_id);
         $url_params = array();
         if (epl_get_regis_setting('epl_tracking_code')) {
             $url_params['cnv_tr'] = 1;
         }
         $url_params['epl_token'] = epl_get_token();
         $url_params = apply_filters('epl_efc__thank_you_page__url_params', $url_params);
         $url = add_query_arg($url_params, $url);
         wp_redirect($url, 301);
         die;
     }
     return $data['overview'];
 }
/*
 * Configuration fields for the event.
 *
 * DO NOT MODIFY.
 *
 * Visit wpeventsplanner.com for instructions
 */
global $epl_fields;
$epl_fields['epl_event_type_fields'] = array('_epl_event_type' => array('deact' => false, 'input_type' => 'radio', 'input_name' => '_epl_event_type', 'options' => array(5 => sprintf(epl__('User can only register for %s one day %s.'), '<span class="epl_font_red">', '</span>')), 'default_value' => 5, 'default_checked' => 1));
$epl_fields['epl_event_type_fields'] = apply_filters('epl_event_type_fields', $epl_fields['epl_event_type_fields']);
$epl_fields['epl_price_fields'] = array('_epl_price_name' => array('weight' => 10, 'input_type' => 'text', 'input_name' => '_epl_price_name[]', 'label' => epl__('Price Label'), 'class' => 'epl_w100pct req epl_font_bold', 'deact' => false, 'parent_keys' => true), '_epl_price' => array('weight' => 15, 'input_type' => 'text', 'input_name' => '_epl_price[]', 'label' => epl__('Price'), 'deact' => false, 'class' => 'epl_w70 req'), '_epl_member_price' => array('weight' => 17, 'input_type' => 'text', 'input_name' => '_epl_member_price[]', 'label' => epl__('Member Price'), 'class' => 'epl_w70 req'), '_epl_price_min_qty' => array('weight' => 20, 'input_type' => 'text', 'input_name' => '_epl_price_min_qty[]', 'label' => epl__('Min.'), 'class' => 'epl_w30 req', 'default_value' => 1), '_epl_price_max_qty' => array('weight' => 25, 'input_type' => 'text', 'input_name' => '_epl_price_max_qty[]', 'label' => epl__('Max.'), 'class' => 'epl_w30 req', 'default_value' => 1), '_epl_price_zero_qty' => array('weight' => 27, 'input_type' => 'select', 'input_name' => '_epl_price_zero_qty[]', 'label' => epl__('Show 0?'), 'options' => epl_yes_no(), 'default_value' => 10), '_epl_price_type' => array('weight' => 50, 'input_type' => 'select', 'input_name' => '_epl_price_type[]', 'label' => epl__('Type'), 'options' => array('att' => epl__('Attendee'), 'non_att' => epl__('Non-attendee')), 'default_value' => 1), '_epl_price_discountable' => array('weight' => 52, 'input_type' => 'select', 'input_name' => '_epl_price_discountable[]', 'label' => epl__('Discountable?'), 'options' => epl_yes_no(), 'default_value' => 10), '_epl_price_note' => array('weight' => 58, 'input_type' => 'text', 'input_name' => '_epl_price_note[]', 'label' => epl__('Note'), 'placeholder' => epl__('Note to Customer (Optional)'), 'class' => 'epl_w500'), '_epl_price_hide' => array('weight' => 200, 'input_type' => 'select', 'input_name' => '_epl_price_hide[]', 'options' => epl_yes_no(), 'label' => epl__('Hide')), '_epl_price_parent_time_id' => array('weight' => 500, 'input_type' => 'hidden', 'input_name' => '_epl_price_parent_time_id[]', 'default_value' => 0));
$epl_fields['epl_price_fields'] = apply_filters('epl_price_fields', $epl_fields['epl_price_fields']);
uasort($epl_fields['epl_price_fields'], 'epl_sort_by_weight');
$epl_fields['epl_price_option_fields'] = array('_epl_free_event' => array('input_type' => 'select', 'input_name' => '_epl_free_event', 'label' => epl__('Is this a free event? '), 'options' => epl_yes_no(), 'default_value' => 0), '_epl_price_per' => array('input_type' => 'select', 'input_name' => '_epl_price_per', 'label' => epl__('Apply prices to'), 'help_text' => epl__('If you are offering multiple days, this will determine if the user pays per day or for the whole event.'), 'options' => array(0 => epl__('The Whole Event'), 10 => epl__('Each Event Date'))));
$epl_fields['epl_price_option_fields'] = apply_filters('epl_price_option_fields', $epl_fields['epl_price_option_fields']);
$epl_fields['epl_surcharge_fields'] = array('_epl_surcharge_label' => array('weight' => 2, 'input_type' => 'text', 'input_name' => '_epl_surcharge_label', 'label' => epl__('Surcharge Label'), 'help_text' => epl__('Label that will be displayed to the user'), 'default_value' => epl_get_regis_setting('epl_surcharge_label')), '_epl_surcharge_method' => array('weight' => 5, 'input_type' => 'select', 'input_name' => '_epl_surcharge_method', 'label' => epl__('Surcharge Method'), 'options' => array('add' => epl__('Add')), 'class' => ''), '_epl_surcharge_amount' => array('weight' => 10, 'input_type' => 'text', 'input_name' => '_epl_surcharge_amount', 'label' => epl__('Amount'), 'class' => 'epl_w60', 'data_type' => 'float', 'default_value' => epl_nz(epl_get_regis_setting('epl_surcharge_amount'), '0.00')), '_epl_surcharge_type' => array('weight' => 15, 'input_type' => 'select', 'input_name' => '_epl_surcharge_type', 'label' => epl__('Surcharge Type'), 'options' => array(5 => epl__('Fixed'), 10 => epl__('Percent')), 'default_value' => epl_get_regis_setting('epl_surcharge_before_discount')), '_epl_surcharge_before_discount' => array('weight' => 20, 'input_type' => 'select', 'input_name' => '_epl_surcharge_before_discount', 'label' => epl__('Apply surcharge'), 'options' => array(10 => epl__('Before discount'), 0 => epl__('After discount')), 'default_value' => epl_get_regis_setting('epl_surcharge_type')));
$epl_fields['epl_surcharge_fields'] = apply_filters('epl_surcharge_fields', $epl_fields['epl_surcharge_fields']);
uasort($epl_fields['epl_surcharge_fields'], 'epl_sort_by_weight');
$epl_fields['epl_time_option_fields'] = array();
$epl_fields['epl_time_option_fields'] = apply_filters('epl_time_option_fields', $epl_fields['epl_time_option_fields']);
$epl_fields['epl_time_fields'] = array('_epl_start_time' => array('weight' => 10, 'input_type' => 'text', 'input_name' => '_epl_start_time[]', 'label' => epl__('Start Time'), 'class' => 'epl_w80 timepicker req', 'parent_keys' => true), '_epl_end_time' => array('weight' => 15, 'input_type' => 'text', 'input_name' => '_epl_end_time[]', 'label' => epl__('End Time'), 'class' => 'epl_w80 timepicker req'), '_epl_time_hide' => array('weight' => 100, 'input_type' => 'select', 'input_name' => '_epl_time_hide[]', 'options' => epl_yes_no(), 'label' => epl__('Hide')), '_epl_time_note' => array('weight' => 60, 'input_type' => 'text', 'input_name' => '_epl_time_note[]', 'help_text' => '', 'placeholder' => epl__('Note (optional)'), 'class' => 'epl_w100pct'));
$epl_fields['epl_time_fields'] = apply_filters('epl_time_fields', $epl_fields['epl_time_fields']);
uasort($epl_fields['epl_time_fields'], 'epl_sort_by_weight');
$epl_fields['epl_date_fields'] = array('_epl_start_date' => array('weight' => 5, 'input_type' => 'text', 'input_name' => '_epl_start_date[]', 'label' => epl__('Start Date'), 'class' => 'epl_w100 datepicker req', 'query' => 1, 'data_type' => 'unix_time', 'parent_keys' => true, '__func' => 'epl_admin_date_display'), '_epl_end_date' => array('weight' => 10, 'input_type' => 'text', 'input_name' => '_epl_end_date[]', 'label' => epl__('End Date'), 'class' => 'epl_w100 datepicker req ', 'query' => 1, 'data_type' => 'unix_time', '__func' => 'epl_admin_date_display'), '_epl_regis_start_date' => array('weight' => 15, 'input_type' => 'text', 'input_name' => '_epl_regis_start_date[]', 'label' => epl__('Regis. Starts On'), 'class' => 'epl_w100 datepicker req', 'query' => 1, 'data_type' => 'unix_time', '__func' => 'epl_admin_date_display'), '_epl_regis_end_date' => array('weight' => 20, 'input_type' => 'text', 'input_name' => '_epl_regis_end_date[]', 'label' => epl__('Regis. Ends On'), 'class' => 'epl_w100 datepicker req', 'query' => 1, 'data_type' => 'unix_time', '__func' => 'epl_admin_date_display'), '_epl_date_capacity' => array('weight' => 25, 'input_type' => 'text', 'input_name' => '_epl_date_capacity[]', 'label' => epl__('Capacity'), 'class' => 'epl_w40'), '_epl_date_note' => array('weight' => 30, 'input_type' => 'text', 'input_name' => '_epl_date_note[]', 'help_text' => '', 'placeholder' => epl__('Note'), 'class' => 'epl_w400'), '_epl_date_location' => array('input_type' => 'select', 'input_name' => '_epl_date_location[]', 'empty_row' => true, 'options' => get_list_of_available_locations()));
$epl_fields['epl_date_fields'] = apply_filters('epl_date_fields', $epl_fields['epl_date_fields']);
uasort($epl_fields['epl_date_fields'], 'epl_sort_by_weight');
$epl_fields['epl_date_option_fields'] = array();
$epl_fields['epl_date_option_fields'] = apply_filters('epl_date_option_fields', $epl_fields['epl_date_option_fields']);
$epl_fields['epl_class_session_fields'] = array('_epl_class_session_date' => array('weight' => 5, 'input_type' => 'text', 'input_name' => '_epl_class_session_date[]', 'label' => epl__('Session Date'), 'help_text' => '', 'class' => 'epl_w100 datepicker req', '__func' => 'epl_admin_date_display', 'data_type' => 'unix_time', 'parent_keys' => true), '_epl_class_session_name' => array('weight' => 10, 'input_type' => 'text', 'input_name' => '_epl_class_session_name[]', 'label' => epl__('Session Name'), 'help_text' => '', 'class' => 'epl_w100'), '_epl_class_session_note' => array('weight' => 15, 'input_type' => 'text', 'input_name' => '_epl_class_session_note[]', 'label' => epl__('Session Note'), 'help_text' => '', 'class' => 'epl_w200 '));
$epl_fields['epl_class_session_fields'] = apply_filters('epl_class_session_fields', $epl_fields['epl_class_session_fields']);
uasort($epl_fields['epl_class_session_fields'], 'epl_sort_by_weight');