/*background-color: #e9e9e9;*/ margin:10px; border:1px solid #eee; padding:10px 20px; overflow: hidden; } </style> <div id="epl_user_schedule_wrapper"> <form action="<?php echo epl_get_url(); ?> " method="post"> <?php foreach ($list as $regis_info) { ?> <div class="epl_user_schedule_ind_wrapper"> <?php echo $regis_info; ?> </div>
function epl_get_send_email_button($regis_id = false, $event_id = false, $img = false) { $send_email_arr = array('epl_action' => 'get_the_email_form', 'epl_controller' => 'epl_report_manager', 'event_id' => $event_id, 'post_ID' => $regis_id); $anchor = epl__('Send Email'); $class = 'button-primary'; if ($img) { $anchor = '<img src="' . EPL_FULL_URL . 'images/email.png" />'; $class = ''; } return epl_anchor(add_query_arg($send_email_arr, epl_get_url()), $anchor, null, "class='epl_send_email_form_link {$class}' data-post_ID='{$regis_id}' data-event_id='{$event_id}'"); }
function payson_process($ipn = false) { global $event_details; $event_id = $this->erm->get_current_event_id(); //key( ( array ) $_SESSION['__epl'][$regis_id]['events'] ); if (is_null($event_id)) { return false; } $this->epl->load_file('libraries/gateways/payson/paysonapi.php'); $url = epl_get_url(); $regis_id = epl_get_element('regis_id', $_REQUEST, $this->erm->get_regis_id()); $post_ID = epl_get_element('trackingId', $_REQUEST) ? intval(epl_get_element('trackingId', $_REQUEST)) : $this->erm->get_regis_post_id(); if (!$ipn) { $gwID = epl_get_element('custom', $_REQUEST) ? intval(epl_get_element('custom', $_REQUEST)) : $this->erm->get_payment_profile_id(); $gw_credentials = $this->_get_credentials($gwID, array('_epl_seller_email')); $credentials = new PaysonCredentials($gw_credentials['_epl_user'], $gw_credentials['_epl_pwd']); $api = new PaysonApi($credentials); } // echo "<pre class='prettyprint'>" . __LINE__ . "> " . print_r(get_post_meta($post_ID, '_epl_payment_method'), true). "</pre>"; //ipn processor if ($ipn && $post_ID) { $gwID = get_post_meta($post_ID, '_epl_payment_method', true); $gw_credentials = $this->_get_credentials($gwID, array('_epl_seller_email')); $credentials = new PaysonCredentials($gw_credentials['_epl_user'], $gw_credentials['_epl_pwd']); $api = new PaysonApi($credentials); $postData = file_get_contents("php://input"); $response = $api->validate($postData); if ($response->isVerified()) { // IPN request is verified with Payson // Check details to find out what happened with the payment $details = $response->getPaymentDetails(); $data['post_ID'] = $post_ID; $data['_epl_regis_status'] = 5; $data['_epl_payment_amount'] = get_post_meta($post_ID, '_epl_grand_total', true); //$details->receivers[0]['amount']; $data['_epl_payment_date'] = current_time('mysql'); //$data['_epl_transaction_id'] = $details->purchaseId; //$data = apply_filters( 'epl_payson_before_update_db', $data ); $this->erm->update_payment_data($data); } return true; } $this->ecm->setup_event_details($event_id); $_totals = $this->erm->calculate_cart_totals(); $returnUrl = add_query_arg(array('cart_action' => false, 'trackingId' => $post_ID, 'gw_id' => $gwID, 'custom' => $gwID, 'epl_action' => '_payson_success'), $url); $cancelUrl = add_query_arg(array('cart_action' => false, 'trackingId' => $post_ID, 'gw_id' => $gwID, 'custom' => $gwID, 'epl_action' => 'regis_form'), $url); $ipnUrl = add_query_arg(array('cart_action' => false, 'trackingId' => $post_ID, 'gw_id' => $gwID, 'custom' => $gwID, 'epl_action' => '_payson_ipn'), $url); $buyer_email = $this->erm->get_primary_field_value('email'); $buyer_f_name = $this->erm->get_primary_field_value('first_name'); $buyer_l_email = $this->erm->get_primary_field_value('last_name'); $total = $_totals['money_totals']['grand_total']; $description = $event_details['post_title']; $receiver = new Receiver($gw_credentials['_epl_seller_email'], number_format($total, 2, ',', '')); // The amount you want to charge the user, here in SEK (the default currency) $receivers = array($receiver); $sender = new Sender($buyer_email, $buyer_f_name, $buyer_l_email); $payData = new PayData($returnUrl, $cancelUrl, $ipnUrl, $description, $sender, $receivers); // Set guarantee options $payData->setGuaranteeOffered(GuaranteeOffered::NO); /* * Step 2 initiate payment */ $payResponse = $api->pay($payData); /* * Step 3: verify that it suceeded */ if ($payResponse->getResponseEnvelope()->wasSuccessful()) { $data['post_ID'] = $post_ID; $data['_epl_regis_status'] = 2; $data['_epl_grand_total'] = number_format(epl_get_balance_due(), 2); $data['_epl_payment_amount'] = 0; $data['_epl_payment_date'] = ''; $data['_epl_payment_method'] = $gwID; $data['_epl_transaction_id'] = ''; $data['_epl_prediscount_total'] = number_format(epl_get_element('pre_discount_total', $_totals['money_totals'], 0), 2); $data['_epl_discount_amount'] = number_format(epl_get_element('discount_amount', $_totals['money_totals'], 0), 2); $data = apply_filters('epl_payson_before_update_db', $data); $this->erm->update_payment_data($data); return $payResponse; //need to return the $payResponse object } else { return false; } }
function construct_form($scope, $event_id, $forms, $attendee_number, $price_name = '', $price_id = null, $date_display = null) { static $ticket_number = 0; //keeps track of the attendee count for dispalay static $primary_counter = 1; //keeps track of the attendee count for dispalay static $primary_forms = array(); global $event_details, $customer_email, $customer_name, $regis_details; global $email_regis_form; //TODO temp solution $has_email_field = false; if (!is_array($customer_email)) { $customer_email = array(); $customer_name = array(); } if ($email_regis_form == '') { $ticket_number = 0; } if ($scope != 'waitlist' && ($this->pulling_forms == 'pri' && $this->num_events_in_cart > 1 && $primary_counter < $this->num_events_in_cart)) { $ticket_number = 0; $primary_forms += $forms; $primary_counter++; return ''; } $ur_specific = ''; if ($scope == 'ticket_buyer' && !is_user_logged_in() && epl_um_is_enabled() && $this->add_new_user_enable() != 0 && $this->add_new_user_method() == 1) { $ur_specific = epl__("This email will be used to grant you membership access to our website."); if (!$this->add_new_user_show_pass_fields()) { $ur_specific .= '<br />' . epl__(" You will receive an email with your password after completing this registration."); } if ($this->mode != 'overview') { $ur_specific .= '<br />' . sprintf(epl__("If you are already a member of the website, please %s"), "<a href=" . wp_login_url(epl_get_url()) . " class='' title='Login'>" . epl__('Login Here') . "</a>"); } } if ($ticket_number == 0 && !empty($primary_forms)) { $forms += $primary_forms; } $vals = $this->get_relevant_regis_values(); //if data has already been entered into the session, get that data //$ticket_number = $attendee_number; $data['mode'] = $this->mode; //to compensate for pre 1.2.9 data if (!is_null($price_id) && version_compare(epl_regis_plugin_version(), '1.2.9', '<')) { if ($temp_price_id != $price_id) { $temp_price_id = $price_id; $ticket_number = 1; } } $data['ticket_number'] = $ticket_number; //counter $ticket_number = $attendee_number; //counter $data['ticket_counter_label'] = epl_get_element('_epl_addit_regis_form_counter_label', $event_details, epl__('Attendee')); //counter $data['price_name'] = $date_display != '' ? $date_display . ' - ' . $price_name : $price_name; //ticket name //if it is the ticket buyer form (the main required form) if ($scope == 'ticket_buyer') { unset($data['ticket_number']); unset($data['price_name']); } $data['copy_link'] = false; if ($scope == 'regis_forms') { $data['copy_link'] = epl_get_element('_epl_enable_form_to_form_copy', $event_details, 0) == 10 || epl_get_setting('epl_sc_options', 'epl_sc_form_to_form_copy', 0) == 10; } $data['fields'] = ''; $data['forms'] = ''; $data['form'] = ''; $data['email_fields'] = ''; $data['email_body_form'] = ''; $available_fields = (array) $this->ecm->get_list_of_available_fields(); //get the list of all available fields made with form manager $who_to_email = epl_get_setting('epl_registration_options', 'epl_send_customer_confirm_message_to', 1); if ($who_to_email == 2 || !epl_has_primary_forms()) { $who_to_email = 2; } foreach ($forms as $form_id => $form_atts) { $r = ''; $data['fields'] = ''; $data['email_fields'] = ''; $epl_fields_inside_form = array_flip($form_atts['epl_form_fields']); //get the field ids inside the form //when creating a form in form manager, the user may rearrange fields. Find their desired order $epl_fields_to_display = $this->epl_util->sort_array_by_array($available_fields, $epl_fields_inside_form); //for each field, there are attributes, like name, label, .... foreach ($epl_fields_to_display as $field_id => $field_atts) { if ($field_atts['input_type'] == 'hidden' && !EPL_IS_ADMIN) { continue; } if (epl_get_element('admin_only', $field_atts, 0) == 10 && !epl_user_is_admin() && !EPL_IS_ADMIN) { continue; } //if the field choices values are not given for select, radio, or checkbox //we will use field labels as values if (!array_filter((array) $field_atts['epl_field_choice_value'], 'trim')) { $options = $field_atts['epl_field_choice_text']; } else { $options = array_combine($field_atts['epl_field_choice_value'], $field_atts['epl_field_choice_text']); } //this will give the ability to select more than one option, for checkboxes and later, selects $adjuster = $field_atts['input_type'] == 'checkbox' ? '[]' : ''; $_price_id_adjuster = !is_null($price_id) ? "[{$price_id}]" : null; $event_id_adjuster = "[{$event_id}]"; /* $_val = ($vals != '' && epl_get_element( $field_atts['input_name'], $vals ) && epl_get_element( $event_id, $vals[$field_atts['input_name']] ) ) ? epl_get_element( $ticket_number, (is_null( $_price_id_adjuster )? $vals[$field_atts['input_name']][$event_id] : epl_get_element( $price_id, $vals[$field_atts['input_name']][$event_id] ) ) ) : null; */ //echo "<pre class='prettyprint'>" . __LINE__ . "> $price_id " . print_r( $_price_id_adjuster, true ) . "</pre>"; $_val = null; if ($vals != '') { if (epl_get_element($field_atts['input_name'], $vals)) { //not sure why I had || in here if (isset($vals[$field_atts['input_name']][$ticket_number])) { $_val = epl_get_element($ticket_number, $vals[$field_atts['input_name']]); /* if ( !is_null( $price_id ) ){ $_val = epl_get_element_m($ticket_number, $price_id, $_val ); echo "<pre class='prettyprint'>" . __LINE__ . ">$ticket_number " . print_r($_val, true). "</pre>"; } */ } elseif (!empty($_POST['deleted_event'])) { //if this element is posted, that means an event was removed from the cart. //it will contain the event id, price id and the quantities. $vals = $this->get_old_regis_values(); //get the values that were save in the db previously foreach ($_POST['deleted_event'] as $deleted_event_id => $deleted_data) { foreach ($deleted_data as $deleted_price_id => $quantities) { if ($quantities == 0) { continue; } if (is_null($_price_id_adjuster)) { $_val = epl_get_element($ticket_number, $vals[$field_atts['input_name']][$deleted_event_id]); } else { $_val = epl_get_element($ticket_number, epl_get_element($deleted_price_id, $vals[$field_atts['input_name']][$deleted_event_id])); } if ($_val != '') { break 2; } } } } elseif (epl_get_element($event_id, $vals[$field_atts['input_name']])) { if (is_null($_price_id_adjuster)) { $_val = epl_get_element($ticket_number, $vals[$field_atts['input_name']][$event_id]); } else { $_val = epl_get_element($ticket_number, epl_get_element($price_id, $vals[$field_atts['input_name']][$event_id])); } } } } if ($scope == 'ticket_buyer' || $scope == 'waitlist') { $event_id_adjuster = ''; } $args = array('input_type' => $field_atts['input_type'], 'input_name' => $field_atts['input_name'] . $event_id_adjuster . $_price_id_adjuster . "[{$ticket_number}]" . $adjuster, 'label' => $field_atts['label'], 'description' => $field_atts['description'] . ($field_atts['input_name'] == '4e794a6eeeb9a' ? $ur_specific : ''), 'required' => $field_atts['required'], 'validation' => epl_get_element('validation', $field_atts, ''), 'options' => $options, 'value' => $_val, 'class' => 'epl_field epl_field-' . $field_atts['input_type'], 'data_attr' => array('ticket_no' => $ticket_number)); if (empty($_val)) { $last_regis_data = $this->epl_get_last_regis_form_data_values($ticket_number); if (!epl_is_empty_array($last_regis_data)) { $args['default_value'] = epl_get_element($field_atts['input_name'], $last_regis_data); } elseif ($ticket_number == 0) { $def_val = apply_filters('epl_construct_form_default_value', $field_atts); $args['default_value'] = !is_array($def_val) && !is_null($def_val) ? $def_val : $field_atts['default_value']; } else { $args['default_value'] = $field_atts['default_value']; } } if ($who_to_email == 1 && $ticket_number == 0 || $who_to_email == 2) { if (stripos($field_atts['input_slug'], 'email') !== false) { $customer_email[$ticket_number] = $args['value']; $has_email_field = true; } if (stripos($field_atts['input_slug'], 'first_name') !== false || stripos($field_atts['input_slug'], 'last_name') !== false) { $customer_name[$ticket_number][$field_atts['input_slug']] = $args['value']; } } //if overview, we don't want to display the field, just the value if ($this->mode == 'overview') { $args += (array) $this->overview_trigger; unset($args['required']); } $data['el'] = $this->epl_util->create_element($args, 0); $data['fields'] .= $this->epl->load_view($this->dest . '/registration/regis-field-row', $data, true); $data['email_fields'] .= $this->epl->load_view($this->dest . '/registration/regis-email-field-row', $data, true); } $data['event_title'] = $event_details['post_title']; $data['form_label'] = isset($form_atts['epl_form_options']) && in_array(0, (array) $form_atts['epl_form_options']) ? $form_atts['epl_form_label'] : ''; $data['form_descr'] = isset($form_atts['epl_form_options']) && in_array(10, (array) $form_atts['epl_form_options']) ? $form_atts['epl_form_descritption'] : ''; $r = $this->epl->load_view($this->dest . '/registration/regis-form-wrap', $data, true); $data['form'] .= $r; $data['email_body_form'] = $this->epl->load_view($this->dest . '/registration/regis-email-form-wrap', $data, true); $email_regis_form .= $data['email_body_form']; } if ($scope == 'ticket_buyer' || !epl_has_primary_forms()) { /* * - if enabled for all events * - and not set to no for this event * - or set to yes for this event */ $global_newsletter_ok = false; if (epl_get_setting('epl_api_option_fields', 'epl_mc_key') != '' && epl_get_setting('epl_api_option_fields', 'epl_mc_action') != 0 && epl_get_element('_epl_offer_notification_sign_up', $event_details) != 0) { $global_newsletter_ok = true; } if ($has_email_field && epl_get_setting('epl_api_option_fields', 'epl_mc_action') != 0 && (epl_get_element('_epl_offer_notification_sign_up', $event_details) == 1 && $global_newsletter_ok)) { $_newsletter_signup = array('input_type' => 'select', 'input_name' => "newsletter_signup[{$ticket_number}]", 'label' => epl_get_setting('epl_api_option_fields', 'epl_mc_permission_label'), 'options' => epl_yes_no(), 'value' => epl_get_element($ticket_number, $this->current_data[$this->regis_id]['newsletter_signup']), 'class' => 'epl_w70'); $data['el'] = $this->epl_util->create_element($_newsletter_signup + (array) $this->overview_trigger, 0); $data['form'] .= '<div class="epl_section epl_regis_field_wrapper regis_form">' . $this->epl->load_view($this->dest . '/registration/regis-field-row', $data, true) . '</div>'; } } //if ( $event_details[''] ) // $copy_from = ''; if ($this->mode != 'overview' && $data['copy_link'] || $this->on_admin) { $copy_from = '<a href="#" style="float:right;" class="epl_copy_from epl_button_small">' . epl__('Copy From') . '</a>'; } $lookup_form = epl_get_element('epl_m', $_POST, 0) == 0 && epl_um_is_enabled() && epl_user_is_admin() && $this->mode == 'edit' ? ' <a href="#" style="float:right;" class="open_lookup_form epl_button_small">' . epl__('Lookup') . '</a>' : ''; if ($ticket_number == 0) { $edit_profile_link = apply_filters('epl_edit_profile_link', null); $ticket_buyer_legend = apply_filters('epl_ticket_buyer_form_legend', epl__('Primary Registrant')); $r = "<div id='epl_form_section--0' class='epl_regis_attendee_wrapper'><fieldset class='epl_fieldset'><legend>" . $ticket_buyer_legend . ' ' . $edit_profile_link . "</legend>" . $lookup_form . $data['form'] . '</fieldset></div>'; } else { $delete_att = ''; if (EPL_IS_ADMIN) { $delete_att = "<a href='#' class='epl_button_small epl_admin_del_attendee' data-event_id='{$event_details['ID']}' data-price_id='{$price_id}' data-ticket_no={$ticket_number}>" . epl__("Delete") . "</a>"; $data['form'] .= "<input type='hidden' class='epl_ticket_no-{$event_id}-{$price_id}' value='{$ticket_number}' />"; } $r = "<div id='epl_form_section--" . (isset($ticket_number) ? $event_id . '-' . $price_id . '-' . $ticket_number : 0) . "' class='epl_regis_attendee_wrapper'><fieldset class='epl_fieldset'><legend>" . $data['ticket_counter_label'] . ' ' . $ticket_number . ': ' . $data['price_name'] . " - {$event_details['post_title']}</legend> {$lookup_form} {$copy_from} {$delete_att}" . $data['form'] . '</fieldset></div>'; } $ticket_number++; return $r; }
function epl_column_data($column_name, $post_ID) { global $epl_fields, $event_details, $event_snapshot; $this->ecm->setup_event_details($post_ID); $this->erm->event_snapshot($post_ID); switch ($column_name) { case 'id': echo $post_ID; break; case 'location': echo get_the_location_name(); break; case 'status': $s = epl_get_event_status(true); $class = 'status_' . key($s); echo "<span class='status {$class}'>" . current($s) . '</span>'; break; /* case 'epl_categories': foreach ( wp_get_object_terms( $id, 'epl_categories' ) as $tax ) $r[] = $tax->name; echo!is_array( $r ) ? '' : implode( ", ", $r ); break; */ /* case 'epl_categories': foreach ( wp_get_object_terms( $id, 'epl_categories' ) as $tax ) $r[] = $tax->name; echo!is_array( $r ) ? '' : implode( ", ", $r ); break; */ case 'start_date': $base_url = epl_get_url(); $event_regis_data = current($event_snapshot); $table_link_arr = array('epl_action' => 'view_names', 'epl_download_trigger' => 1, 'table_view' => 1, 'epl_controller' => 'epl_report_manager', 'event_id' => $event_id); $csv_link_arr = array('epl_action' => 'epl_attendee_list', 'epl_download_trigger' => 1, 'epl_controller' => 'epl_registration', 'event_id' => $event_id); if (epl_is_empty_array($event_regis_data)) { break; } $counter = 1; foreach ($event_regis_data as $date_id => $date_data) { $last_day = end($event_details['_epl_start_date']); if ($last_day > EPL_DATE && ($event_details['_epl_event_status'] == 1 && $date_data['date']['timestamp'] < EPL_DATE) || $counter > 1) { continue; } $counter++; $date = $date_data['date']['disp']; $date_capacity = epl_get_element_m($date_id, '_epl_date_capacity', $event_details); $times = $date_data['time']; ?> <table id="event_snapshot_table" class="event_snapshot_sorting"> <thead> <tr> <th><?php epl_e('Date'); ?> </th> <th><?php epl_e('Time'); ?> </th> <th><?php epl_e('Attendees'); ?> </th> <th></th> </tr> </thead> <?php foreach ($times as $time_id => $time_data) { 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; } $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)); $dt_array = array('date_id' => $date_id, 'time_id' => $time_id, 'event_id' => $post_ID); $table_link_arr = array_merge($table_link_arr, $dt_array); $csv_link_arr += $dt_array; ?> <tr class="epl_date_time"> <td><?php echo date_i18n('D M d, Y', epl_get_date_timestamp(epl_get_element($date_id, $event_details['_epl_start_date']))); ?> </td> <?php if (epl_is_time_optonal()) { ?> <td colspan="1"> - </td> <?php } else { ?> <td><?php echo $time_data['disp']; ?> </td> <?php } ?> <td><?php echo $time_data['regis']; ?> / <?php echo $capacity ? $capacity : '∞'; ?> </td> <td> <?php echo 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'; echo epl_anchor(add_query_arg($table_link_arr, $base_url), epl__('View Full Data'), null, 'class="epl_view_attendee_list_table button-secondary"'); echo epl_anchor(add_query_arg(array_merge($csv_link_arr, $dt_array), $base_url), epl__('Export CSV'), null, 'class="button-secondary"'); //echo epl_anchor( $_SERVER['PHP_SELF'] . '&epl_action=epl_event_snapshot&event_id=' . $post->ID, epl__( 'Snapshot' ), '_blank', "class='epl_event_snapshot' data-event_id = '" . $post->ID . "'" ); ?> </td> </tr> <?php } } ?> </table> <?php break; default: break; case 'actions': $url_vars = array('epl_action' => 'duplicate_event', 'event_id' => $post_ID); $url = add_query_arg($url_vars, epl_get_url()); echo " <a href='epl_action=duplicate_event&event_id={$post_ID}'><img src='" . EPL_FULL_URL . "images/status_online.png' title='" . epl__('Attendees') . "' alt='" . epl__('Attendees') . "' /></a>"; echo " <a href='epl_action=duplicate_event&event_id={$post_ID}'><img src='" . EPL_FULL_URL . "images/doc_excel_csv.png' title='" . epl__('Attendees') . "' alt='" . epl__('Attendees') . "' /></a>"; break; } // end switch }
</th> <th><?php epl_e('Status'); ?> </th> <th></th> </tr> </thead> <tbody> <?php global $event_details; $base_url = epl_get_url(); foreach ($user_bookings as $regis) { $event_id = $regis->event_id; setup_event_details($event_id); //date capacity $date_capacity = epl_get_element_m($regis->date_id, '_epl_date_capacity', $event_details, '∞'); //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);
function column_data($column_name, $post_ID) { global $epl_fields, $event_details, $regis_details; $this->regis_meta = $this->ecm->setup_regis_details($post_ID); $regis_id = $this->regis_meta['__epl']['_regis_id']; $event_id = ''; $event_name = ''; $num_attendees = ''; if (isset($this->regis_meta['_epl_events']) && !empty($this->regis_meta['_epl_events'])) { $event_id = key($this->regis_meta['_epl_events']); $this->ecm->setup_event_details($event_id); //$event_name = get_post( $event_id )->post_title; $event_name = $event_details['post_title']; $href = add_query_arg(array('epl_action' => 'epl_attendee_list', 'epl_download_trigger' => 1, 'event_id' => $event_id), epl_get_url()); $xl_href = add_query_arg(array('epl_action' => 'epl_excel_attendee_list', 'epl_download_trigger' => 1, 'post_ID' => $post_ID, 'event_id' => $event_id), epl_get_url()); //$event_name = '<a href="' . $href . '"><img src="' . EPL_FULL_URL . 'images/doc_excel_csv.png" /></a> <a data-post_id = "' . $post_ID . '" data-event_id="' . $event_id . '" class="epl_event_snapshot" href="#"><img id = "' . $event_id . '" src="' . EPL_FULL_URL . 'images/application_view_list.png" /> </a><span class="">' . $event_name . '</span>'; //$xevent_name = '<a href="' . $xl_href . '"><img src="' . EPL_FULL_URL . 'images/doc_excel_csv.png" /></a>'; //$event_name = $xevent_name . '<a href="' . $href . '"><img src="' . EPL_FULL_URL . 'images/doc_excel_csv.png" /></a><span class="event_name">' . $event_name . '</span>'; $xevent_name = '<span class="event_name1">' . $event_name . '</span><br />'; //<a href="' . $xl_href . '">Excel</a>, '; $event_name = $xevent_name . '<a href="' . $href . '">CSV</a>'; } switch ($column_name) { case 'attendees': if (is_array($this->regis_meta['__epl'][$regis_id]['_attendee_info']) && is_array($this->personal_field_ids)) { $d = array_intersect_key($this->regis_meta['__epl'][$regis_id]['_attendee_info'], $this->personal_field_ids); $r = array(); $fn = epl_array_flatten(current($d)); $ln = epl_array_flatten(next($d)); foreach ((array) $fn as $k => $v) { $r[] = $v . ' ' . stripslashes_deep(html_entity_decode(htmlspecialchars_decode(epl_get_element($k, $ln)), ENT_QUOTES, 'UTF-8')); } echo implode('<br>', array_unique($r)); } break; case 'id': echo $post_ID; break; case 'event': //TODO move to view $data = array(); echo '<table class="epl_regis_list_regis_details">'; foreach ((array) $this->regis_meta['__epl'][$regis_id]['_events'] as $event_id => $totals) { setup_event_details($event_id); $data['event_name'] = $event_details['post_title']; $data['quantity'] = epl_get_element($event_id, epl_get_element_m('total', '_att_quantity', $totals), 0); if ($data['quantity'] == 0) { //1.3 fix foreach ($this->regis_meta['__epl'][$regis_id]['_dates']['_att_quantity'][$event_id] as $pr => $q) { $data['quantity'] += array_sum($q); } } $link = epl_anchor(admin_url('post.php?post=' . $event_details['ID'] . '&action=edit'), $event_details['post_title']); echo "<tr><td>{$link}</td><td class='qty'>{$data['quantity']}</td></tr>"; } echo '</table>'; break; case 'num_attendees': /* $this->get_values( $post_ID ); $data['event_id'] = $event_id; //events, dates, times, prices, quantities $data['cart_data'] = $this->earm->__in( $this->event_meta + $this->regis_meta )->show_cart(); echo $this->epl->load_view( 'admin/registration/regis-list-cart-section', $data, true ); */ $num_attendees = $this->regis_meta['_total_att_' . $event_id]; if (epl_is_waitlist_record()) { foreach ($this->regis_meta as $key => $value) { if (strpos($key, "_total_waitlist_att_") !== false) { $num_attendees = $value . ' (' . epl__('waitlist') . ')'; break; } } } echo "<span class='num_attendees'>{$num_attendees}</span> "; if ($num_attendees > 0) { $href = add_query_arg(array('epl_action' => 'epl_regis_snapshot', 'post_ID' => $post_ID, 'event_id' => $event_id), epl_get_url()); echo ' <a data-post_id = "' . $post_ID . '" data-event_id="' . $event_id . '" class="epl_regis_snapshot" href="#"><img src="' . EPL_FULL_URL . 'images/application_view_list.png" /> </a>'; } echo epl_get_send_email_button($post_ID, $event_id, true); break; case 'payment_status': $payment_info = $this->payment_info_box($post_ID); echo $payment_info; $notes = epl_get_element('_epl_regis_note', $this->regis_meta, null); if ($notes) { $notes = get_post_meta($post_ID, '_epl_regis_note', false); foreach ($notes as $note) { $d = date_i18n('Y-m-d H:i', $note['timestamp']); echo "<p>{$note['action']}<span style='float:right'>{$d}</span></p>"; } } break; case 'payment': echo "Payment Info"; break; default: break; } // end switch }
function check_for_waitlist() { if (epl_is_waitlist_record() && !epl_is_waitlist_session_approved()) { if (!epl_is_valid_url_hash()) { return epl__('There seems to be something wrong with the url. Please contact the website administrator.'); } if (!epl_is_waitlist_approved()) { return epl__('This waitlist has not been approved.'); } if (epl_is_waitlist_link_expired()) { return epl__('This link has expired.'); } $_SESSION['__epl']['waitlist_approved'] = intval($_GET['event_id']); $this->erm->setup_current_data(); wp_redirect(add_query_arg(array('epl_rid' => false, 'epl_wlh' => false), epl_get_url())); die; } return true; }