Ejemplo n.º 1
0
 /**
  * Get the mime type primary key for a specific mime type
  *
  * @param string detected mime type
  * @param string filename
  * @return int mime type primary key if found, else default mime type primary key (text/plain)
  */
 function getMimeTypeID($sMimeType, $sFileName, $sTempFile = null)
 {
     global $default;
     $sTable = KTUtil::getTableName('mimetypes');
     // check by file extension
     $sExtension = KTMime::stripAllButExtension($sFileName);
     $res = DBUtil::getOneResultKey(array("SELECT id FROM " . $sTable . " WHERE LOWER(filetypes) = ?", array($sExtension)), 'id');
     if (PEAR::isError($res) || empty($res)) {
         // pass ?!
     } else {
         return $res;
     }
     // get the mime type id
     if (isset($sMimeType)) {
         $res = DBUtil::getResultArray(array("SELECT id FROM " . $sTable . " WHERE mimetypes = ?", array($sMimeType)));
         if (PEAR::isError($res)) {
             // pass ?!
         }
         if (count($res) != 0) {
             return $res[0]['id'];
         }
     }
     if (!is_null($sTempFile)) {
         // The default is a binary file, so if mime magic can resolve better, lets try...
         $sMimeType = KTMime::getMimeTypeFromFile($sTempFile);
         if (!empty($sMimeType)) {
             $res = DBUtil::getResultArray(array("SELECT id FROM " . $sTable . " WHERE mimetypes = ?", array($sMimeType)));
             if (PEAR::isError($res)) {
                 // pass ?!
             }
             if (count($res) != 0) {
                 return $res[0]['id'];
             }
         }
     }
     //otherwise return the default mime type
     return KTMime::getDefaultMimeTypeID();
 }