%PDF- %PDF-
Direktori : /home/lightco1/luminero.com.au/libraries/compojoom/controller/ |
Current File : /home/lightco1/luminero.com.au/libraries/compojoom/controller/multimedia.php |
<?php /** * @package Lib_Compojoom * @author DanielDimitrov <daniel@compojoom.com> * @date 02.03.2015 * * @copyright Copyright (C) 2008 - 2013 compojoom.com . All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ defined('_JEXEC') or die('Restricted access'); jimport('joomla.application.component.controller'); jimport('joomla.filesystem.file'); jimport('joomla.filesystem.folder'); /** * Class CompojoomControllerMultimedia * * @since 3.0 */ abstract class CompojoomControllerMultimedia extends CompojoomController { /** * Act with an appropriate action * * @throws Exception * * @return void */ public function doIt() { // Check for request forgeries if (!JSession::checkToken('request')) { $this->sendResponse( array( array( "error" => JText::_('JINVALID_TOKEN'), "name" => '', "size" => '' ) ) ); JFactory::getApplication()->close(); } $requestType = $_SERVER['REQUEST_METHOD']; $input = JFactory::getApplication()->input; $multimediaModel = $this->getModel(); // We have to show the available files if ($requestType == 'GET') { $id = $input->getInt('id'); $files = $multimediaModel->getFiles($id); $this->sendResponse($files); JFactory::getApplication()->close(); } // Handle deletes of the files if ($requestType == 'DELETE') { $file = JFactory::getApplication()->input->getString('file'); $id = $input->getInt('id'); if ($multimediaModel->delete($file, $id)) { $response = array( $file => $multimediaModel->delete($file, $id) ); echo json_encode($response); } else { $response = array( $file => false ); echo json_encode($response); } JFactory::getApplication()->close(); } // If we have a post, then we are dealing with creating files if ($requestType == 'POST') { $this->upload(); JFactory::getApplication()->close(); } } /** * Handle the upload of a KML file * * @return void */ protected function upload() { $model = $this->getModel(); $input = JFactory::getApplication()->input; $file = $input->files->get('files', '', 'array'); $file = isset($file[0]) ? $file[0] : ''; $appl = JFactory::getApplication(); $uploadedFile = $model->uploadTmp($file); if ($uploadedFile) { $this->sendResponse( array($uploadedFile) ); return; } // If we are here, then we are dealing with errors $errors = $appl->getMessageQueue(); $error = array_pop($errors); $this->sendResponse( array( array( "error" => $error['message'], "name" => isset($file['name']) ? $file['name'] : '', "size" => isset($file['size']) ? $file['size'] : '' ) ) ); return; } /** * Echoes the response as json * * @param array $response - array with files * * @return void */ private function sendResponse($response) { $response = array( 'files' => $response ); echo json_encode($response); return; } }