From: Michael M Slusarz Date: Thu, 7 Jan 2010 22:40:45 +0000 (-0700) Subject: Tweaks to compressed viewers. X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=d856d10118fd027e2e45767ef7c03624c04e5aeb;p=horde.git Tweaks to compressed viewers. Since we are not rendering the contents of these parts inline, the list of files contained in the compressed data should be displayed in the info render view instead. Additionally, this list should always be viewable in the full render mode. --- diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Deb.php b/framework/Mime/lib/Horde/Mime/Viewer/Deb.php index 9257a3254..8d357cbff 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Deb.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Deb.php @@ -20,8 +20,8 @@ class Horde_Mime_Viewer_Deb extends Horde_Mime_Viewer_Driver */ protected $_capability = array( 'full' => true, - 'info' => false, - 'inline' => true, + 'info' => true, + 'inline' => false, 'raw' => false ); @@ -33,7 +33,7 @@ class Horde_Mime_Viewer_Deb extends Horde_Mime_Viewer_Driver protected $_metadata = array( 'compressed' => true, 'embedded' => false, - 'forceinline' => true + 'forceinline' => false ); /** @@ -43,7 +43,7 @@ class Horde_Mime_Viewer_Deb extends Horde_Mime_Viewer_Driver */ protected function _render() { - $ret = $this->_renderInline(); + $ret = $this->_renderInfo(); if (!empty($ret)) { reset($ret); $ret[key($ret)]['data'] = '' . $ret[key($ret)]['data'] . ''; @@ -52,11 +52,11 @@ class Horde_Mime_Viewer_Deb extends Horde_Mime_Viewer_Driver } /** - * Return the rendered inline version of the Horde_Mime_Part object. + * Return the rendered information about the Horde_Mime_Part object. * * @return array See Horde_Mime_Viewer_Driver::render(). */ - protected function _renderInline() + protected function _renderInfo() { /* Check to make sure the viewer program exists. */ if (!isset($this->_conf['location']) || diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Rar.php b/framework/Mime/lib/Horde/Mime/Viewer/Rar.php index ade00692e..48af0f91a 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Rar.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Rar.php @@ -21,8 +21,8 @@ class Horde_Mime_Viewer_Rar extends Horde_Mime_Viewer_Driver */ protected $_capability = array( 'full' => true, - 'info' => false, - 'inline' => true, + 'info' => true, + 'inline' => false, 'raw' => false ); @@ -34,7 +34,7 @@ class Horde_Mime_Viewer_Rar extends Horde_Mime_Viewer_Driver protected $_metadata = array( 'compressed' => true, 'embedded' => false, - 'forceinline' => true + 'forceinline' => false ); /** @@ -44,7 +44,7 @@ class Horde_Mime_Viewer_Rar extends Horde_Mime_Viewer_Driver */ protected function _render() { - $ret = $this->_renderInline(); + $ret = $this->_renderInfo(); if (!empty($ret)) { reset($ret); $ret[key($ret)]['data'] = '' . $ret[key($ret)]['data'] . ''; @@ -53,12 +53,12 @@ class Horde_Mime_Viewer_Rar extends Horde_Mime_Viewer_Driver } /** - * Return the rendered inline version of the Horde_Mime_Part object. + * Return the rendered information about the Horde_Mime_Part object. * * @return array See Horde_Mime_Viewer_Driver::render(). * @throws Horde_Exception */ - protected function _renderInline() + protected function _renderInfo() { $contents = $this->_mimepart->getContents(); @@ -74,7 +74,7 @@ class Horde_Mime_Viewer_Rar extends Horde_Mime_Viewer_Driver } $text = '' . htmlspecialchars(sprintf(_("Contents of \"%s\""), $name)) . ":\n" . - '
' . + '
' .
             Horde_Text_Filter::filter(_("Archive Name") . ':  ' . $name, 'space2html', array('charset' => $charset, 'encode' => true, 'encode_all' => true)) . "\n" .
             Horde_Text_Filter::filter(_("Archive File Size") . ': ' . strlen($contents) . ' bytes', 'space2html', array('charset' => $charset, 'encode' => true, 'encode_all' => true)) . "\n" .
             Horde_Text_Filter::filter(sprintf(ngettext("File Count: %d file", "File Count: %d files", $fileCount), $fileCount), 'space2html', array('charset' => $charset, 'encode' => true, 'encode_all' => true)) .
@@ -109,10 +109,11 @@ class Horde_Mime_Viewer_Rar extends Horde_Mime_Viewer_Driver
 
         return array(
             $this->_mimepart->getMimeId() => array(
-                'data' => nl2br($text . str_repeat('-', 106) . "\n
"), + 'data' => nl2br($text . str_repeat('-', 106) . "\n
"), 'status' => array(), 'type' => 'text/html; charset=' . $charset ) ); } + } diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Rpm.php b/framework/Mime/lib/Horde/Mime/Viewer/Rpm.php index ec12af1b5..2c59d3719 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Rpm.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Rpm.php @@ -20,7 +20,7 @@ class Horde_Mime_Viewer_Rpm extends Horde_Mime_Viewer_Driver */ protected $_capability = array( 'full' => true, - 'info' => false, + 'info' => true, 'inline' => false, 'raw' => false ); @@ -33,7 +33,7 @@ class Horde_Mime_Viewer_Rpm extends Horde_Mime_Viewer_Driver protected $_metadata = array( 'compressed' => true, 'embedded' => false, - 'forceinline' => true + 'forceinline' => false ); /** @@ -43,6 +43,21 @@ class Horde_Mime_Viewer_Rpm extends Horde_Mime_Viewer_Driver */ protected function _render() { + $ret = $this->_renderInfo(); + if (!empty($ret)) { + reset($ret); + $ret[key($ret)]['data'] = '' . $ret[key($ret)]['data'] . ''; + } + return $ret; + } + + /** + * Return the rendered information about the Horde_Mime_Part object. + * + * @return array See Horde_Mime_Viewer_Driver::render(). + */ + protected function _renderInfo() + { /* Check to make sure the viewer program exists. */ if (!isset($this->_conf['location']) || !file_exists($this->_conf['location'])) { @@ -62,10 +77,11 @@ class Horde_Mime_Viewer_Rpm extends Horde_Mime_Viewer_Driver return array( $this->_mimepart->getMimeId() => array( - 'data' => '
' . htmlentities($data) . '
', + 'data' => '
' . htmlentities($data) . '
', 'status' => array(), 'type' => 'text/html; charset=' . Horde_Nls::getCharset() ) ); } + } diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Tgz.php b/framework/Mime/lib/Horde/Mime/Viewer/Tgz.php index 344f1fe7e..9449bf639 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Tgz.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Tgz.php @@ -18,25 +18,13 @@ class Horde_Mime_Viewer_Tgz extends Horde_Mime_Viewer_Driver * @var array */ protected $_capability = array( - 'full' => false, + 'full' => true, 'info' => true, - 'inline' => true, + 'inline' => false, 'raw' => false ); /** - * 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 @@ -62,12 +50,29 @@ class Horde_Mime_Viewer_Tgz extends Horde_Mime_Viewer_Driver } /** - * Return the rendered inline version of the Horde_Mime_Part object. + * Return the full rendered version of the Horde_Mime_Part object. + * + * @return array See Horde_Mime_Viewer_Driver::render(). + * @throws Horde_Exception + */ + protected function _render() + { + $ret = $this->_renderInfo(); + if (!empty($ret)) { + reset($ret); + $ret[key($ret)]['data'] = '' . $ret[key($ret)]['data'] . + ''; + } + return $ret; + } + + /** + * Return the rendered information about the Horde_Mime_Part object. * * @return array See Horde_Mime_Viewer_Driver::render(). * @throws Horde_Exception */ - protected function _renderInline() + protected function _renderInfo() { /* Currently, can't do anything without tar file. */ $subtype = $this->_mimepart->getSubType(); @@ -96,7 +101,7 @@ class Horde_Mime_Viewer_Tgz extends Horde_Mime_Viewer_Driver } $text = '' . htmlspecialchars(sprintf(_("Contents of \"%s\""), $name)) . ":\n" . - '
' . + '
' .
             Horde_Text_Filter::filter(_("Archive Name") . ':  ' . $name, 'space2html', array('charset' => $charset, 'encode' => true, 'encode_all' => true)) . "\n" .
             Horde_Text_Filter::filter(_("Archive File Size") . ': ' . strlen($contents) . ' bytes', 'space2html', array('charset' => $charset, 'encode' => true, 'encode_all' => true)) . "\n" .
             Horde_Text_Filter::filter(sprintf(ngettext("File Count: %d file", "File Count: %d files", $fileCount), $fileCount), 'space2html', array('charset' => $charset, 'encode' => true, 'encode_all' => true)) .
@@ -124,21 +129,11 @@ class Horde_Mime_Viewer_Tgz extends Horde_Mime_Viewer_Driver
 
         return array(
             $this->_mimepart->getMimeId() => array(
-                'data' => nl2br($text . str_repeat('-', 106) . "\n
"), + 'data' => nl2br($text . str_repeat('-', 106) . "\n
"), 'status' => array(), 'type' => 'text/html; charset=' . $charset ) ); } - /** - * Return the rendered information about the Horde_Mime_Part object. - * - * @return array See Horde_Mime_Viewer_Driver::render(). - */ - protected function _renderInfo() - { - return $this->_renderInline(); - } - } diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Tnef.php b/framework/Mime/lib/Horde/Mime/Viewer/Tnef.php index ac477b781..e94c344d9 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Tnef.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Tnef.php @@ -21,8 +21,8 @@ class Horde_Mime_Viewer_Tnef extends Horde_Mime_Viewer_Driver */ protected $_capability = array( 'full' => true, - 'info' => false, - 'inline' => true, + 'info' => true, + 'inline' => false, 'raw' => false ); @@ -34,17 +34,18 @@ class Horde_Mime_Viewer_Tnef extends Horde_Mime_Viewer_Driver protected $_metadata = array( 'compressed' => true, 'embedded' => false, - 'forceinline' => true + 'forceinline' => false ); /** * Return the full rendered version of the Horde_Mime_Part object. * * @return array See Horde_Mime_Viewer_Driver::render(). + * @throws Horde_Exception */ protected function _render() { - $ret = $this->_renderInline(); + $ret = $this->_renderInfo(); if (!empty($ret)) { reset($ret); $ret[key($ret)]['data'] = '' . $ret[key($ret)]['data'] . ''; @@ -53,11 +54,12 @@ class Horde_Mime_Viewer_Tnef extends Horde_Mime_Viewer_Driver } /** - * Return the rendered inline version of the Horde_Mime_Part object. + * Return the rendered information about the Horde_Mime_Part object. * * @return array See Horde_Mime_Viewer_Driver::render(). + * @throws Horde_Exception */ - protected function _renderInline() + protected function _renderInfo() { $tnef = Horde_Compress::factory('tnef'); $info = $tnef->decompress($this->_mimepart->getContents()); @@ -81,4 +83,5 @@ class Horde_Mime_Viewer_Tnef extends Horde_Mime_Viewer_Driver ) ); } + } diff --git a/framework/Mime/lib/Horde/Mime/Viewer/Zip.php b/framework/Mime/lib/Horde/Mime/Viewer/Zip.php index 44c2df023..e1fb5f6d7 100644 --- a/framework/Mime/lib/Horde/Mime/Viewer/Zip.php +++ b/framework/Mime/lib/Horde/Mime/Viewer/Zip.php @@ -21,8 +21,8 @@ class Horde_Mime_Viewer_Zip extends Horde_Mime_Viewer_Driver */ protected $_capability = array( 'full' => true, - 'info' => false, - 'inline' => true, + 'info' => true, + 'inline' => false, 'raw' => false ); @@ -34,7 +34,7 @@ class Horde_Mime_Viewer_Zip extends Horde_Mime_Viewer_Driver protected $_metadata = array( 'compressed' => true, 'embedded' => false, - 'forceinline' => true + 'forceinline' => false ); /** @@ -61,12 +61,12 @@ class Horde_Mime_Viewer_Zip extends Horde_Mime_Viewer_Driver } /** - * Return the rendered inline version of the Horde_Mime_Part object. + * Return the rendered information about the Horde_Mime_Part object. * * @return array See Horde_Mime_Viewer_Driver::render(). * @throws Horde_Exception */ - protected function _renderInline() + protected function _renderInfo() { return $this->_toHTML(); } diff --git a/imp/lib/Mime/Viewer/Tnef.php b/imp/lib/Mime/Viewer/Tnef.php index 989e67ef6..d1c6ca985 100644 --- a/imp/lib/Mime/Viewer/Tnef.php +++ b/imp/lib/Mime/Viewer/Tnef.php @@ -33,7 +33,7 @@ class IMP_Horde_Mime_Viewer_Tnef extends Horde_Mime_Viewer_Tnef protected $_metadata = array( 'compressed' => true, 'embedded' => false, - 'forceinline' => true + 'forceinline' => false ); /** diff --git a/imp/lib/Mime/Viewer/Zip.php b/imp/lib/Mime/Viewer/Zip.php index ff2b9b466..187947451 100644 --- a/imp/lib/Mime/Viewer/Zip.php +++ b/imp/lib/Mime/Viewer/Zip.php @@ -59,14 +59,14 @@ class IMP_Horde_Mime_Viewer_Zip extends Horde_Mime_Viewer_Zip } /** - * Return the rendered inline version of the Horde_Mime_Part object. + * Return the rendered information about the Horde_Mime_Part object. * * @return array See Horde_Mime_Viewer_Driver::render(). */ - protected function _renderInline() + protected function _renderInfo() { $this->_callback = array(&$this, '_IMPcallback'); - return parent::_renderInline(); + return parent::_renderInfo(); } /** @@ -91,4 +91,5 @@ class IMP_Horde_Mime_Viewer_Zip extends Horde_Mime_Viewer_Zip return $val; } + }