Ejemplo n.º 1
0
 public function renderFile()
 {
     $oCache = new Cache('license_' . $this->sLicense, DIRNAME_IMAGES);
     $sExtension = substr($this->sURL, strrpos($this->sURL, '.') + 1);
     $oDocumentType = DocumentTypePeer::getDocumentTypeByExtension($sExtension);
     $sMimeType = 'image/' . $sExtension;
     if ($oDocumentType !== null) {
         $sMimeType = $oDocumentType->getMimetype();
     }
     header('Content-Type: ' . $sMimeType);
     if ($oCache->entryExists()) {
         $oCache->sendCacheControlHeaders();
         $oCache->passContents(true);
     } else {
         $sImage = file_get_contents($this->sURL);
         $oCache->setContents($sImage);
         $oCache->sendCacheControlHeaders();
         header("Content-Length: " . strlen($sImage));
         print $sImage;
     }
 }
Ejemplo n.º 2
0
 public function acceptsURL($sUrl, $bCreateType = false)
 {
     $sFileName = substr($sUrl, strrpos($sUrl, '/') + 1);
     $aName = explode('.', $sFileName);
     $sExtension = null;
     if (count($aName) > 1) {
         $sExtension = array_pop($aName);
     }
     $sFileName = implode('.', $aName);
     $aHeaders = @get_headers($sUrl, true);
     $sMimeType = null;
     $oDocumentType = null;
     if ($aHeaders && isset($aHeaders['Content-Type'])) {
         $sMimeType = $aHeaders['Content-Type'];
         $oDocumentType = DocumentTypeQuery::findDocumentTypeByMimetype($sMimeType);
     }
     if ($oDocumentType === null && $sExtension !== null) {
         $oDocumentType = DocumentTypePeer::getDocumentTypeByExtension($sExtension);
     }
     if ($oDocumentType === null && $bCreateType && $sMimeType && $sExtension) {
         $oDocumentType = new DocumentType();
         $oDocumentType->setExtension($sExtension);
         $oDocumentType->setMimetype($sMimeType);
         $oDocumentType->save();
     }
     if ($oDocumentType === null) {
         throw new LocalizedException("wns.file_upload.document_type_not_found", array('extension' => $sExtension, 'mimetype' => $sMimeType));
     }
     return $oDocumentType->getId();
 }