function maybe_add_new_user()
 {
     if (!is_user_logged_in() && epl_um_is_enabled()) {
         $ur = $this->add_new_user_enable();
         if ($ur > 0) {
             $pw = $this->epl_util->make_unique_id(8);
             $arr = array('user_login' => epl_get_attendee_form_value('ticket_buyer', 'email'), 'user_pass' => $pw, 'user_email' => epl_get_attendee_form_value('ticket_buyer', 'email'), 'first_name' => epl_get_attendee_form_value('ticket_buyer', 'first_name'), 'last_name' => epl_get_attendee_form_value('ticket_buyer', 'last_name'), 'role' => epl_get_setting('epl_api_option_fields', 'epl_um_user_regis_role', 'subscriber'));
             $values = $_SESSION['temp_fields'];
             echo "<pre class='prettyprint'>" . __LINE__ . "> " . basename(__FILE__) . " > " . print_r($values, true) . "</pre>";
             if ($this->add_new_user_show_pass_fields()) {
                 $pw = $values['user_pass'];
                 $arr['user_pass'] = $pw;
             }
             if ($ur == 2 && $values['user_login'] != '') {
                 $arr = array('user_login' => epl_get_element('user_login', $values, epl_get_attendee_form_value('ticket_buyer', 'email')), 'user_pass' => $pw);
             }
             if ($arr['user_pass'] == '') {
                 $arr['user_pass'] = $this->epl_util->make_unique_id(8);
             }
             $new_user = wp_insert_user($arr);
             if (!is_wp_error($new_user)) {
                 wp_new_user_notification($new_user, $pw);
                 $_SESSION['temp_fields']['user_id'] = $new_user;
                 return $new_user;
             }
         }
     }
     return false;
 }
 function setup_moneris_form_USA()
 {
     global $event_details;
     //global $customer_email;
     $event_id = $event_details['ID'];
     $gateway_info = $this->erm->get_gateway_info();
     $store_id = $gateway_info['_epl_user'];
     $api_token = $gateway_info['_epl_pwd'];
     $regis_id = $this->erm->get_regis_id();
     $post_ID = $_SESSION['__epl']['post_ID'];
     $this->ecm->setup_event_details($event_id);
     $_totals = $this->erm->calculate_cart_totals();
     $test_mode = $gateway_info['_epl_sandbox'] == 10;
     $amount = number_format($_totals['money_totals']['grand_total'], 2, '.', '');
     $ind_items = '';
     $discount_amount = epl_get_element('discount_amount', $_totals['money_totals'], 0);
     if ($discount_amount > 0) {
         $discount_description = epl_get_element('discount_description', $_totals['money_totals'], null);
         $discount_description = $discount_description ? ", ({$discount_description}) " : '';
         //-- this needs to be looked at, moneris USA doesn't do zero suffix
         $ind_items .= "<input type='hidden' name='li_description0' value='" . $event_details['post_title'] . " " . $_totals['_att_quantity']['total'][$event_details['ID']] . " " . $discount_description . "' />";
         $ind_items .= "<input type='hidden' name='li_quantity0' value='1' />";
         $ind_items .= "<input type='hidden' name='li_price0' value='{$discount_amount}' />";
     } else {
         $counter = 1;
         $tickets = $_SESSION['__epl'][$regis_id]['_dates']['_att_quantity'][$event_id];
         $dates = isset($_SESSION['__epl'][$regis_id]['_dates']['_epl_start_date'][$event_id]) ? $_SESSION['__epl'][$regis_id]['_dates']['_epl_start_date'][$event_id] : array();
         $num_days_in_cart = count($dates);
         $price_multiplier = $event_details['_epl_price_per'] == 10 ? $num_days_in_cart : 1;
         $price_multiplier_label = $price_multiplier > 1 ? ' - ' . $num_days_in_cart . ' ' . epl__('days') : '';
         $item = array();
         foreach ($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']);
             $qty = is_array($ticket_qty) ? array_sum($ticket_qty) : $ticket_qty;
             if ($qty > 0) {
                 $_qty = $qty * $price_multiplier;
                 $_subtotal = number_format($_qty * $ticket_price, 2, '.', '');
                 //-- description must be sanitazied to only include alpha/num (no spaces ?)
                 $ind_items .= "<input type='hidden' name='li_description{$counter}' value='" . $event_details['post_title'] . " " . $price_multiplier_label . "'>";
                 $ind_items .= "<input type='hidden' name='li_quantity{$counter}' value='{$qty}'>";
                 $ind_items .= "<input type='hidden' name='li_price{$counter}' value='{$_subtotal}'>";
                 //-- not sure what variable to pick
                 $ind_items .= "<input type='hidden' name='li_id{$counter}' value='{$ticket_name}'>";
                 $counter++;
             }
         }
     }
     $first_name = epl_get_attendee_form_value('ticket_buyer', 'first_name');
     $last_name = epl_get_attendee_form_value('ticket_buyer', 'last_name');
     $address = epl_get_attendee_form_value('ticket_buyer', 'address');
     $city = epl_get_attendee_form_value('ticket_buyer', 'city');
     $state = epl_get_attendee_form_value('ticket_buyer', 'state');
     $zip = epl_get_attendee_form_value('ticket_buyer', 'zip');
     $email = epl_get_attendee_form_value('ticket_buyer', 'email');
     $total = number_format($_totals['money_totals']['grand_total'], 2, '.', '');
     $this->redirect_form_data = '';
     $this->redirect_form_data .= "<input type='hidden' name='hpp_id' value='{$store_id}' />";
     $this->redirect_form_data .= "<input type='hidden' name='hpp_key' value='{$api_token}' />";
     $this->redirect_form_data .= "<input type='hidden' name='amount' value='{$total}' />";
     //-- must be unique, regis_id should be OK
     $this->redirect_form_data .= "<input type='hidden' name='order_no' value='{$regis_id}' />";
     //--get registration email, so they can get receipt
     if (!$test_mode) {
         $this->redirect_form_data .= "<input type='hidden' name='client_email' value='{$email}' />";
     }
     //--not sure what to use, payee name better then nothing. max 50 chars
     //$cust_id = substr( preg_replace( "/[^a-zA-Z0-9]/", " ", $first_name . " " . $last_name ), 0, 50 );
     $this->redirect_form_data .= "<input type='hidden' name='cust_id' value='{$regis_id}' />";
     //--not sure what to use, add option in payment profile, Thank you for choosing.....
     $this->redirect_form_data .= "<input type='hidden' name='note' value='{$note}' />";
     $this->redirect_form_data .= $ind_items;
     $this->redirect_form_data .= "<input type='hidden' name='rvar_pid' value='{$post_ID}' />";
     $this->redirect_form_data .= "<input type='hidden' name='rvar_rid' value='{$regis_id}' />";
     $this->redirect_form_data .= "<input type='hidden' name='rvar_eid' value='{$event_id}' />";
     $this->redirect_form_data .= "<input type='hidden' name='li_shipping' value='0.00' />";
     $this->redirect_form_data .= "<input type='hidden' name='li_taxes' value='0.00' />";
 }
