From ce37a8c96778f19ebea3d2e0dc8c14d7b6494c26 Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Mon, 9 Nov 2009 14:23:20 -0700 Subject: [PATCH] Add stub for 'raw' view --- framework/Mime/lib/Horde/Mime/Viewer/Audio.php | 3 ++- framework/Mime/lib/Horde/Mime/Viewer/Css.php | 3 ++- framework/Mime/lib/Horde/Mime/Viewer/Deb.php | 3 ++- framework/Mime/lib/Horde/Mime/Viewer/Driver.php | 31 ++++++++++++++++++++-- framework/Mime/lib/Horde/Mime/Viewer/Enriched.php | 3 ++- framework/Mime/lib/Horde/Mime/Viewer/Enscript.php | 3 ++- framework/Mime/lib/Horde/Mime/Viewer/Html.php | 3 ++- framework/Mime/lib/Horde/Mime/Viewer/Images.php | 3 ++- framework/Mime/lib/Horde/Mime/Viewer/Msexcel.php | 3 ++- .../Mime/lib/Horde/Mime/Viewer/Mspowerpoint.php | 3 ++- framework/Mime/lib/Horde/Mime/Viewer/Msword.php | 3 ++- framework/Mime/lib/Horde/Mime/Viewer/Ooo.php | 3 ++- framework/Mime/lib/Horde/Mime/Viewer/Pdf.php | 3 ++- framework/Mime/lib/Horde/Mime/Viewer/Php.php | 3 ++- framework/Mime/lib/Horde/Mime/Viewer/Plain.php | 3 ++- framework/Mime/lib/Horde/Mime/Viewer/Rar.php | 3 ++- framework/Mime/lib/Horde/Mime/Viewer/Rfc822.php | 3 ++- framework/Mime/lib/Horde/Mime/Viewer/Richtext.php | 3 ++- framework/Mime/lib/Horde/Mime/Viewer/Rpm.php | 3 ++- framework/Mime/lib/Horde/Mime/Viewer/Rtf.php | 3 ++- framework/Mime/lib/Horde/Mime/Viewer/Simple.php | 3 ++- framework/Mime/lib/Horde/Mime/Viewer/Smil.php | 3 ++- .../Mime/lib/Horde/Mime/Viewer/Srchighlite.php | 3 ++- framework/Mime/lib/Horde/Mime/Viewer/Tgz.php | 3 ++- framework/Mime/lib/Horde/Mime/Viewer/Tnef.php | 3 ++- framework/Mime/lib/Horde/Mime/Viewer/Vcard.php | 3 ++- framework/Mime/lib/Horde/Mime/Viewer/Webcpp.php | 3 ++- .../Mime/lib/Horde/Mime/Viewer/Wordperfect.php | 3 ++- framework/Mime/lib/Horde/Mime/Viewer/Zip.php | 3 ++- framework/Mime/package.xml | 3 ++- 30 files changed, 87 insertions(+), 31 deletions(-) diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Audio.php b/framework/Mime/lib/Horde/Mime/Viewer/Audio.php index 21ea21eb4..c3c2d3d9a 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Audio.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Audio.php @@ -23,7 +23,8 @@ class Horde_Mime_Viewer_Audio extends Horde_Mime_Viewer_Driver 'forceinline' => false, 'full' => true, 'info' => false, - 'inline' => false + 'inline' => false, + 'raw' => false ); /** diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Css.php b/framework/Mime/lib/Horde/Mime/Viewer/Css.php index c4fa8b77a..ea2c0ffb2 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Css.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Css.php @@ -23,7 +23,8 @@ class Horde_Mime_Viewer_Css extends Horde_Mime_Viewer_Source 'forceinline' => false, 'full' => true, 'info' => false, - 'inline' => true + 'inline' => true, + 'raw' => false ); /** diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Deb.php b/framework/Mime/lib/Horde/Mime/Viewer/Deb.php index 38cfbe70f..5de4d8667 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Deb.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Deb.php @@ -23,7 +23,8 @@ class Horde_Mime_Viewer_Deb extends Horde_Mime_Viewer_Driver 'forceinline' => true, 'full' => true, 'info' => false, - 'inline' => true + 'inline' => true, + 'raw' => false ); /** diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Driver.php b/framework/Mime/lib/Horde/Mime/Viewer/Driver.php index 504f88034..79a8de820 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Driver.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Driver.php @@ -44,7 +44,8 @@ class Horde_Mime_Viewer_Driver 'forceinline' => false, 'full' => false, 'info' => false, - 'inline' => false + 'inline' => false, + 'raw' => false ); /** @@ -101,6 +102,9 @@ class Horde_Mime_Viewer_Driver * the contents of the MIME part. This view is intended to be * displayed to the user with the intention that this MIME part's * subparts may also independently be viewed inline. + * 'raw' - The raw data of the MIME part, generally useful for downloading + * a part. This view exists in case this raw data needs to be + * altered in any way. * * * @return array An array. The keys are the MIME parts that were handled @@ -142,6 +146,13 @@ class Horde_Mime_Viewer_Driver } catch (Horde_Exception $e) { $error = $e; } + + case 'raw': + try { + return $this->_renderRaw(); + } catch (Horde_Exception $e) { + $error = $e; + } } // TODO: Error handling @@ -190,9 +201,24 @@ class Horde_Mime_Viewer_Driver } /** + * Return the rendered information about the Horde_Mime_Part object. + * + * @return array See Horde_Mime_Viewer_Driver::render(). + * @throws Horde_Exception + */ + protected function _renderRaw() + { + $viewer = $this->_getViewer(); + return $viewer + ? $viewer->render('raw') + : array(); + } + + /** * Can this driver render the the data? * - * @param string $mode The mode. Either 'full', 'inline', or 'info'. + * @param string $mode The mode. Either 'full', 'inline', 'info', or + * 'raw'. * * @return boolean True if the driver can render the data for the given * view. @@ -207,6 +233,7 @@ class Horde_Mime_Viewer_Driver switch ($mode) { case 'full': case 'info': + case 'raw': return $this->_capability[$mode]; case 'inline': diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Enriched.php b/framework/Mime/lib/Horde/Mime/Viewer/Enriched.php index 4145dafdc..3f5149780 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Enriched.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Enriched.php @@ -35,7 +35,8 @@ class Horde_Mime_Viewer_Enriched extends Horde_Mime_Viewer_Driver 'forceinline' => false, 'full' => true, 'info' => false, - 'inline' => true + 'inline' => true, + 'raw' => false ); /** diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Enscript.php b/framework/Mime/lib/Horde/Mime/Viewer/Enscript.php index 1a2ddf50f..070805346 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Enscript.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Enscript.php @@ -23,7 +23,8 @@ class Horde_Mime_Viewer_Enscript extends Horde_Mime_Viewer_Source 'forceinline' => false, 'full' => true, 'info' => false, - 'inline' => true + 'inline' => true, + 'raw' => false ); /** diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Html.php b/framework/Mime/lib/Horde/Mime/Viewer/Html.php index d010203d5..9a0366168 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Html.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Html.php @@ -25,7 +25,8 @@ class Horde_Mime_Viewer_Html extends Horde_Mime_Viewer_Driver 'forceinline' => false, 'full' => true, 'info' => false, - 'inline' => true + 'inline' => true, + 'raw' => false ); /** diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Images.php b/framework/Mime/lib/Horde/Mime/Viewer/Images.php index 085c2d4a6..4d817588e 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Images.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Images.php @@ -22,7 +22,8 @@ class Horde_Mime_Viewer_Images extends Horde_Mime_Viewer_Driver 'forceinline' => false, 'full' => true, 'info' => false, - 'inline' => false + 'inline' => false, + 'raw' => false ); /** diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Msexcel.php b/framework/Mime/lib/Horde/Mime/Viewer/Msexcel.php index e26e28c76..9c967b614 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Msexcel.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Msexcel.php @@ -23,7 +23,8 @@ class Horde_Mime_Viewer_Msexcel extends Horde_Mime_Viewer_Driver 'forceinline' => false, 'full' => true, 'info' => false, - 'inline' => false + 'inline' => false, + 'raw' => false ); /** diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Mspowerpoint.php b/framework/Mime/lib/Horde/Mime/Viewer/Mspowerpoint.php index 3a2c38196..0ff6f0a3e 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Mspowerpoint.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Mspowerpoint.php @@ -23,7 +23,8 @@ class Horde_Mime_Viewer_Mspowerpoint extends Horde_Mime_Viewer_Driver 'forceinline' => false, 'full' => true, 'info' => false, - 'inline' => false + 'inline' => false, + 'raw' => false ); /** diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Msword.php b/framework/Mime/lib/Horde/Mime/Viewer/Msword.php index f1ce494cc..34e5b27cc 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Msword.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Msword.php @@ -23,7 +23,8 @@ class Horde_Mime_Viewer_Msword extends Horde_Mime_Viewer_Driver 'forceinline' => false, 'full' => true, 'info' => false, - 'inline' => false + 'inline' => false, + 'raw' => false ); /** diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Ooo.php b/framework/Mime/lib/Horde/Mime/Viewer/Ooo.php index 29aa138fd..23de90110 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Ooo.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Ooo.php @@ -24,7 +24,8 @@ class Horde_Mime_Viewer_Ooo extends Horde_Mime_Viewer_Driver 'forceinline' => false, 'full' => true, 'info' => false, - 'inline' => false + 'inline' => false, + 'raw' => false ); /** diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Pdf.php b/framework/Mime/lib/Horde/Mime/Viewer/Pdf.php index 4305a1108..ff4e5058a 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Pdf.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Pdf.php @@ -24,7 +24,8 @@ class Horde_Mime_Viewer_Pdf extends Horde_Mime_Viewer_Driver 'forceinline' => false, 'full' => true, 'info' => false, - 'inline' => false + 'inline' => false, + 'raw' => false ); /** diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Php.php b/framework/Mime/lib/Horde/Mime/Viewer/Php.php index 2799b0a8a..f201a74b3 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Php.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Php.php @@ -23,7 +23,8 @@ class Horde_Mime_Viewer_Php extends Horde_Mime_Viewer_Source 'forceinline' => false, 'full' => true, 'info' => false, - 'inline' => true + 'inline' => true, + 'raw' => false ); /** diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Plain.php b/framework/Mime/lib/Horde/Mime/Viewer/Plain.php index 3ede576ce..46a4d093e 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Plain.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Plain.php @@ -24,7 +24,8 @@ class Horde_Mime_Viewer_Plain extends Horde_Mime_Viewer_Driver 'forceinline' => false, 'full' => true, 'info' => false, - 'inline' => true + 'inline' => true, + 'raw' => false ); /** diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Rar.php b/framework/Mime/lib/Horde/Mime/Viewer/Rar.php index 194e55bd2..28740d6fe 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Rar.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Rar.php @@ -24,7 +24,8 @@ class Horde_Mime_Viewer_Rar extends Horde_Mime_Viewer_Driver 'forceinline' => true, 'full' => true, 'info' => false, - 'inline' => true + 'inline' => true, + 'raw' => false ); /** diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Rfc822.php b/framework/Mime/lib/Horde/Mime/Viewer/Rfc822.php index 8575c57e6..a3398c9a9 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Rfc822.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Rfc822.php @@ -23,7 +23,8 @@ class Horde_Mime_Viewer_Rfc822 extends Horde_Mime_Viewer_Driver 'forceinline' => false, 'full' => true, 'info' => true, - 'inline' => false + 'inline' => false, + 'raw' => false ); /** diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Richtext.php b/framework/Mime/lib/Horde/Mime/Viewer/Richtext.php index 77964b29c..6a6636a53 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Richtext.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Richtext.php @@ -44,7 +44,8 @@ class Horde_Mime_Viewer_Richtext extends Horde_Mime_Viewer_Driver 'forceinline' => false, 'full' => true, 'info' => false, - 'inline' => true + 'inline' => true, + 'raw' => false ); /** diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Rpm.php b/framework/Mime/lib/Horde/Mime/Viewer/Rpm.php index 68432dffc..f06030c98 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Rpm.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Rpm.php @@ -23,7 +23,8 @@ class Horde_Mime_Viewer_Rpm extends Horde_Mime_Viewer_Driver 'forceinline' => true, 'full' => true, 'info' => false, - 'inline' => false + 'inline' => false, + 'raw' => false ); /** diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Rtf.php b/framework/Mime/lib/Horde/Mime/Viewer/Rtf.php index 6337babfc..d3a55d615 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Rtf.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Rtf.php @@ -25,7 +25,8 @@ class Horde_Mime_Viewer_Rtf extends Horde_Mime_Viewer_Driver 'forceinline' => false, 'full' => true, 'info' => false, - 'inline' => false + 'inline' => false, + 'raw' => false ); /** diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Simple.php b/framework/Mime/lib/Horde/Mime/Viewer/Simple.php index 6b3d9b96e..652fd7db0 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Simple.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Simple.php @@ -23,7 +23,8 @@ class Horde_Mime_Viewer_Simple extends Horde_Mime_Viewer_Driver 'forceinline' => false, 'full' => true, 'info' => false, - 'inline' => false + 'inline' => false, + 'raw' => false ); /** diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Smil.php b/framework/Mime/lib/Horde/Mime/Viewer/Smil.php index 187d4c178..e80028bdf 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Smil.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Smil.php @@ -36,7 +36,8 @@ class Horde_Mime_Viewer_Smil extends Horde_Mime_Viewer_Driver 'forceinline' => true, 'full' => true, 'info' => false, - 'inline' => false + 'inline' => false, + 'raw' => false ); /** diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Srchighlite.php b/framework/Mime/lib/Horde/Mime/Viewer/Srchighlite.php index 0ee5c63a7..ca2210610 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Srchighlite.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Srchighlite.php @@ -25,7 +25,8 @@ class Horde_Mime_Viewer_Srchighlite extends Horde_Mime_Viewer_Source 'forceinline' => false, 'full' => true, 'info' => false, - 'inline' => true + 'inline' => true, + 'raw' => false ); /** diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Tgz.php b/framework/Mime/lib/Horde/Mime/Viewer/Tgz.php index b4eaf6911..41957ed0c 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Tgz.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Tgz.php @@ -22,7 +22,8 @@ class Horde_Mime_Viewer_Tgz extends Horde_Mime_Viewer_Driver 'forceinline' => true, 'full' => false, 'info' => true, - 'inline' => true + 'inline' => true, + 'raw' => false ); /** diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Tnef.php b/framework/Mime/lib/Horde/Mime/Viewer/Tnef.php index 71ca81e9b..8016f8e61 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Tnef.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Tnef.php @@ -24,7 +24,8 @@ class Horde_Mime_Viewer_Tnef extends Horde_Mime_Viewer_Driver 'forceinline' => true, 'full' => true, 'info' => false, - 'inline' => true + 'inline' => true, + 'raw' => false ); /** diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Vcard.php b/framework/Mime/lib/Horde/Mime/Viewer/Vcard.php index 17f548a86..a17bfeaf7 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Vcard.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Vcard.php @@ -22,7 +22,8 @@ class Horde_Mime_Viewer_Vcard extends Horde_Mime_Viewer_Driver 'forceinline' => false, 'full' => true, 'info' => false, - 'inline' => true + 'inline' => true, + 'raw' => false ); /** diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Webcpp.php b/framework/Mime/lib/Horde/Mime/Viewer/Webcpp.php index 81386b5aa..2bdd26661 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Webcpp.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Webcpp.php @@ -25,7 +25,8 @@ class Horde_Mime_Viewer_Webcpp extends Horde_Mime_Viewer_Driver 'forceinline' => false, 'full' => true, 'info' => false, - 'inline' => true + 'inline' => true, + 'raw' => false ); /** diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Wordperfect.php b/framework/Mime/lib/Horde/Mime/Viewer/Wordperfect.php index 80e5ce89b..5d9a10f43 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Wordperfect.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Wordperfect.php @@ -25,7 +25,8 @@ class Horde_Mime_Viewer_Wordperfect extends Horde_Mime_Viewer_Driver 'forceinline' => false, 'full' => true, 'info' => false, - 'inline' => false + 'inline' => false, + 'raw' => false ); /** diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Zip.php b/framework/Mime/lib/Horde/Mime/Viewer/Zip.php index 3d036653d..545b70b80 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Zip.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Zip.php @@ -24,7 +24,8 @@ class Horde_Mime_Viewer_Zip extends Horde_Mime_Viewer_Driver 'forceinline' => true, 'full' => true, 'info' => false, - 'inline' => true + 'inline' => true, + 'raw' => false ); /** diff --git a/framework/Mime/package.xml b/framework/Mime/package.xml index c4bbb1ff7..ec8b32ae8 100644 --- a/framework/Mime/package.xml +++ b/framework/Mime/package.xml @@ -31,7 +31,8 @@ http://pear.php.net/dtd/package-2.0.xsd"> alpha LGPL - * Horde_Mime_Part::parseMessage() correctly parses non-MIME parts. + * Add 'raw' render view to Horde_Mime_Viewer. + * Horde_Mime_Part::parseMessage() correctly parses non-MIME parts. * Remove dependence on PEAR's Mail_mimeDecode::. * Added Horde_Mime::uudecode(). * Remove support for deprecated mime_magic module. -- 2.11.0