From eb89d1087db168d4c55eef7cdc12fabc15ca848d Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Thu, 7 Jan 2010 14:06:26 -0700 Subject: [PATCH] Split capabilities into 2 arrays, adding a metadata storage array --- framework/Mime/lib/Horde/Mime/Viewer/Audio.php | 6 ++-- framework/Mime/lib/Horde/Mime/Viewer/Css.php | 6 ++-- framework/Mime/lib/Horde/Mime/Viewer/Deb.php | 17 +++++++--- framework/Mime/lib/Horde/Mime/Viewer/Driver.php | 39 ++++++++++++++++++---- framework/Mime/lib/Horde/Mime/Viewer/Enriched.php | 6 ++-- framework/Mime/lib/Horde/Mime/Viewer/Enscript.php | 6 ++-- framework/Mime/lib/Horde/Mime/Viewer/Html.php | 6 ++-- framework/Mime/lib/Horde/Mime/Viewer/Images.php | 22 +++++++++--- framework/Mime/lib/Horde/Mime/Viewer/Msexcel.php | 6 ++-- .../Mime/lib/Horde/Mime/Viewer/Mspowerpoint.php | 6 ++-- framework/Mime/lib/Horde/Mime/Viewer/Msword.php | 6 ++-- framework/Mime/lib/Horde/Mime/Viewer/Ooo.php | 19 ++++++++--- framework/Mime/lib/Horde/Mime/Viewer/Pdf.php | 6 ++-- framework/Mime/lib/Horde/Mime/Viewer/Php.php | 6 ++-- framework/Mime/lib/Horde/Mime/Viewer/Plain.php | 6 ++-- framework/Mime/lib/Horde/Mime/Viewer/Rar.php | 17 +++++++--- framework/Mime/lib/Horde/Mime/Viewer/Rfc822.php | 6 ++-- framework/Mime/lib/Horde/Mime/Viewer/Richtext.php | 6 ++-- framework/Mime/lib/Horde/Mime/Viewer/Rpm.php | 17 +++++++--- framework/Mime/lib/Horde/Mime/Viewer/Rtf.php | 6 ++-- framework/Mime/lib/Horde/Mime/Viewer/Simple.php | 6 ++-- framework/Mime/lib/Horde/Mime/Viewer/Smil.php | 17 +++++++--- .../Mime/lib/Horde/Mime/Viewer/Srchighlite.php | 8 ++--- framework/Mime/lib/Horde/Mime/Viewer/Tgz.php | 34 ++++++++++++++++--- framework/Mime/lib/Horde/Mime/Viewer/Tnef.php | 17 +++++++--- framework/Mime/lib/Horde/Mime/Viewer/Vcard.php | 6 ++-- framework/Mime/lib/Horde/Mime/Viewer/Webcpp.php | 6 ++-- .../Mime/lib/Horde/Mime/Viewer/Wordperfect.php | 6 ++-- framework/Mime/lib/Horde/Mime/Viewer/Zip.php | 17 +++++++--- imp/lib/Mime/Viewer/Alternative.php | 17 +++++++--- imp/lib/Mime/Viewer/Appledouble.php | 17 +++++++--- imp/lib/Mime/Viewer/Html.php | 6 ++-- imp/lib/Mime/Viewer/Images.php | 6 ++-- imp/lib/Mime/Viewer/Itip.php | 6 ++-- imp/lib/Mime/Viewer/Mdn.php | 17 +++++++--- imp/lib/Mime/Viewer/Partial.php | 17 +++++++--- imp/lib/Mime/Viewer/Pdf.php | 6 ++-- imp/lib/Mime/Viewer/Pgp.php | 17 +++++++--- imp/lib/Mime/Viewer/Related.php | 17 +++++++--- imp/lib/Mime/Viewer/Smime.php | 17 +++++++--- imp/lib/Mime/Viewer/Status.php | 17 +++++++--- imp/lib/Mime/Viewer/Tnef.php | 17 +++++++--- 42 files changed, 338 insertions(+), 171 deletions(-) diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Audio.php b/framework/Mime/lib/Horde/Mime/Viewer/Audio.php index c3c2d3d9a..d748ac300 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Audio.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Audio.php @@ -14,13 +14,11 @@ class Horde_Mime_Viewer_Audio extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => false, 'full' => true, 'info' => false, 'inline' => false, diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Css.php b/framework/Mime/lib/Horde/Mime/Viewer/Css.php index ea2c0ffb2..23941be80 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Css.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Css.php @@ -14,13 +14,11 @@ class Horde_Mime_Viewer_Css extends Horde_Mime_Viewer_Source { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => false, 'full' => true, 'info' => false, 'inline' => true, diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Deb.php b/framework/Mime/lib/Horde/Mime/Viewer/Deb.php index 5de4d8667..9257a3254 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Deb.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Deb.php @@ -14,13 +14,11 @@ class Horde_Mime_Viewer_Deb extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => true, 'full' => true, 'info' => false, 'inline' => true, @@ -28,6 +26,17 @@ class Horde_Mime_Viewer_Deb extends Horde_Mime_Viewer_Driver ); /** + * Metadata for the current viewer/data. + * + * @var array + */ + protected $_metadata = array( + 'compressed' => true, + 'embedded' => false, + 'forceinline' => true + ); + + /** * Return the full rendered version of the Horde_Mime_Part object. * * @return array See Horde_Mime_Viewer_Driver::render(). diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Driver.php b/framework/Mime/lib/Horde/Mime/Viewer/Driver.php index f33c98152..d9484e6b9 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Driver.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Driver.php @@ -35,13 +35,11 @@ class Horde_Mime_Viewer_Driver protected $_params = array(); /** - * This driver's capabilities. + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => false, 'full' => false, 'info' => false, 'inline' => false, @@ -49,6 +47,20 @@ class Horde_Mime_Viewer_Driver ); /** + * Metadata for the current viewer/data. + * + * @var array + */ + protected $_metadata = array( + // Is the part *data* compressed (not the rendered data)? + 'compressed' => false, + // Does this part contain emebedded MIME data? + 'embedded' => false, + // Force inline display of this part? + 'forceinline' => false + ); + + /** * Constructor. * * @param Horde_Mime_Part $mime_part Reference to an object with the @@ -238,7 +250,7 @@ class Horde_Mime_Viewer_Driver case 'inline': return $this->getConfigParam('inline') && - ($this->_capability['forceinline'] || + ($this->_metadata['forceinline'] || ($this->_capability['inline'] && ($this->_mimepart->getDisposition() == 'inline'))); @@ -258,7 +270,7 @@ class Horde_Mime_Viewer_Driver $viewer = $this->_getViewer(); return $viewer ? $viewer->embeddedMimeParts() - : $this->_capability['embedded']; + : $this->_metadata['embedded']; } /** @@ -312,6 +324,21 @@ class Horde_Mime_Viewer_Driver } /** + * Returns metadata information on the viewer/data. + * + * @param string $data The metadata key. + * + * @return mixed The requested information, or null if the key doesn't + * exist. + */ + public function getMetadata($data) + { + return isset($this->_metadata[$data]) + ? $this->_metadata[$data] + : null; + } + + /** * Return the underlying MIME Viewer for this part. * * @return mixed A Horde_Mime_Viewer object, or false if not found. diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Enriched.php b/framework/Mime/lib/Horde/Mime/Viewer/Enriched.php index 3f5149780..bb26a03bc 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Enriched.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Enriched.php @@ -26,13 +26,11 @@ class Horde_Mime_Viewer_Enriched extends Horde_Mime_Viewer_Driver { /** - * This driver's capabilities. + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => false, 'full' => true, 'info' => false, 'inline' => true, diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Enscript.php b/framework/Mime/lib/Horde/Mime/Viewer/Enscript.php index 070805346..a503b664d 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Enscript.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Enscript.php @@ -14,13 +14,11 @@ class Horde_Mime_Viewer_Enscript extends Horde_Mime_Viewer_Source { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => false, 'full' => true, 'info' => false, 'inline' => true, diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Html.php b/framework/Mime/lib/Horde/Mime/Viewer/Html.php index 9a0366168..e24c05394 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Html.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Html.php @@ -16,13 +16,11 @@ class Horde_Mime_Viewer_Html extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => false, 'full' => true, 'info' => false, 'inline' => true, diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Images.php b/framework/Mime/lib/Horde/Mime/Viewer/Images.php index 4d817588e..dadc92e73 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Images.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Images.php @@ -13,13 +13,11 @@ class Horde_Mime_Viewer_Images extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => false, 'full' => true, 'info' => false, 'inline' => false, @@ -27,6 +25,22 @@ class Horde_Mime_Viewer_Images extends Horde_Mime_Viewer_Driver ); /** + * Constructor. + * + * @param Horde_Mime_Part $mime_part Reference to an object with the + * information to be rendered. + * @param array $conf Configuration specific to the + * driver. + */ + public function __construct($mime_part, $conf = array()) + { + parent::__construct($mime_part, $conf); + + /* TODO: Are there other image types that are compressed? */ + $this->_metadata['compressed'] = in_array($this->_getType(), array('image/gif', 'image/jpeg', 'image/png')); + } + + /** * Return the full rendered version of the Horde_Mime_Part object. * * @return array See Horde_Mime_Viewer_Driver::render(). diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Msexcel.php b/framework/Mime/lib/Horde/Mime/Viewer/Msexcel.php index 9c967b614..ab821d7ec 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Msexcel.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Msexcel.php @@ -14,13 +14,11 @@ class Horde_Mime_Viewer_Msexcel extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => false, 'full' => true, 'info' => false, 'inline' => false, diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Mspowerpoint.php b/framework/Mime/lib/Horde/Mime/Viewer/Mspowerpoint.php index 0ff6f0a3e..13232d800 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Mspowerpoint.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Mspowerpoint.php @@ -14,13 +14,11 @@ class Horde_Mime_Viewer_Mspowerpoint extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => false, 'full' => true, 'info' => false, 'inline' => false, diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Msword.php b/framework/Mime/lib/Horde/Mime/Viewer/Msword.php index 34e5b27cc..e88a76d1d 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Msword.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Msword.php @@ -14,13 +14,11 @@ class Horde_Mime_Viewer_Msword extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => false, 'full' => true, 'info' => false, 'inline' => false, diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Ooo.php b/framework/Mime/lib/Horde/Mime/Viewer/Ooo.php index 23de90110..97628166e 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Ooo.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Ooo.php @@ -15,13 +15,11 @@ class Horde_Mime_Viewer_Ooo extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => false, 'full' => true, 'info' => false, 'inline' => false, @@ -29,6 +27,19 @@ class Horde_Mime_Viewer_Ooo extends Horde_Mime_Viewer_Driver ); /** + * Metadata for the current viewer/data. + * + * @var array + */ + protected $_metadata = array( + /* At this point assume that the document takes advantage of ZIP + * compression. */ + 'compressed' => true, + 'embedded' => false, + 'forceinline' => false + ); + + /** * Return the full rendered version of the Horde_Mime_Part object. * * @return array See Horde_Mime_Viewer_Driver::render(). diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Pdf.php b/framework/Mime/lib/Horde/Mime/Viewer/Pdf.php index ff4e5058a..b6dfe1fbb 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Pdf.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Pdf.php @@ -15,13 +15,11 @@ class Horde_Mime_Viewer_Pdf extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => false, 'full' => true, 'info' => false, 'inline' => false, diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Php.php b/framework/Mime/lib/Horde/Mime/Viewer/Php.php index f201a74b3..13f6d237e 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Php.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Php.php @@ -14,13 +14,11 @@ class Horde_Mime_Viewer_Php extends Horde_Mime_Viewer_Source { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => false, 'full' => true, 'info' => false, 'inline' => true, diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Plain.php b/framework/Mime/lib/Horde/Mime/Viewer/Plain.php index 46a4d093e..f9661513f 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Plain.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Plain.php @@ -15,13 +15,11 @@ class Horde_Mime_Viewer_Plain extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => false, 'full' => true, 'info' => false, 'inline' => true, diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Rar.php b/framework/Mime/lib/Horde/Mime/Viewer/Rar.php index 28740d6fe..ade00692e 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Rar.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Rar.php @@ -15,13 +15,11 @@ class Horde_Mime_Viewer_Rar extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => true, 'full' => true, 'info' => false, 'inline' => true, @@ -29,6 +27,17 @@ class Horde_Mime_Viewer_Rar extends Horde_Mime_Viewer_Driver ); /** + * Metadata for the current viewer/data. + * + * @var array + */ + protected $_metadata = array( + 'compressed' => true, + 'embedded' => false, + 'forceinline' => true + ); + + /** * Return the full rendered version of the Horde_Mime_Part object. * * @return array See Horde_Mime_Viewer_Driver::render(). diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Rfc822.php b/framework/Mime/lib/Horde/Mime/Viewer/Rfc822.php index a3398c9a9..0fe5769cf 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Rfc822.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Rfc822.php @@ -14,13 +14,11 @@ class Horde_Mime_Viewer_Rfc822 extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => false, 'full' => true, 'info' => true, 'inline' => false, diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Richtext.php b/framework/Mime/lib/Horde/Mime/Viewer/Richtext.php index 6a6636a53..0cfabd30d 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Richtext.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Richtext.php @@ -35,13 +35,11 @@ class Horde_Mime_Viewer_Richtext extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => false, 'full' => true, 'info' => false, 'inline' => true, diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Rpm.php b/framework/Mime/lib/Horde/Mime/Viewer/Rpm.php index f06030c98..ec12af1b5 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Rpm.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Rpm.php @@ -14,13 +14,11 @@ class Horde_Mime_Viewer_Rpm extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => true, 'full' => true, 'info' => false, 'inline' => false, @@ -28,6 +26,17 @@ class Horde_Mime_Viewer_Rpm extends Horde_Mime_Viewer_Driver ); /** + * Metadata for the current viewer/data. + * + * @var array + */ + protected $_metadata = array( + 'compressed' => true, + 'embedded' => false, + 'forceinline' => true + ); + + /** * Return the full rendered version of the Horde_Mime_Part object. * * @return array See Horde_Mime_Viewer_Driver::render(). diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Rtf.php b/framework/Mime/lib/Horde/Mime/Viewer/Rtf.php index d3a55d615..1404ad78e 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Rtf.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Rtf.php @@ -16,13 +16,11 @@ class Horde_Mime_Viewer_Rtf extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => false, 'full' => true, 'info' => false, 'inline' => false, diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Simple.php b/framework/Mime/lib/Horde/Mime/Viewer/Simple.php index 652fd7db0..be4b0ac2e 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Simple.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Simple.php @@ -14,13 +14,11 @@ class Horde_Mime_Viewer_Simple extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => false, 'full' => true, 'info' => false, 'inline' => false, diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Smil.php b/framework/Mime/lib/Horde/Mime/Viewer/Smil.php index e80028bdf..1aaf87e6a 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Smil.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Smil.php @@ -27,13 +27,11 @@ class Horde_Mime_Viewer_Smil extends Horde_Mime_Viewer_Driver protected $_content; /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => true, 'full' => true, 'info' => false, 'inline' => false, @@ -41,6 +39,17 @@ class Horde_Mime_Viewer_Smil extends Horde_Mime_Viewer_Driver ); /** + * Metadata for the current viewer/data. + * + * @var array + */ + protected $_metadata = array( + 'compressed' => false, + 'embedded' => false, + 'forceinline' => true + ); + + /** * Return the full rendered version of the Horde_Mime_Part object. * * @return array See Horde_Mime_Viewer_Driver::render(). diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Srchighlite.php b/framework/Mime/lib/Horde/Mime/Viewer/Srchighlite.php index ca2210610..a6b5e7903 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Srchighlite.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Srchighlite.php @@ -16,16 +16,14 @@ class Horde_Mime_Viewer_Srchighlite extends Horde_Mime_Viewer_Source { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => false, 'full' => true, 'info' => false, - 'inline' => true, + 'inline' => false, 'raw' => false ); diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Tgz.php b/framework/Mime/lib/Horde/Mime/Viewer/Tgz.php index 41957ed0c..344f1fe7e 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Tgz.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Tgz.php @@ -13,13 +13,11 @@ class Horde_Mime_Viewer_Tgz extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => true, 'full' => false, 'info' => true, 'inline' => true, @@ -27,6 +25,18 @@ class Horde_Mime_Viewer_Tgz extends Horde_Mime_Viewer_Driver ); /** + * Metadata for the current viewer/data. + * + * @var array + */ + protected $_metadata = array( + // Compression detection handled in constructor. + 'compressed' => false, + 'embedded' => false, + 'forceinline' => true + ); + + /** * The list of compressed subtypes. * * @var array @@ -37,6 +47,21 @@ class Horde_Mime_Viewer_Tgz extends Horde_Mime_Viewer_Driver ); /** + * Constructor. + * + * @param Horde_Mime_Part $mime_part Reference to an object with the + * information to be rendered. + * @param array $conf Configuration specific to the + * driver. + */ + public function __construct($mime_part, $conf = array()) + { + parent::__construct($mime_part, $conf); + + $this->_metadata['compressed'] = in_array($mime_part->getSubType(), $this->_gzipSubtypes); + } + + /** * Return the rendered inline version of the Horde_Mime_Part object. * * @return array See Horde_Mime_Viewer_Driver::render(). @@ -115,4 +140,5 @@ class Horde_Mime_Viewer_Tgz extends Horde_Mime_Viewer_Driver { return $this->_renderInline(); } + } diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Tnef.php b/framework/Mime/lib/Horde/Mime/Viewer/Tnef.php index 8016f8e61..ac477b781 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Tnef.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Tnef.php @@ -15,13 +15,11 @@ class Horde_Mime_Viewer_Tnef extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => true, 'full' => true, 'info' => false, 'inline' => true, @@ -29,6 +27,17 @@ class Horde_Mime_Viewer_Tnef extends Horde_Mime_Viewer_Driver ); /** + * Metadata for the current viewer/data. + * + * @var array + */ + protected $_metadata = array( + 'compressed' => true, + 'embedded' => false, + 'forceinline' => true + ); + + /** * Return the full rendered version of the Horde_Mime_Part object. * * @return array See Horde_Mime_Viewer_Driver::render(). diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Vcard.php b/framework/Mime/lib/Horde/Mime/Viewer/Vcard.php index a17bfeaf7..c389e7386 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Vcard.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Vcard.php @@ -13,13 +13,11 @@ class Horde_Mime_Viewer_Vcard extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => false, 'full' => true, 'info' => false, 'inline' => true, diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Webcpp.php b/framework/Mime/lib/Horde/Mime/Viewer/Webcpp.php index 2bdd26661..6bfdca9a6 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Webcpp.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Webcpp.php @@ -16,13 +16,11 @@ class Horde_Mime_Viewer_Webcpp extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => false, 'full' => true, 'info' => false, 'inline' => true, diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Wordperfect.php b/framework/Mime/lib/Horde/Mime/Viewer/Wordperfect.php index 5d9a10f43..30c151435 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Wordperfect.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Wordperfect.php @@ -16,13 +16,11 @@ class Horde_Mime_Viewer_Wordperfect extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => false, 'full' => true, 'info' => false, 'inline' => false, diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Zip.php b/framework/Mime/lib/Horde/Mime/Viewer/Zip.php index 545b70b80..44c2df023 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Zip.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Zip.php @@ -15,13 +15,11 @@ class Horde_Mime_Viewer_Zip extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => true, 'full' => true, 'info' => false, 'inline' => true, @@ -29,6 +27,17 @@ class Horde_Mime_Viewer_Zip extends Horde_Mime_Viewer_Driver ); /** + * Metadata for the current viewer/data. + * + * @var array + */ + protected $_metadata = array( + 'compressed' => true, + 'embedded' => false, + 'forceinline' => true + ); + + /** * A callback function to use in _toHTML(). * * @var callback diff --git a/imp/lib/Mime/Viewer/Alternative.php b/imp/lib/Mime/Viewer/Alternative.php index b77998212..8c4961ea7 100644 --- a/imp/lib/Mime/Viewer/Alternative.php +++ b/imp/lib/Mime/Viewer/Alternative.php @@ -14,13 +14,11 @@ class IMP_Horde_Mime_Viewer_Alternative extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => true, 'full' => true, 'info' => false, 'inline' => true, @@ -28,6 +26,17 @@ class IMP_Horde_Mime_Viewer_Alternative extends Horde_Mime_Viewer_Driver ); /** + * Metadata for the current viewer/data. + * + * @var array + */ + protected $_metadata = array( + 'compressed' => false, + 'embedded' => false, + 'forceinline' => false + ); + + /** * Return the full rendered version of the Horde_Mime_Part object. * * @return array See Horde_Mime_Viewer_Driver::render(). diff --git a/imp/lib/Mime/Viewer/Appledouble.php b/imp/lib/Mime/Viewer/Appledouble.php index 18e60f69b..37ed8b06e 100644 --- a/imp/lib/Mime/Viewer/Appledouble.php +++ b/imp/lib/Mime/Viewer/Appledouble.php @@ -14,13 +14,11 @@ class IMP_Horde_Mime_Viewer_Appledouble extends Horde_Mime_Viewer_Driver { /** - * This driver's capabilities. + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => true, 'full' => false, 'info' => true, 'inline' => true, @@ -28,6 +26,17 @@ class IMP_Horde_Mime_Viewer_Appledouble extends Horde_Mime_Viewer_Driver ); /** + * Metadata for the current viewer/data. + * + * @var array + */ + protected $_metadata = array( + 'compressed' => false, + 'embedded' => false, + 'forceinline' => true + ); + + /** * Return the rendered inline version of the Horde_Mime_Part object. * * @return array See Horde_Mime_Viewer_Driver::render(). diff --git a/imp/lib/Mime/Viewer/Html.php b/imp/lib/Mime/Viewer/Html.php index d294608d4..7541f6c37 100644 --- a/imp/lib/Mime/Viewer/Html.php +++ b/imp/lib/Mime/Viewer/Html.php @@ -16,13 +16,11 @@ class IMP_Horde_Mime_Viewer_Html extends Horde_Mime_Viewer_Html { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => false, 'full' => true, 'info' => true, 'inline' => true, diff --git a/imp/lib/Mime/Viewer/Images.php b/imp/lib/Mime/Viewer/Images.php index b5a48251b..13d25b960 100644 --- a/imp/lib/Mime/Viewer/Images.php +++ b/imp/lib/Mime/Viewer/Images.php @@ -14,13 +14,11 @@ class IMP_Horde_Mime_Viewer_Images extends Horde_Mime_Viewer_Images { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => false, 'full' => true, 'info' => true, 'inline' => true, diff --git a/imp/lib/Mime/Viewer/Itip.php b/imp/lib/Mime/Viewer/Itip.php index f972095b4..6cecf3239 100644 --- a/imp/lib/Mime/Viewer/Itip.php +++ b/imp/lib/Mime/Viewer/Itip.php @@ -16,13 +16,11 @@ class IMP_Horde_Mime_Viewer_Itip extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => false, 'full' => true, 'info' => false, 'inline' => true, diff --git a/imp/lib/Mime/Viewer/Mdn.php b/imp/lib/Mime/Viewer/Mdn.php index 880d456e1..ecda87374 100644 --- a/imp/lib/Mime/Viewer/Mdn.php +++ b/imp/lib/Mime/Viewer/Mdn.php @@ -14,13 +14,11 @@ class IMP_Horde_Mime_Viewer_Mdn extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => true, 'full' => false, 'info' => true, 'inline' => true, @@ -28,6 +26,17 @@ class IMP_Horde_Mime_Viewer_Mdn extends Horde_Mime_Viewer_Driver ); /** + * Metadata for the current viewer/data. + * + * @var array + */ + protected $_metadata = array( + 'compressed' => false, + 'embedded' => false, + 'forceinline' => true + ); + + /** * Return the rendered inline version of the Horde_Mime_Part object. * * @return array See Horde_Mime_Viewer_Driver::render(). diff --git a/imp/lib/Mime/Viewer/Partial.php b/imp/lib/Mime/Viewer/Partial.php index e027e2f3e..393695dfd 100644 --- a/imp/lib/Mime/Viewer/Partial.php +++ b/imp/lib/Mime/Viewer/Partial.php @@ -14,13 +14,11 @@ class IMP_Horde_Mime_Viewer_Partial extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => true, - 'forceinline' => true, 'full' => false, 'info' => true, 'inline' => false, @@ -28,6 +26,17 @@ class IMP_Horde_Mime_Viewer_Partial extends Horde_Mime_Viewer_Driver ); /** + * Metadata for the current viewer/data. + * + * @var array + */ + protected $_metadata = array( + 'compressed' => false, + 'embedded' => true, + 'forceinline' => true + ); + + /** * Cached data. * * @var array diff --git a/imp/lib/Mime/Viewer/Pdf.php b/imp/lib/Mime/Viewer/Pdf.php index 0e0a3ed22..347bfd0d8 100644 --- a/imp/lib/Mime/Viewer/Pdf.php +++ b/imp/lib/Mime/Viewer/Pdf.php @@ -14,13 +14,11 @@ class IMP_Horde_Mime_Viewer_Pdf extends Horde_Mime_Viewer_Pdf { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => false, 'full' => true, 'info' => true, 'inline' => false, diff --git a/imp/lib/Mime/Viewer/Pgp.php b/imp/lib/Mime/Viewer/Pgp.php index 58c7c8190..a5660113f 100644 --- a/imp/lib/Mime/Viewer/Pgp.php +++ b/imp/lib/Mime/Viewer/Pgp.php @@ -23,13 +23,11 @@ class IMP_Horde_Mime_Viewer_Pgp extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => true, - 'forceinline' => true, 'full' => false, 'info' => false, 'inline' => true, @@ -40,6 +38,17 @@ class IMP_Horde_Mime_Viewer_Pgp extends Horde_Mime_Viewer_Driver ); /** + * Metadata for the current viewer/data. + * + * @var array + */ + protected $_metadata = array( + 'compressed' => false, + 'embedded' => true, + 'forceinline' => true + ); + + /** * IMP_Crypt_Pgp object. * * @var IMP_Crypt_Pgp diff --git a/imp/lib/Mime/Viewer/Related.php b/imp/lib/Mime/Viewer/Related.php index ba3f44647..f58e0ff06 100644 --- a/imp/lib/Mime/Viewer/Related.php +++ b/imp/lib/Mime/Viewer/Related.php @@ -14,13 +14,11 @@ class IMP_Horde_Mime_Viewer_Related extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => true, 'full' => true, 'info' => false, 'inline' => true, @@ -28,6 +26,17 @@ class IMP_Horde_Mime_Viewer_Related extends Horde_Mime_Viewer_Driver ); /** + * Metadata for the current viewer/data. + * + * @var array + */ + protected $_metadata = array( + 'compressed' => false, + 'embedded' => false, + 'forceinline' => true + ); + + /** * Return the full rendered version of the Horde_Mime_Part object. * * @return array See Horde_Mime_Viewer_Driver::render(). diff --git a/imp/lib/Mime/Viewer/Smime.php b/imp/lib/Mime/Viewer/Smime.php index 771233feb..9d6bbc348 100644 --- a/imp/lib/Mime/Viewer/Smime.php +++ b/imp/lib/Mime/Viewer/Smime.php @@ -25,13 +25,11 @@ class IMP_Horde_Mime_Viewer_Smime extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => true, - 'forceinline' => true, 'full' => false, 'info' => false, 'inline' => true, @@ -39,6 +37,17 @@ class IMP_Horde_Mime_Viewer_Smime extends Horde_Mime_Viewer_Driver ); /** + * Metadata for the current viewer/data. + * + * @var array + */ + protected $_metadata = array( + 'compressed' => false, + 'embedded' => true, + 'forceinline' => true + ); + + /** * IMP_Crypt_Smime object. * * @var IMP_Crypt_Smime diff --git a/imp/lib/Mime/Viewer/Status.php b/imp/lib/Mime/Viewer/Status.php index 996cee749..33974a42e 100644 --- a/imp/lib/Mime/Viewer/Status.php +++ b/imp/lib/Mime/Viewer/Status.php @@ -14,13 +14,11 @@ class IMP_Horde_Mime_Viewer_Status extends Horde_Mime_Viewer_Driver { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => true, 'full' => false, 'info' => true, 'inline' => true, @@ -28,6 +26,17 @@ class IMP_Horde_Mime_Viewer_Status extends Horde_Mime_Viewer_Driver ); /** + * Metadata for the current viewer/data. + * + * @var array + */ + protected $_metadata = array( + 'compressed' => false, + 'embedded' => false, + 'forceinline' => true + ); + + /** * Return the rendered inline version of the Horde_Mime_Part object. * * @return array See Horde_Mime_Viewer_Driver::render(). diff --git a/imp/lib/Mime/Viewer/Tnef.php b/imp/lib/Mime/Viewer/Tnef.php index 039bed745..989e67ef6 100644 --- a/imp/lib/Mime/Viewer/Tnef.php +++ b/imp/lib/Mime/Viewer/Tnef.php @@ -14,13 +14,11 @@ class IMP_Horde_Mime_Viewer_Tnef extends Horde_Mime_Viewer_Tnef { /** - * Can this driver render various views? + * This driver's display capabilities. * - * @var boolean + * @var array */ protected $_capability = array( - 'embedded' => false, - 'forceinline' => true, 'full' => true, 'info' => true, 'inline' => false, @@ -28,6 +26,17 @@ class IMP_Horde_Mime_Viewer_Tnef extends Horde_Mime_Viewer_Tnef ); /** + * Metadata for the current viewer/data. + * + * @var array + */ + protected $_metadata = array( + 'compressed' => true, + 'embedded' => false, + 'forceinline' => true + ); + + /** * Return the full rendered version of the Horde_Mime_Part object. * * URL parameters used by this function: -- 2.11.0