function epl_cc_billing_fields()
{
    global $epl_fields;
    $epl_fields['epl_cc_billing_fields'] = array('_epl_cc_first_name' => array('weight' => 5, 'input_type' => 'text', 'input_name' => '_epl_cc_first_name', 'label' => epl__('First Name'), 'default_value' => epl_get_attendee_form_value('ticket_buyer', 'first_name'), 'required' => true), '_epl_cc_last_name' => array('weight' => 10, 'input_type' => 'text', 'input_name' => '_epl_cc_last_name', 'label' => epl__('Last Name'), 'default_value' => epl_get_attendee_form_value('ticket_buyer', 'last_name'), 'required' => true), '_epl_cc_address' => array('weight' => 15, 'input_type' => 'text', 'input_name' => '_epl_cc_address', 'label' => epl__('Address'), 'default_value' => epl_get_attendee_form_value('ticket_buyer', 'address'), 'required' => true), '_epl_cc_city' => array('weight' => 20, 'input_type' => 'text', 'input_name' => '_epl_cc_city', 'label' => epl__('City'), 'default_value' => epl_get_attendee_form_value('ticket_buyer', 'city'), 'required' => true), '_epl_cc_state' => array('weight' => 25, 'input_type' => 'text', 'input_name' => '_epl_cc_state', 'label' => epl__('State'), 'default_value' => epl_get_attendee_form_value('ticket_buyer', 'state'), 'required' => true), '_epl_cc_zip' => array('weight' => 30, 'input_type' => 'text', 'input_name' => '_epl_cc_zip', 'label' => epl__('Zip'), 'default_value' => epl_get_attendee_form_value('ticket_buyer', 'zip'), 'required' => true), '_epl_cc_country' => array('weight' => 35, 'input_type' => 'select', 'input_name' => '_epl_cc_country', 'label' => epl__('Country'), 'options' => epl_country_codes(), 'default_value' => 'US', 'class' => 'epl_70', 'value' => epl_get_element('_epl_cc_country', $_POST), 'required' => true), '_epl_cc_card_type' => array('weight' => 40, 'input_type' => 'select', 'input_name' => '_epl_cc_card_type', 'label' => epl__('Card Type'), 'options' => array('Visa' => 'Visa', 'MasterCard' => 'Master Card', 'Discover' => 'Discover', 'Amex' => 'Amex'), 'class' => 'epl_70', 'value' => epl_get_element('_epl_cc_exp_month', $_POST), 'required' => true), '_epl_cc_num' => array('weight' => 45, 'input_type' => 'text', 'input_name' => '_epl_cc_num', 'label' => epl__('Card Number'), 'required' => true), '_epl_cc_cvv' => array('weight' => 50, 'input_type' => 'text', 'input_name' => '_epl_cc_cvv', 'label' => epl__('CVV Code'), 'required' => true), '_epl_cc_exp_month' => array('weight' => 55, 'input_type' => 'select', 'input_name' => '_epl_cc_exp_month', 'label' => epl__('Expiration Month'), 'options' => epl_month_dd(), 'class' => 'epl_w70', 'value' => epl_get_element('_epl_cc_exp_month', $_POST), 'required' => true), '_epl_cc_exp_year' => array('weight' => 60, 'input_type' => 'select', 'input_name' => '_epl_cc_exp_year', 'label' => epl__('Expiration Year'), 'options' => epl_make_array(date_i18n('Y'), date_i18n('Y') + 10), 'class' => 'epl_w70', 'value' => epl_get_element('_epl_cc_exp_year', $_POST), 'required' => true));
    $epl_fields['epl_cc_billing_fields'] = apply_filters('epl_cc_billing_fields', $epl_fields['epl_cc_billing_fields']);
    uasort($epl_fields['epl_cc_billing_fields'], 'epl_sort_by_weight');
    return $epl_fields;
}