/** * Generate a list of all event employees and output as a HTML table. * * @since 1.3 * @param * @return */ function mdjm_do_event_employees_list_table($event_id) { global $wp_roles; $employees = mdjm_get_event_employees_data($event_id); if (!$employees) { return; } ?> <table class="widefat mdjm_event_employee_list"> <thead> <tr> <th style="text-align:left; width:25%;"><?php _e('Role', 'mobile-dj-manager'); ?> </th> <th style="text-align:left; width:25%;"><?php _e('Name', 'mobile-dj-manager'); ?> </th> <th style="text-align:left; width:20%;"><?php _e('Wage', 'mobile-dj-manager'); ?> </th> <th style="text-align:left;"><?php _e('Status', 'mobile-dj-manager'); ?> </th> </tr> </thead> <tbody> <?php foreach ($employees as $employee) { ?> <tr class="mdjm_field_wrapper"> <td><?php echo translate_user_role($wp_roles->roles[$employee['role']]['name']); ?> </td> <td><?php echo mdjm_get_employee_display_name($employee['id']); ?> </td> <td> <?php if (mdjm_get_option('enable_employee_payments') && mdjm_employee_can('manage_txns')) { ?> <?php echo mdjm_currency_filter(mdjm_sanitize_amount($employee['wage'])); ?> <?php } ?> </td> <td> <?php if (mdjm_employee_can('mdjm_event_edit')) { ?> <?php if ('paid' != mdjm_get_employees_event_payment_status($event_id, $employee['id'])) { ?> <?php printf(__('<a class="button button-secondary button-small remove_event_employee" style="margin: 6px 0 10px;" data-employee_id="%1$d" id="remove-employee-%1$d">Remove</a>', 'mobile-dj-manager'), $employee['id']); ?> <?php } elseif (mdjm_get_option('enable_employee_payments')) { ?> <?php printf(__('<a href="%s">Paid</a>', 'mobile-dj-manager'), !empty($employee['txn_id']) ? get_edit_post_link($employee['txn_id']) : ''); ?> <?php } ?> <?php } ?> </td> </tr> <?php } ?> </tbody> </table> <?php }
/** * Get the Export Data * * @access public * @since 1.4 * @return arr $data The data for the CSV file */ public function get_data() { global $wp_roles; $data = array(); $mdjm_roles = mdjm_get_roles(); $roles = array(); $offset = 30 * ($this->step - 1); foreach ($mdjm_roles as $role_id => $role_name) { $roles[] = $role_id; } $args = array('number' => 30, 'offset' => $offset, 'paged' => $this->step, 'role__in' => $roles); $employee_query = new WP_User_Query($args); $employees = $employee_query->get_results(); $i = 0; if ($employees) { foreach ($employees as $employee) { $events = mdjm_get_employee_events($employee->ID); $wages = 0; $paid = 0; $role_names = array(); foreach ($employee->roles as $role) { $role_names[] = translate_user_role($wp_roles->roles[$role]['name']); } $data[$i]['id'] = $employee->ID; $data[$i]['name'] = $employee->display_name; $data[$i]['email'] = $employee->user_email; $data[$i]['events'] = $events ? count($events) : 0; $data[$i]['roles'] = implode(', ', $role_names); if ($events) { foreach ($events as $event) { $event_wage = mdjm_get_employees_event_wage($event->ID, $employee->ID); $wages += $event_wage; if (!empty($event_wage) && 'paid' == mdjm_get_employees_event_payment_status($event->ID, $employee->ID)) { $paid += $wages; } } } $data[$i]['wages'] = mdjm_format_amount($wages); $data[$i]['paid'] = mdjm_format_amount($paid); $data[$i]['owed'] = mdjm_format_amount($wages - $paid); $i++; } } $data = apply_filters('mdjm_export_get_data', $data); $data = apply_filters('mdjm_export_get_data_' . $this->export_type, $data); return $data; }