From 4a4ca7c8d40fb94b50740a6998f9238b7f7b4f5b Mon Sep 17 00:00:00 2001 From: J Miller <j@jmillerdesign.com> Date: Thu, 16 May 2013 18:56:46 -0700 Subject: [PATCH] Make readBase64 an instance method Leverage the existing code in File::read() and simply add in chunking and base64 encoding. --- lib/Cake/Network/Email/CakeEmail.php | 3 ++- lib/Cake/Utility/File.php | 11 +++-------- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/lib/Cake/Network/Email/CakeEmail.php b/lib/Cake/Network/Email/CakeEmail.php index 04e4f95a0..fc818f3e2 100644 --- a/lib/Cake/Network/Email/CakeEmail.php +++ b/lib/Cake/Network/Email/CakeEmail.php @@ -1385,7 +1385,8 @@ class CakeEmail { * @return string File contents in base64 encoding */ protected function _readFile($file) { - return File::readAndBase64Encode($file); + $f = new File($file); + return $f->readBase64(); } /** diff --git a/lib/Cake/Utility/File.php b/lib/Cake/Utility/File.php index 28de23735..2af2812f6 100644 --- a/lib/Cake/Utility/File.php +++ b/lib/Cake/Utility/File.php @@ -181,18 +181,13 @@ class File { } /** - * Read the file contents and return a base64 version of the file contents. + * Return the contents of this File as a base64 version of the file contents. * - * @param string $file The file to read. * @return string File contents in base64 encoding * @link http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#File::readAndBase64Encode */ - public static function readAndBase64Encode($file) { - $handle = fopen($file, 'rb'); - $data = fread($handle, filesize($file)); - $data = chunk_split(base64_encode($data)); - fclose($handle); - return $data; + public function readBase64() { + return chunk_split(base64_encode($this->read())); } /**