PageRenderTime 5ms CodeModel.GetById 1ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 0ms

/framework/vendor/swift/lib/classes/Swift/Attachment.php

http://zoop.googlecode.com/
PHP | 75 lines | 31 code | 8 blank | 36 comment | 1 complexity | f7f3161cee2f7d9e79cdf295f25a0772 MD5 | raw file
 1<?php
 2
 3/*
 4 * This file is part of SwiftMailer.
 5 * (c) 2004-2009 Chris Corbyn
 6 *
 7 * For the full copyright and license information, please view the LICENSE
 8 * file that was distributed with this source code.
 9 */
10
11//@require 'Swift/Mime/Attachment.php';
12//@require 'Swift/ByteStream/FileByteStream.php';
13//@require 'Swift/DependencyContainer.php';
14
15/**
16 * Attachment class for attaching files to a {@link Swift_Mime_Message}.
17 * @package Swift
18 * @subpackage Mime
19 * @author Chris Corbyn
20 */
21class Swift_Attachment extends Swift_Mime_Attachment
22{
23  
24  /**
25   * Create a new Attachment.
26   * Details may be optionally provided to the constructor.
27   * @param string|Swift_OutputByteStream $data
28   * @param string $filename
29   * @param string $contentType
30   */
31  public function __construct($data = null, $filename = null,
32    $contentType = null)
33  {
34    call_user_func_array(
35      array($this, 'Swift_Mime_Attachment::__construct'),
36      Swift_DependencyContainer::getInstance()
37        ->createDependenciesFor('mime.attachment')
38      );
39    
40    $this->setBody($data);
41    $this->setFilename($filename);
42    if ($contentType)
43    {
44      $this->setContentType($contentType);
45    }
46  }
47  
48  /**
49   * Create a new Attachment.
50   * @param string|Swift_OutputByteStream $data
51   * @param string $filename
52   * @param string $contentType
53   * @return Swift_Mime_Attachment
54   */
55  public static function newInstance($data = null, $filename = null,
56    $contentType = null)
57  {
58    return new self($data, $filename, $contentType);
59  }
60  
61  /**
62   * Create a new Attachment from a filesystem path.
63   * @param string $path
64   * @param string $contentType optional
65   * @return Swift_Mime_Attachment
66   */
67  public static function fromPath($path, $contentType = null)
68  {
69    return self::newInstance()->setFile(
70      new Swift_ByteStream_FileByteStream($path),
71      $contentType
72      );
73  }
74  
75}