111 行
		
	
	
	
		
			3.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			111 行
		
	
	
	
		
			3.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 | |
| 
 | |
| /*
 | |
| 	Controller for SSTV Images
 | |
| */
 | |
| 
 | |
| class Sstv extends CI_Controller {
 | |
| 
 | |
|     function __construct() {
 | |
|         parent::__construct();
 | |
|         $this->lang->load('sstv');
 | |
|         $this->load->model('user_model');
 | |
|         if(!$this->user_model->authorize(2)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); }
 | |
|     }
 | |
| 
 | |
|     public function index() {
 | |
|         $this->load->helper('storage');
 | |
|         $folder_name = "assets/sstvimages";
 | |
|         $data['storage_used'] = sizeFormat(folderSize($folder_name));
 | |
| 
 | |
|         // Render Page
 | |
|         $data['page_title'] = "SSTV Images";
 | |
| 
 | |
|         $this->load->model('sstv_model');
 | |
|         $data['sstvArray'] = $this->sstv_model->getQsoWithSstvImageList();
 | |
| 
 | |
|         $this->load->view('interface_assets/header', $data);
 | |
|         $this->load->view('sstv/index');
 | |
|         $this->load->view('interface_assets/footer');
 | |
|     }
 | |
| 
 | |
|     public function uploadSSTV() {
 | |
|         $this->load->model('user_model');
 | |
|         if(!$this->user_model->authorize(2)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); }
 | |
| 
 | |
|         if (!file_exists('./assets/sstvimages')) {
 | |
|             mkdir('./assets/sstvimages', 0755, true);
 | |
|         }
 | |
|         $qsoid = $this->input->post('qsoid');
 | |
|         
 | |
|         $results = array();
 | |
|         if (isset($_FILES['sstvimages']) && $_FILES['sstvimages']['error'][0] == 0)
 | |
|         {
 | |
|             for($i=0; $i<count($_FILES['sstvimages']['name']); $i++) {
 | |
|                 $file = array(
 | |
|                     'name' => $_FILES['sstvimages']['name'][$i],
 | |
|                     'type' => $_FILES['sstvimages']['type'][$i],
 | |
|                     'tmp_name' => $_FILES['sstvimages']['tmp_name'][$i],
 | |
|                     'error' => $_FILES['sstvimages']['error'][$i],
 | |
|                     'size' => $_FILES['sstvimages']['size'][$i]
 | |
|                 );
 | |
|                 $result = $this->uploadSSTVImage($qsoid, $file);
 | |
|                 array_push($results, $result);
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         header("Content-type: application/json");
 | |
|         echo json_encode($results);
 | |
|     }
 | |
| 
 | |
|     function uploadSSTVImage($qsoid, $file) {
 | |
|         $config['upload_path']          = './assets/sstvimages';
 | |
|         $config['allowed_types']        = 'jpg|gif|png|jpeg|JPG|PNG|bmp';
 | |
|         $array = explode(".", $file['name']);
 | |
|         $ext = end($array);
 | |
|         $config['file_name'] = $qsoid . '.sstv.' . '_' . time() . '.' . $ext;
 | |
|     
 | |
|         $this->load->library('upload', $config);
 | |
|     
 | |
|         $_FILES['sstvimage'] = $file;
 | |
|         if ( ! $this->upload->do_upload('sstvimage')) {
 | |
|             // Upload of SSTV image Failed
 | |
|             $error = array('error' => $this->upload->display_errors());
 | |
|     
 | |
|             return $error;
 | |
|         }
 | |
|         else {
 | |
|             // Load database queries
 | |
|             $this->load->model('Sstv_model');
 | |
| 
 | |
|             //Upload of SSTV image was successful
 | |
|             $data = $this->upload->data();
 | |
| 
 | |
|             // Now we need to insert info into database about file
 | |
|             $filename = $data['file_name'];
 | |
|             $insertid = $this->Sstv_model->saveSstvImages($qsoid, $filename);
 | |
| 
 | |
|             $result['status']  = 'Success';
 | |
|             $result['insertid'] = $insertid;
 | |
|             $result['filename'] = $filename;
 | |
|             return $result;
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     
 | |
|     // Deletes SSTV Image
 | |
|     public function delete() {
 | |
|         $this->load->model('user_model');
 | |
|         if(!$this->user_model->authorize(2)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); }
 | |
| 
 | |
|         $id = $this->input->post('id');
 | |
|         $this->load->model('Sstv_model');
 | |
| 
 | |
|         $path = './assets/sstvimages/';
 | |
|         $file = $this->Sstv_model->getSSTVFilename($id)->row();
 | |
|         $filename = $file->filename;
 | |
|         unlink($path.$filename);
 | |
| 
 | |
|         $this->Sstv_model->deleteSstv($id);
 | |
|     }
 | |
| }
 |