Exemplo n.º 1
0
Arquivo: asset.php Projeto: awd/assets
 /**
 * Validate the file mime-type against the configuration settings
 * 
 * @param array $allowedMimes An array of allowed mime-types or wildcard (*)
 * @access private
 */
 function validateFileMime(&$model, $fieldData, $fieldName, $allowedMimes = array())
 {
     if (empty($fieldData[$fieldName]['tmp_name'])) {
         return true;
     }
     $availableMimes = assetMimes();
     foreach (!empty($allowedMimes) ? $allowedMimes : array() as $type) {
         if ($type == '*') {
             return true;
         }
         # check fileinfo first
         $fileinfo = assetMimeType($fieldData[$fieldName]['tmp_name']);
         if (!$fileinfo && in_array($fileinfo, $availableMimes[$type])) {
             return true;
         }
         # check browser provided mime-type second
         if (in_array($fieldData[$fieldName]['type'], $availableMimes[$type])) {
             return true;
         }
     }
     return false;
 }
Exemplo n.º 2
0
 /**
  * test mimes
  * 
  * @return void
  */
 function testAssetMimes()
 {
     $result = assetMimes();
     $this->assertTrue(is_array($result));
     $result = assetMimes('audio');
     $this->assertTrue(in_array('audio/mpeg', $result));
     $result = assetMimes('video');
     $this->assertTrue(in_array('video/x-flv', $result));
 }