Ejemplo n.º 1
0
 /**
  * Set mime of the file.
  *
  * @access   public
  * @param    string $sMime
  * @return   File
  * @throws   Exception\Fatal
  * @since    1.0.0-alpha
  * @version  1.0.0-alpha
  */
 public function setMime($sMime)
 {
     $aMimeTypes = Helper\MimeTypes::getExtByType($sMime);
     if ($aMimeTypes === FALSE) {
         throw new Exception\Fatal('Unknown file type (' . $sMime . '). File couldn\'t be uploaded.');
     }
     $this->mime = $sMime;
     return $this;
 }
Ejemplo n.º 2
0
 /**
  * Check if particular uploaded file has valid extension.
  *
  * @static
  * @access   public
  * @param    ModelCore\FileBroker $fileBroker $_FILE like array
  * @param    array                $exts       Extensions list
  * @return   boolean|string
  * @since    1.0.0-alpha
  * @version  1.0.0-alpha
  */
 public static function allowedExt(ModelCore\FileBroker $fileBroker, array $exts)
 {
     if (is_null($fileBroker)) {
         return TRUE;
     }
     $value = $fileBroker->getTempData();
     if (!isset($value['tmp_name'])) {
         return TRUE;
     }
     $mimeType = Helper\MimeTypes::getMimeType($value['tmp_name']);
     $extByMime = Helper\MimeTypes::getExtByType($mimeType);
     $value['type'] = $mimeType;
     if (!$extByMime || !Helper\Arrays::anyInArray($exts, $extByMime)) {
         return __('File with wrong format uploaded! Allowed types of files: :exts.', ['exts' => implode(', ', $exts)]);
     }
     return TRUE;
 }