⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.50
Server IP:
41.128.143.86
Server:
Linux host.raqmix.cloud 6.8.0-1025-azure #30~22.04.1-Ubuntu SMP Wed Mar 12 15:28:20 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.3.23
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
psa-horde
/
imp
/
lib
/
Mime
/
Viewer
/
Edit File: Pdf.php
<?php /** * Copyright 2008-2017 Horde LLC (http://www.horde.org/) * * See the enclosed file COPYING for license information (GPL). If you * did not receive this file, see http://www.horde.org/licenses/gpl. * * @category Horde * @copyright 2008-2017 Horde LLC * @license http://www.horde.org/licenses/gpl GPL * @package IMP */ /** * Handler to generate thumbnails for PDF attachments. * * @author Michael Slusarz <slusarz@horde.org> * @category Horde * @copyright 2008-2017 Horde LLC * @license http://www.horde.org/licenses/gpl GPL * @package IMP */ class IMP_Mime_Viewer_Pdf extends Horde_Mime_Viewer_Pdf { /** * This driver's display capabilities. * * @var array */ protected $_capability = array( 'full' => true, 'info' => true, 'inline' => false, 'raw' => false ); /** * Return the full rendered version of the Horde_Mime_Part object. * * URL parameters used by this function: * - pdf_view_thumbnail: (boolean) Output the thumbnail info. * * @return array See parent::render(). */ protected function _render() { /* Create the thumbnail and display. */ if (!$GLOBALS['injector']->getInstance('Horde_Variables')->pdf_view_thumbnail) { return parent::_render(); } $img = $this->_getHordeImageOb(true); if ($img) { $img->resize(150, 150, true); $type = $img->getContentType(); $data = $img->raw(true); } if (!$img || !$data) { $type = 'image/png'; $img_ob = Horde_Themes::img('mini-error.png', 'imp'); $data = file_get_contents($img_ob->fs); } return array( $this->_mimepart->getMimeId() => array( 'data' => $data, 'type' => $type ) ); } /** * Return the rendered information about the Horde_Mime_Part object. * * @return array See parent::render(). */ protected function _renderInfo() { /* Check to see if convert utility is available. */ if (!$this->_getHordeImageOb(false)) { return array(); } $status = new IMP_Mime_Status(_("This is a thumbnail of a PDF file attachment.")); $status->icon('mime/image.png'); switch ($GLOBALS['registry']->getView()) { case Horde_Registry::VIEW_MINIMAL: $status->addText(Horde::link($this->getConfigParam('imp_contents')->urlView($this->_mimepart, 'view_attach')) . $this->_outputImgTag() . '</a>'); break; default: $status->addText($this->getConfigParam('imp_contents')->linkViewJS($this->_mimepart, 'view_attach', $this->_outputImgTag(), null, null, null)); break; } return array( $this->_mimepart->getMimeId() => array( 'data' => '', 'status' => $status, 'type' => 'text/html; charset=' . $this->getConfigParam('charset') ) ); } /** * Return a Horde_Image object. * * @param boolean $load Whether to load the image data. * * @return mixed The Hore_Image object, or false on error. */ protected function _getHordeImageOb($load) { if (!$this->getConfigParam('thumbnails')) { return false; } try { $img = $GLOBALS['injector']->getInstance('Horde_Core_Factory_Image')->create(); } catch (Horde_Exception $e) { return false; } if (!$img->hasCapability('multipage') && !$img->hasCapability('pdf')) { return false; } if ($load) { try { $img->loadString($this->_mimepart->getContents()); } catch (Horde_Image_Exception $e) { return false; } } try { return $img->getImageAtIndex(0, true, 'white'); } catch (Horde_Image_Exception $e) { return false; } } /** * Output an image tag for the thumbnail. * * @return string An image tag. */ protected function _outputImgTag() { return '<img src="' . $this->getConfigParam('imp_contents')->urlView($this->_mimepart, 'view_attach', array('params' => array('pdf_view_thumbnail' => 1)))->setRaw(false) . '" alt="' . htmlspecialchars(_("View PDF File"), ENT_COMPAT, $this->getConfigParam('charset')) . '" />'; } }
Simpan