Exemplo n.º 1
0
 /**
  * Constructs a new file view
  * @param zibo\library\filesystem\File $file File to render
  * @return null
  */
 public function __construct(File $file)
 {
     $response = Zibo::getInstance()->getResponse();
     if (!$file->exists() || $file->isDirectory()) {
         $response->setStatusCode(Response::STATUS_CODE_NOT_FOUND);
         return;
     }
     $maxAge = 60 * 60;
     $mime = Mime::getMimeType($file);
     $lastModified = gmdate('r', $file->getModificationTime());
     $expires = gmdate('r', time() + $maxAge);
     $response->setHeader('Pragma', 'public');
     $response->setHeader('Cache-Control', 'max-age=' . $maxAge);
     $response->setHeader('Expires', $expires);
     $response->setHeader('Last-Modified', $lastModified);
     $response->setHeader('ETag', md5($lastModified));
     $response->setHeader('Content-Type', $mime);
     $response->setHeader('Content-Length', $file->getSize());
     $this->file = $file;
 }
Exemplo n.º 2
0
 /**
  * Adds a file attachment to this message
  * @param zibo\library\filesystem\File $attachment The file forthe attachment
  * @return string The name of the attachment MIME part
  */
 public function addAttachment(File $attachment)
 {
     $mime = Mime::getMimeType($attachment);
     $content = $attachment->read();
     $content = chunk_split(base64_encode($content));
     $part = new MimePart($content, $mime);
     $part->setEncoding(MimePart::ENCODING_BASE64);
     return $this->addPart($part, $attachment->getName());
 }
Exemplo n.º 3
0
 /**
  * @dataProvider providerGetMimeType
  */
 public function testGetMimeType($expected, File $file)
 {
     $result = Mime::getMimeType($file);
     $this->assertEquals($expected, $result);
 }