Пример #1
1
 /**
  * @brief Accion que se encarga de manipular el proceso de guardar
  * un archivo en el servidor
  * @param array $allowedExtensions Arreglo de extensiones validas para el archivo
  * @param int $sizeLimit Tamaño maximo permitido del fichero que se sube
  */
 function upload($allowedExtensions, $sizeLimit = 10485760)
 {
     jimport('Amadeus.Util.Uploader');
     $media =& JComponentHelper::getParams('com_media');
     $postSize = $this->toBytes(ini_get('post_max_size'));
     $uploadSize = $this->toBytes(ini_get('upload_max_filesize'));
     $mediaSize = (int) $media->get('upload_maxsize');
     // Se selecciona el minimo tamaño válido para un fichero, de acuerdo
     // a los valores configurados en el php, el joomla y el componente.
     $sizeLimit = min($postSize, $uploadSize, $mediaSize, $sizeLimit);
     // Se alamacena la imagen en la ruta especificada
     $uploader = new qqFileUploader($allowedExtensions, $sizeLimit);
     $result = $uploader->handleUpload(JPATH_SITE . '/tmp/', true);
     if (!isset($result['error'])) {
         jimport('Amadeus.Util.Validation');
         $file = $uploader->getName();
         $result = AmadeusUtilValidation::isValidFile($file, $only_image);
         if (isset($result['error'])) {
             jimport('joomla.filesystem.file');
             if (!JFile::delete($file)) {
                 $result = array('error' => JText::_('DELETEERROR'));
             }
         } else {
             $this->_file = $file;
         }
     }
     return $result;
 }
Пример #2
0
 /**
  * @brief Accion ecargada de manipular el archivo que se esta cargando.
  *
  * Las validaciones se hacen con respecto a las configuraciones provistas
  * por el Joomla en su seccion "Configuracion Multimedia". Si la variable
  * \a only_image se encuentra con un valor verdadero, solo se permitira subir
  * archivos de tipo imagen, en caso contraro, archivos validos.
  */
 function upload()
 {
     $media =& JComponentHelper::getParams('com_media');
     $only_image = JRequest::getVar('only_image', '');
     if ($only_image == true) {
         $allowedExtensions = explode(',', $media->get('image_extensions'));
     } else {
         $allowedExtensions = explode(',', $media->get('upload_extensions'));
     }
     /// Se selecciona el menor valor para subir archivos, ya sea el configurado por el
     /// servidor o el configurado en el Joomla
     $postSize = $this->toBytes(ini_get('post_max_size'));
     $uploadSize = $this->toBytes(ini_get('upload_max_filesize'));
     $sizeLimit = (int) $media->get('upload_maxsize') * 1048576;
     $sizeLimit = min($postSize, $uploadSize, $sizeLimit);
     require_once JPATH_COMPONENT . DS . 'uploader.php';
     $uploader = new qqFileUploader($allowedExtensions, $sizeLimit);
     $result = $uploader->handleUpload(JPATH_SITE . '/tmp/', true);
     if (!isset($result['error'])) {
         jimport('Amadeus.Util.Validation');
         $file = $uploader->getName();
         $result = AmadeusUtilValidation::isValidFile($file, $only_image);
         if (isset($result['error'])) {
             jimport('joomla.filesystem.file');
             if (!JFile::delete($file)) {
                 $result = array('error' => JText::_('DELETEERROR'));
             }
         }
     }
     echo htmlspecialchars($this->encodeJSON($result), ENT_NOQUOTES);
 }