diff options
| author | Antonio Gallo <tonicucoz@gmail.com> | 2010-10-17 13:29:57 +0000 | 
|---|---|---|
| committer | Antonio Gallo <tonicucoz@gmail.com> | 2010-10-17 13:29:57 +0000 | 
| commit | 232aa1924c8c0f10d87b210b46c9f061af5c844c (patch) | |
| tree | 2351f2aaff7ad244f60358954e4711692fb8aadc /h-source/External/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/Base64ContentEncoder.php | |
| parent | a17e3e0495bee3705d3c1e5ead2db1a8359e64e9 (diff) | |
added files
Diffstat (limited to 'h-source/External/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/Base64ContentEncoder.php')
| -rw-r--r-- | h-source/External/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/Base64ContentEncoder.php | 81 | 
1 files changed, 81 insertions, 0 deletions
diff --git a/h-source/External/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/Base64ContentEncoder.php b/h-source/External/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/Base64ContentEncoder.php new file mode 100644 index 0000000..e89938e --- /dev/null +++ b/h-source/External/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/Base64ContentEncoder.php @@ -0,0 +1,81 @@ +<?php + +/* + * This file is part of SwiftMailer. + * (c) 2004-2009 Chris Corbyn + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +//@require 'Swift/Mime/ContentEncoder.php'; +//@require 'Swift/Encoder/Base64Encoder.php'; +//@require 'Swift/InputByteStream.php'; +//@require 'Swift/OutputByteStream.php'; + +/** + * Handles Base 64 Transfer Encoding in Swift Mailer. + * @package Swift + * @subpackage Mime + * @author Chris Corbyn + */ +class Swift_Mime_ContentEncoder_Base64ContentEncoder +  extends Swift_Encoder_Base64Encoder +  implements Swift_Mime_ContentEncoder +{ +   +  /** +   * Encode stream $in to stream $out. +   * @param Swift_OutputByteStream $in +   * @param Swift_InputByteStream $out +   * @param int $firstLineOffset +   * @param int $maxLineLength, optional, 0 indicates the default of 76 bytes +   */ +  public function encodeByteStream( +    Swift_OutputByteStream $os, Swift_InputByteStream $is, $firstLineOffset = 0, +    $maxLineLength = 0) +  { +    if (0 >= $maxLineLength || 76 < $maxLineLength) +    { +      $maxLineLength = 76; +    } +     +    $remainder = 0; +     +    while (false !== $bytes = $os->read(8190)) +    { +      $encoded = base64_encode($bytes); +      $encodedTransformed = ''; +      $thisMaxLineLength = $maxLineLength - $remainder - $firstLineOffset; +       +      while ($thisMaxLineLength < strlen($encoded)) +      { +        $encodedTransformed .= substr($encoded, 0, $thisMaxLineLength) . "\r\n"; +        $firstLineOffset = 0; +        $encoded = substr($encoded, $thisMaxLineLength); +        $thisMaxLineLength = $maxLineLength; +        $remainder = 0; +      } +       +      if (0 < $remainingLength = strlen($encoded)) +      { +        $remainder += $remainingLength; +        $encodedTransformed .= $encoded; +        $encoded = null; +      } +       +      $is->write($encodedTransformed); +    } +  } +   +  /** +   * Get the name of this encoding scheme. +   * Returns the string 'base64'. +   * @return string +   */ +  public function getName() +  { +    return 'base64'; +  } +   +}  | 
