75 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| defined('BASEPATH') OR exit('No direct script access allowed');
 | |
| 
 | |
| class Files extends MY_Controller
 | |
| {
 | |
| 
 | |
|     public function __construct()
 | |
|     {
 | |
|         parent::__construct();
 | |
|         $this->load->model('FileModel', '', TRUE);
 | |
|     }
 | |
| 
 | |
|     public function index()
 | |
|     {
 | |
|         $this->neededPermission('file.view');
 | |
| 
 | |
|         if(isset($_FILES['fileUpload'])) {
 | |
|             $fileName = $_FILES['fileUpload']['name'];
 | |
|             $tmpName = $_FILES['fileUpload']['tmp_name'];
 | |
|             $fileSize = $_FILES['fileUpload']['size'];
 | |
|             $fileType = $_FILES['fileUpload']['type'];
 | |
| 
 | |
|             $this->FileModel->uploadFile($fileName, $tmpName, $fileSize, $fileType, false);
 | |
| 
 | |
|             unset($_FILES['fileUpload']);
 | |
| 
 | |
|             redirect(base_url('admin/files'));
 | |
|         }
 | |
| 
 | |
| 
 | |
|         $files = $this->FileModel->getFileList();
 | |
| 
 | |
|         $this->load->view('admin/sidebar', ['title' => 'Alle Dateien', 'additionalStyles' => ['lib/jquery.fileupload.css', 'lib/jquery.fileupload-ui.css']]);
 | |
|         $this->load->view('admin/files', ['files' => $files]);
 | |
|         $this->load->view('admin/footer', ['additionalScripts' => ['lib/jquery.ui.widget.js', 'lib/jquery.iframe-transport.js', 'lib/jquery.fileupload.js', 'lib/jquery.fileupload-process.js', 'lib/jquery.fileupload-image.js', 'lib/jquery.fileupload-audio.js', 'lib/jquery.fileupload-video.js', 'lib/jquery.fileupload-validate.js', 'lib/jquery.fileupload-ui.js']]);
 | |
|     }
 | |
| 
 | |
|     public function delete() {
 | |
|         $this->neededPermission('file.delete');
 | |
| 
 | |
|         $id = filter_input(INPUT_POST, "id");
 | |
|         $this->FileModel->delete($id);
 | |
|     }
 | |
| 
 | |
|     public function uploadImage()
 | |
|     {
 | |
|         header("Content-Type: application/json");
 | |
|         if (!$this->hasPermission('file.uploadManual')) {
 | |
|             echo json_encode([
 | |
|                 'success' => false,
 | |
|                 'message' => '<b>Fehler beim Upload!</b> Aufgrund von zu geringen Zugriffsrechten konnte das Bild leider nicht hochgeladen werden. Sollte es sich dabei um ein Irrtum handeln, kontaktiere bitte einen Admin über das Kontaktformular.'
 | |
|             ]);
 | |
|             exit;
 | |
|         }
 | |
| 
 | |
|         if(!isset($_POST['image']) || !isset($_POST['name']) || !isset($_POST['type']) || !isset($_POST['size'])) {
 | |
|             echo json_encode([
 | |
|                 'success' => false,
 | |
|                 'message' => '<b>Fehler beim Upload!</b> Das hochgeladene Bild enthält fehlerhafte Informationen.'
 | |
|             ]);
 | |
|             exit;
 | |
|         }
 | |
|         $image = str_replace(' ', '+', $_POST['image']);
 | |
|         $image = substr($image, strpos($image, ',') + 1);
 | |
|         $image = base64_decode($image);
 | |
| 
 | |
|         $fileUrl = $this->FileModel->uploadFileByContent($image, $_POST['name'], $_POST['type'], $_POST['size']);
 | |
| 
 | |
|         echo json_encode([
 | |
|             'success' => true,
 | |
|             'message' => '<b>Bild erfolgreich hochgeladen!</b>',
 | |
|             'url' => $fileUrl
 | |
|         ]);
 | |
|     }
 | |
| } |