diff --git a/application/controllers/Logbookadvanced.php b/application/controllers/Logbookadvanced.php index d041ba26..af66990b 100644 --- a/application/controllers/Logbookadvanced.php +++ b/application/controllers/Logbookadvanced.php @@ -115,6 +115,7 @@ class Logbookadvanced extends CI_Controller { 'sota' => xss_clean($this->input->post('sota')), 'pota' => xss_clean($this->input->post('pota')), 'wwff' => xss_clean($this->input->post('wwff')), + 'qslimages' => xss_clean($this->input->post('qslimages')), ); $qsos = []; @@ -225,4 +226,11 @@ class Logbookadvanced extends CI_Controller { public function startAtLabel() { $this->load->view('logbookadvanced/startatform'); } + + public function qslSlideshow() { + $cleanids = $this->security->xss_clean($this->input->post('ids')); + $this->load->model('logbookadvanced_model'); + $data['qslimages'] = $this->logbookadvanced_model->getQslsForQsoIds($cleanids); + $this->load->view('qslcard/qslcarousel', $data); + } } diff --git a/application/models/Logbookadvanced_model.php b/application/models/Logbookadvanced_model.php index d51d54d1..51af5d92 100644 --- a/application/models/Logbookadvanced_model.php +++ b/application/models/Logbookadvanced_model.php @@ -168,6 +168,18 @@ class Logbookadvanced_model extends CI_Model { $limit = $searchCriteria['qsoresults']; + $where2 = ''; + + if ($searchCriteria['qslimages'] !== '') { + if ($searchCriteria['qslimages'] == 'Y') { + $where2 .= ' and x.qslcount > "0"'; + } + if ($searchCriteria['qslimages'] == 'N') { + $where2 .= ' and x.qslcount is null'; + } + } + + $sql = " SELECT * FROM " . $this->config->item('table_name') . " qsos @@ -181,6 +193,7 @@ class Logbookadvanced_model extends CI_Model { ) x on qsos.COL_PRIMARY_KEY = x.qsoid WHERE station_profile.user_id = ? $where + $where2 ORDER BY qsos.COL_TIME_ON desc, qsos.COL_PRIMARY_KEY desc LIMIT $limit "; @@ -391,4 +404,19 @@ class Logbookadvanced_model extends CI_Model { return $modes; } + + function getQslsForQsoIds($ids) { + $CI =& get_instance(); + $CI->load->model('logbooks_model'); + $logbooks_locations_array = $CI->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook')); + + $this->db->select('*'); + $this->db->from($this->config->item('table_name')); + $this->db->join('qsl_images', 'qsl_images.qsoid = ' . $this->config->item('table_name') . '.col_primary_key'); + $this->db->where_in('qsoid', $ids); + $this->db->where_in('station_id', $logbooks_locations_array); + $this->db->order_by("id", "desc"); + + return $this->db->get()->result(); + } } diff --git a/application/views/logbookadvanced/index.php b/application/views/logbookadvanced/index.php index 13528f30..f0cc2024 100644 --- a/application/views/logbookadvanced/index.php +++ b/application/views/logbookadvanced/index.php @@ -247,6 +247,14 @@ +