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,
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,
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,
);
/**
+ * 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().
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,
);
/**
+ * 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
case 'inline':
return $this->getConfigParam('inline') &&
- ($this->_capability['forceinline'] ||
+ ($this->_metadata['forceinline'] ||
($this->_capability['inline'] &&
($this->_mimepart->getDisposition() == 'inline')));
$viewer = $this->_getViewer();
return $viewer
? $viewer->embeddedMimeParts()
- : $this->_capability['embedded'];
+ : $this->_metadata['embedded'];
}
/**
}
/**
+ * 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.
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,
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,
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,
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,
);
/**
+ * 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().
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,
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,
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,
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,
);
/**
+ * 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().
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,
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,
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,
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,
);
/**
+ * 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().
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,
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,
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,
);
/**
+ * 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().
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,
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,
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,
);
/**
+ * 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().
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
);
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,
);
/**
+ * 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
);
/**
+ * 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().
{
return $this->_renderInline();
}
+
}
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,
);
/**
+ * 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().
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,
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,
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,
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,
);
/**
+ * 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
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,
);
/**
+ * 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().
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,
);
/**
+ * 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().
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,
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,
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,
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,
);
/**
+ * 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().
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,
);
/**
+ * Metadata for the current viewer/data.
+ *
+ * @var array
+ */
+ protected $_metadata = array(
+ 'compressed' => false,
+ 'embedded' => true,
+ 'forceinline' => true
+ );
+
+ /**
* Cached data.
*
* @var array
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,
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,
);
/**
+ * 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
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,
);
/**
+ * 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().
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,
);
/**
+ * 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
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,
);
/**
+ * 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().
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,
);
/**
+ * 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: