public function get_ticket_listing_by_equipment($equipment_type, $equipment_id) { $equipment_identifier = make_equipment_identifier($equipment_type, $equipment_id); $entries = array(); $DB_data = $this->load->database('default', TRUE); $ticket_listing = array(); //get tickets with this piece of equipment $DB_data->select('ticket_id')->distinct(); $ticket_query = $DB_data->get_where(TICKET_EQUIPMENT_TABLE, array("equipment_identifier" => $equipment_identifier)); if ($ticket_query && $ticket_query->num_rows() > 0) { foreach ($ticket_query->result() as $row) { $ticket_listing[$row->ticket_id] = array(); } } if (!empty($ticket_listing)) { $details_query = $DB_data->where_in('id', array_keys($ticket_listing))->get(TICKET_DETAILS_TABLE); if ($details_query && $details_query->num_rows() > 0) { foreach ($details_query->result_array() as $row) { $ticket_id = $row['id']; unset($row['id']); $entries[$ticket_id] = $row; } } $equipment_list = array(); $DB_data->select(array("equipment_identifier", "ticket_id")); $assoc_equipment_query = $DB_data->where_in('ticket_id', array_keys($ticket_listing))->where('ISNULL(`deleted_at`)')->get(TICKET_EQUIPMENT_TABLE); if ($assoc_equipment_query && $assoc_equipment_query->num_rows() > 0) { foreach ($assoc_equipment_query->result() as $row) { extract(split_equipment_identifier($row->equipment_identifier)); $entries[$row->ticket_id]['equipment'][$equipment_type][$equipment_id] = array('identifier' => $row->equipment_identifier, 'id' => $equipment_id, 'name' => $this->get_equipment_name($row->equipment_identifier)); } } } $my_equipment_name = $this->get_equipment_name(make_equipment_identifier($equipment_type, $equipment_id)); $results = array('entries' => $entries, 'section_name' => "{$equipment_type}_{$my_equipment_name}", 'section_description' => ucwords($equipment_type) . ": {$my_equipment_name} Tickets"); return $results; }
public function get_equipment_table($equipment_type, $name_filter) { $site_id = $this->site_id; $query = $this->retrieve_equipment_query($equipment_type, $site_id, $name_filter); $tmpl = array('table_open' => "<table class=\"members_table\" id=\"pending_param_file_table\">", 'row_start' => '<tr class="prim_row">', 'row_alt_start' => '<tr class="sec_row">', 'heading_row_start' => '<tr>', 'heading_row_end' => '</tr>'); $this->table->set_template($tmpl); $table_data = array(); if ($query && $query->num_rows > 0) { foreach ($query->result_array() as $row) { $item_type = array_pop($row); $equipment_identifier = split_equipment_identifier(array_pop($row)); $equipment_id = $equipment_identifier['equipment_id']; $row['Name'] = anchor("equipment/{$equipment_type}/{$equipment_id}", $row['Name']); $row['Description'] = !empty($row["Description"]) ? "<ul class='equipment_desc'><li>" . str_replace("\n", "</li><li>", $row["Description"]) . "</li></ul>" : ""; if (empty($row["Current Location"])) { array_pop($row); } $table_data[] = $row; } $this->table->set_heading(array_keys($row)); $table = $this->table->generate($table_data); } else { $table = "<h2>No equipment found in the " . $this->get_equipment_display_name($equipment_type, true) . " category</h2>"; } return $table; }