Source of file FileOptions.php
Size: 2,426 Bytes - Last Modified: 2014-03-12T23:21:18+01:00
/home/theseer/Downloads/ZendFramework-2.3.0/library/Zend/Mail/Transport/FileOptions.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 | <?php /** * Zend Framework (http://framework.zend.com/) * * @link http://github.com/zendframework/zf2 for the canonical source repository * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ namespace Zend\Mail\Transport; use Zend\Mail\Exception; use Zend\Stdlib\AbstractOptions; class FileOptions extends AbstractOptions { /** * @var string Local client hostname */ protected $path; /** * @var callable */ protected $callback; /** * Set path to stored mail files * * @param string $path * @throws \Zend\Mail\Exception\InvalidArgumentException * @return FileOptions */ public function setPath($path) { if (!is_dir($path) || !is_writable($path)) { throw new Exception\InvalidArgumentException(sprintf( '%s expects a valid path in which to write mail files; received "%s"', __METHOD__, (string) $path )); } $this->path = $path; return $this; } /** * Get path * * If none is set, uses value from sys_get_temp_dir() * * @return string */ public function getPath() { if (null === $this->path) { $this->setPath(sys_get_temp_dir()); } return $this->path; } /** * Set callback used to generate a file name * * @param callable $callback * @throws \Zend\Mail\Exception\InvalidArgumentException * @return FileOptions */ public function setCallback($callback) { if (!is_callable($callback)) { throw new Exception\InvalidArgumentException(sprintf( '%s expects a valid callback; received "%s"', __METHOD__, (is_object($callback) ? get_class($callback) : gettype($callback)) )); } $this->callback = $callback; return $this; } /** * Get callback used to generate a file name * * @return callable */ public function getCallback() { if (null === $this->callback) { $this->setCallback(function ($transport) { return 'ZendMail_' . time() . '_' . mt_rand() . '.eml'; }); } return $this->callback; } } |