mirror of
https://github.com/the-djmaze/snappymail.git
synced 2025-01-11 01:07:39 +08:00
4cc2207513
Original unminified source code (dev folder - js, css, less) (fixes #6) Grunt build system Multiple identities correction (fixes #9) Compose html editor (fixes #12) New general settings - Loading Description New warning about default admin password Split general and login screen settings
188 lines
No EOL
3.3 KiB
PHP
188 lines
No EOL
3.3 KiB
PHP
<?php
|
|
|
|
namespace MailSo\Mime;
|
|
|
|
/**
|
|
* @category MailSo
|
|
* @package Mime
|
|
*/
|
|
class Attachment
|
|
{
|
|
/**
|
|
* @var resource
|
|
*/
|
|
private $rResource;
|
|
|
|
/**
|
|
* @var string
|
|
*/
|
|
private $sFileName;
|
|
|
|
/**
|
|
* @var int
|
|
*/
|
|
private $iFileSize;
|
|
|
|
/**
|
|
* @var string
|
|
*/
|
|
private $sCID;
|
|
|
|
/**
|
|
* @var bool
|
|
*/
|
|
private $bIsInline;
|
|
|
|
/**
|
|
* @var bool
|
|
*/
|
|
private $bIsLinked;
|
|
|
|
/**
|
|
* @var array
|
|
*/
|
|
private $aCustomContentTypeParams;
|
|
|
|
/**
|
|
* @var string
|
|
*/
|
|
private $sContentLocation;
|
|
|
|
/**
|
|
* @access private
|
|
*/
|
|
private function __construct($rResource, $sFileName, $iFileSize, $bIsInline, $bIsLinked, $sCID,
|
|
$aCustomContentTypeParams = array(), $sContentLocation = '')
|
|
{
|
|
$this->rResource = $rResource;
|
|
$this->sFileName = $sFileName;
|
|
$this->iFileSize = $iFileSize;
|
|
$this->bIsInline = $bIsInline;
|
|
$this->bIsLinked = $bIsLinked;
|
|
$this->sCID = $sCID;
|
|
$this->aCustomContentTypeParams = $aCustomContentTypeParams;
|
|
$this->sContentLocation = $sContentLocation;
|
|
}
|
|
|
|
/**
|
|
* @param resource $rResource
|
|
* @param string $sFileName = ''
|
|
* @param int $iFileSize = 0
|
|
* @param bool $bIsInline = false
|
|
* @param bool $bIsLinked = false
|
|
* @param string $sCID = ''
|
|
* @param array $aCustomContentTypeParams = array()
|
|
* @param string $sContentLocation = ''
|
|
*
|
|
* @return \MailSo\Mime\Attachment
|
|
*/
|
|
public static function NewInstance($rResource, $sFileName = '', $iFileSize = 0, $bIsInline = false,
|
|
$bIsLinked = false, $sCID = '', $aCustomContentTypeParams = array(), $sContentLocation = '')
|
|
{
|
|
return new self($rResource, $sFileName, $iFileSize, $bIsInline, $bIsLinked, $sCID, $aCustomContentTypeParams, $sContentLocation);
|
|
}
|
|
|
|
/**
|
|
* @return resource
|
|
*/
|
|
public function Resource()
|
|
{
|
|
return $this->rResource;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function ContentType()
|
|
{
|
|
return \MailSo\Base\Utils::MimeContentType($this->sFileName);
|
|
}
|
|
|
|
/**
|
|
* @return array
|
|
*/
|
|
public function CustomContentTypeParams()
|
|
{
|
|
return $this->aCustomContentTypeParams;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function CID()
|
|
{
|
|
return $this->sCID;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function ContentLocation()
|
|
{
|
|
return $this->sContentLocation;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function FileName()
|
|
{
|
|
return $this->sFileName;
|
|
}
|
|
|
|
/**
|
|
* @return int
|
|
*/
|
|
public function FileSize()
|
|
{
|
|
return $this->iFileSize;
|
|
}
|
|
|
|
/**
|
|
* @return bool
|
|
*/
|
|
public function IsInline()
|
|
{
|
|
return $this->bIsInline;
|
|
}
|
|
|
|
/**
|
|
* @return bool
|
|
*/
|
|
public function IsImage()
|
|
{
|
|
return 'image' === \MailSo\Base\Utils::ContentTypeType($this->ContentType(), $this->FileName());
|
|
}
|
|
|
|
/**
|
|
* @return bool
|
|
*/
|
|
public function IsArchive()
|
|
{
|
|
return 'archive' === \MailSo\Base\Utils::ContentTypeType($this->ContentType(), $this->FileName());
|
|
}
|
|
|
|
/**
|
|
* @return bool
|
|
*/
|
|
public function IsPdf()
|
|
{
|
|
return 'pdf' === \MailSo\Base\Utils::ContentTypeType($this->ContentType(), $this->FileName());
|
|
}
|
|
|
|
/**
|
|
* @return bool
|
|
*/
|
|
public function IsDoc()
|
|
{
|
|
return 'doc' === \MailSo\Base\Utils::ContentTypeType($this->ContentType(), $this->FileName());
|
|
}
|
|
|
|
/**
|
|
* @return bool
|
|
*/
|
|
public function IsLinked()
|
|
{
|
|
return $this->bIsLinked && 0 < \strlen($this->sCID);
|
|
}
|
|
} |