From c56aa4fa315866c3f877a0fa2bfc84a6affb2da7 Mon Sep 17 00:00:00 2001 From: Peter Goodhall Date: Sun, 1 Mar 2020 18:08:17 +0000 Subject: [PATCH] Updated Fancybox library, added function to save images to cloudlog from eqsl --- application/controllers/Eqsl.php | 49 +++++++++++++------ application/models/Eqsl_images.php | 34 +++++++++++++ application/views/interface_assets/footer.php | 3 +- application/views/interface_assets/header.php | 2 +- application/views/view_log/partial/log.php | 5 +- assets/css/jquery.fancybox.min.css | 1 + assets/js/jquery.fancybox.min.js | 13 +++++ 7 files changed, 87 insertions(+), 20 deletions(-) create mode 100644 application/models/Eqsl_images.php create mode 100644 assets/css/jquery.fancybox.min.css create mode 100644 assets/js/jquery.fancybox.min.js diff --git a/application/controllers/Eqsl.php b/application/controllers/Eqsl.php index ea6525c8..fc49b12b 100644 --- a/application/controllers/Eqsl.php +++ b/application/controllers/Eqsl.php @@ -569,30 +569,49 @@ class eqsl extends CI_Controller { $this->load->view('interface_assets/footer'); } - function image($callsign, $mode, $band, $hour, $minute, $day, $month, $year) { + function image($id, $callsign, $mode, $band, $hour, $minute, $day, $month, $year) { $this->load->library('eqsl_library'); + $this->load->model('Eqsl_images'); - $query = $this->user_model->get_by_id($this->session->userdata('user_id')); - $q = $query->row(); - $username = $q->user_eqsl_name; - $password = $q->user_eqsl_password; + if($this->Eqsl_images->get_image($id) == "No Image") { + $query = $this->user_model->get_by_id($this->session->userdata('user_id')); + $q = $query->row(); + $username = $q->user_eqsl_name; + $password = $q->user_eqsl_password; - $image_url = $this->eqsl_library->card_image($username, $password, $callsign, $band, $mode, $year, $month, $day, $hour, $minute); - $file = file_get_contents($image_url, true); + $image_url = $this->eqsl_library->card_image($username, $password, $callsign, $band, $mode, $year, $month, $day, $hour, $minute); + $file = file_get_contents($image_url, true); - $dom = new domDocument; - $dom->loadHTML($file); - $dom->preserveWhiteSpace = false; - $images = $dom->getElementsByTagName('img'); + $dom = new domDocument; + $dom->loadHTML($file); + $dom->preserveWhiteSpace = false; + $images = $dom->getElementsByTagName('img'); - foreach ($images as $image) - { - header('Content-Type: image/jpg'); - readfile ("https://www.eqsl.cc".$image->getAttribute('src')); + foreach ($images as $image) + { + header('Content-Type: image/jpg'); + readfile ("https://www.eqsl.cc".$image->getAttribute('src')); + $content = file_get_contents("https://www.eqsl.cc".$image->getAttribute('src')); + $filename = uniqid().'.jpg'; + file_put_contents('images/eqsl_card_images/' . '/'.$filename, $content); + + $this->Eqsl_images->save_image($id, $filename); + } + } else { + header('Content-Type: image/jpg'); + $image_url = base_url('images/eqsl_card_images/'.$this->Eqsl_images->get_image($id)); + readfile($image_url); } } + + function image_check($id) { + $this->load->model('Eqsl_images'); + + + echo $this->Eqsl_images->get_image($id); + } } // end class diff --git a/application/models/Eqsl_images.php b/application/models/Eqsl_images.php new file mode 100644 index 00000000..0e4674cc --- /dev/null +++ b/application/models/Eqsl_images.php @@ -0,0 +1,34 @@ +db->where('qso_id', $qso_id); + $query = $this->db->get('eQSL_images'); + + $row = $query->row(); + + if(isset($row)) { + return $row->image_file; + } else { + return "No Image"; + } + } + + function save_image($qso_id, $image_name) { + $data = array( + 'qso_id' => $qso_id, + 'image_file' => $image_name, + ); + + $this->db->insert('eQSL_images', $data); + } + +} + +?> \ No newline at end of file diff --git a/application/views/interface_assets/footer.php b/application/views/interface_assets/footer.php index 3ce77499..e52fb647 100644 --- a/application/views/interface_assets/footer.php +++ b/application/views/interface_assets/footer.php @@ -2,7 +2,7 @@ - + @@ -234,7 +234,6 @@ $(document).on('keypress',function(e) {