diff --git a/application/controllers/Qslprint.php b/application/controllers/Qslprint.php index d0afd83b..39fa3326 100644 --- a/application/controllers/Qslprint.php +++ b/application/controllers/Qslprint.php @@ -15,13 +15,19 @@ class QSLPrint extends CI_Controller { { $this->load->model('user_model'); if(!$this->user_model->authorize(99)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); } - + + $this->load->model('stations'); + $data['station_profile'] = $this->stations->all(); + + $this->load->model('qslprint_model'); + $data['qsos'] = $this->qslprint_model->get_qsos_for_print(); + $data['page_title'] = "Print Requested QSLs"; $this->load->view('interface_assets/header', $data); $this->load->view('qslprint/index'); $this->load->view('interface_assets/footer'); - + } public function exportadif() @@ -34,8 +40,8 @@ class QSLPrint extends CI_Controller { $data['qsos'] = $this->adif_data->export_printrequested(); $this->load->view('adif/data/exportall', $data); - } - + } + public function exportcsv() { // Set memory limit to unlimited to allow heavy usage @@ -50,51 +56,51 @@ class QSLPrint extends CI_Controller { header("Content-Description: File Transfer"); header("Content-Disposition: attachment; filename=$filename"); header("Content-Type: application/csv;charset=iso-8859-1"); - + // file creation $file = fopen('php://output', 'w'); - + $header = array("STATION_CALLSIGN", - "COL_CALL", - "COL_QSL_VIA", - "COL_TIME_ON", - "COL_MODE", - "COL_FREQ", - "COL_BAND", - "COL_RST_SENT", - "COL_SAT_NAME", - "COL_SAT_MODE", - "COL_QSL_RCVD", + "COL_CALL", + "COL_QSL_VIA", + "COL_TIME_ON", + "COL_MODE", + "COL_FREQ", + "COL_BAND", + "COL_RST_SENT", + "COL_SAT_NAME", + "COL_SAT_MODE", + "COL_QSL_RCVD", "COL_COMMENT", - "COL_ROUTING", - "ADIF", + "COL_ROUTING", + "ADIF", "ENTITY"); fputcsv($file, $header); - + foreach ($myData->result() as $qso) { - fputcsv($file, + fputcsv($file, array($qso->STATION_CALLSIGN, - str_replace("0", "Ø", $qso->COL_CALL), - $qso->COL_QSL_VIA!=""?"Via ".str_replace("0", "Ø", $qso->COL_QSL_VIA):"", - $qso->COL_TIME_ON, - $qso->COL_MODE, - $qso->COL_FREQ, - $qso->COL_BAND, - $qso->COL_RST_SENT, - $qso->COL_SAT_NAME, - $qso->COL_SAT_MODE, - $qso->COL_QSL_RCVD =='Y'?'TNX QSL':'PSE QSL', - $qso->COL_COMMENT, + str_replace("0", "Ø", $qso->COL_CALL), + $qso->COL_QSL_VIA!=""?"Via ".str_replace("0", "Ø", $qso->COL_QSL_VIA):"", + $qso->COL_TIME_ON, + $qso->COL_MODE, + $qso->COL_FREQ, + $qso->COL_BAND, + $qso->COL_RST_SENT, + $qso->COL_SAT_NAME, + $qso->COL_SAT_MODE, + $qso->COL_QSL_RCVD =='Y'?'TNX QSL':'PSE QSL', + $qso->COL_COMMENT, $qso->COL_ROUTING, - $qso->ADIF, + $qso->ADIF, $qso->ENTITY)); } fclose($file); exit; } - + function qsl_printed() { $this->load->model('qslprint_model'); $this->load->model('user_model'); @@ -111,4 +117,4 @@ class QSLPrint extends CI_Controller { } /* End of file Qslprint.php */ -/* Location: ./application/controllers/Qslprint.php */ \ No newline at end of file +/* Location: ./application/controllers/Qslprint.php */ diff --git a/application/models/Qslprint_model.php b/application/models/Qslprint_model.php index 1eb6f7a2..0ec74294 100644 --- a/application/models/Qslprint_model.php +++ b/application/models/Qslprint_model.php @@ -11,7 +11,7 @@ class Qslprint_model extends CI_Model { $CI =& get_instance(); $CI->load->model('Stations'); $station_id = $CI->Stations->find_active(); - + $data = array( 'COL_QSLSDATE' => date('Y-m-d'), 'COL_QSL_SENT' => "Y", @@ -22,6 +22,21 @@ class Qslprint_model extends CI_Model { $this->db->where("station_id", $station_id); $this->db->update($this->config->item('table_name'), $data); } + + function get_qsos_for_print() { + $CI =& get_instance(); + $CI->load->model('Stations'); + + $active_station_id = $this->stations->find_active(); + + $this->db->where($this->config->item('table_name').'.station_id', $active_station_id); + $this->db->join('station_profile', 'station_profile.station_id = '.$this->config->item('table_name').'.station_id'); + $this->db->where_in('COL_QSL_SENT', array('R', 'Q')); + $this->db->order_by("COL_TIME_ON", "ASC"); + $query = $this->db->get($this->config->item('table_name')); + + return $query; + } } -?> \ No newline at end of file +?> diff --git a/application/views/qslprint/index.php b/application/views/qslprint/index.php index 1553c7a1..a802138d 100644 --- a/application/views/qslprint/index.php +++ b/application/views/qslprint/index.php @@ -16,15 +16,54 @@ Export Requested QSLs for Printing
Here you can export requested QSLs as CSV or ADIF files for printing and, optionally, mark them as sent via bureau.
Requested QSLs are any QSOs with a value of "Requested" or "Queued" in their "QSL Sent" field.
Only QSOs under the active station profile will be exported.
- -Export requested QSLs to CSV-file
-Export requested QSLs to ADIF-file
- + result())) { + echo '| '.$this->lang->line('gen_hamradio_callsign').' | +Date | +Time | +Mode | +Band | +Station | ++ |
|---|---|---|---|---|---|---|
| ' . $qsl->COL_CALL . ' | '; + echo '' . $qsl->COL_TIME_ON . ' | '; + echo '' . $qsl->COL_TIME_ON . ' | '; + echo ''; if($qsl->COL_SAT_NAME != null) { echo $qsl->COL_SAT_NAME; } else { echo strtolower($qsl->COL_BAND); }; echo ' | '; + echo ''; echo $qsl->COL_SUBMODE==null?$qsl->COL_MODE:$qsl->COL_SUBMODE; echo ' | '; + echo '' . $qsl->station_callsign . ' | '; + echo ''; + echo ' |
Export requested QSLs to CSV-file
+ + + +