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;
 }