function epl_array_flatten($array, $preserve_keys = 0, &$out = array()) { if (!is_array($array)) { return $array; } foreach ($array as $key => $child) { if (is_array($child)) { $out = epl_array_flatten($child, $preserve_keys, $out); } elseif ($preserve_keys + is_string($key) > 1) { $out[$key] = $child; } else { $out[] = $child; } } return $out; }
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 }