From eb5cf7a7b8fe3b0bcaee284e78d5c529d2da50a5 Mon Sep 17 00:00:00 2001 From: Paul Barrett Date: Wed, 23 Sep 2009 12:55:55 +0200 Subject: [PATCH] Added instaview link functionality for thumbnail display on preview pane and document details page --- plugins/ktstandard/documentpreview/documentPreview.php | 13 +++++++++++-- plugins/thumbnails/thumbnails.php | 38 ++++++++++++++++++++++++-------------- view.php | 14 ++++++++++++-- 3 files changed, 47 insertions(+), 18 deletions(-) diff --git a/plugins/ktstandard/documentpreview/documentPreview.php b/plugins/ktstandard/documentpreview/documentPreview.php index 11e6776..7eb64b5 100755 --- a/plugins/ktstandard/documentpreview/documentPreview.php +++ b/plugins/ktstandard/documentpreview/documentPreview.php @@ -280,12 +280,21 @@ class DocumentPreview { $sInfo .= " "; // Check for existence of thumbnail plugin - if (KTPluginUtil::pluginIsActive('thumbnails.generator.processor.plugin')) { + if (KTPluginUtil::pluginIsActive('thumbnails.generator.processor.plugin')) + { // hook into thumbnail plugin to get display for thumbnail include_once(KT_DIR . '/plugins/thumbnails/thumbnails.php'); $thumbnailer = new ThumbnailViewlet(); $thumbnailDisplay = $thumbnailer->display_viewlet($sId); - if ($thumbnailDisplay != '') { + if ($thumbnailDisplay != '') + { + // check for existence and status of instant view plugin + if (KTPluginUtil::pluginIsActive('instaview.processor.plugin')) + { + require_once KTPluginUtil::getPluginPath('instaview.processor.plugin') . 'instaViewLinkAction.php'; + $ivLinkAction = new instaViewLinkAction(); + $thumbnailDisplay = '' . $thumbnailDisplay . ''; + } $sInfo .= "
$thumbnailDisplay
"; } } diff --git a/plugins/thumbnails/thumbnails.php b/plugins/thumbnails/thumbnails.php index 83f8b37..9b30cd6 100755 --- a/plugins/thumbnails/thumbnails.php +++ b/plugins/thumbnails/thumbnails.php @@ -28,8 +28,8 @@ require_once(KT_DIR . '/search2/documentProcessor/documentProcessor.inc.php'); * Generates thumbnails of documents using the pdf converter output * Dependent on the pdfConverter */ -class thumbnailGenerator extends BaseProcessor -{ +class thumbnailGenerator extends BaseProcessor { + public $order = 3; protected $namespace = 'thumbnails.generator.processor'; @@ -38,9 +38,7 @@ class thumbnailGenerator extends BaseProcessor * * @return thumbnailGenerator */ - public function thumbnailGenerator() - { - } + public function thumbnailGenerator() { } /** * Gets the document path and calls the generator function @@ -100,7 +98,6 @@ class thumbnailGenerator extends BaseProcessor $mime_types[] = 'application/vnd.oasis.opendocument.spreadsheet'; $mime_types[] = 'application/vnd.oasis.opendocument.spreadsheet-template'; - /* OO3 // Office 2007 $mime_types[] = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'; $mime_types[] = 'application/vnd.openxmlformats-officedocument.wordprocessingml.template'; @@ -109,7 +106,6 @@ class thumbnailGenerator extends BaseProcessor $mime_types[] = 'application/vnd.openxmlformats-officedocument.presentationml.presentation'; $mime_types[] = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'; $mime_types[] = 'application/vnd.openxmlformats-officedocument.spreadsheetml.template'; - */ return $mime_types; } @@ -131,8 +127,10 @@ class thumbnailGenerator extends BaseProcessor - check out ktcore/KTDocumentViewlets.php - viewlet class is below */ + global $default; - $pdfDir = $default->pdfDirectory; + + $pdfDir = $default->pdfDirectory; $pdfFile = $pdfDir .'/'. $this->document->iId.'.pdf'; $thumbnaildir = $pdfDir."/thumbnails"; $thumbnailfile = $thumbnaildir.'/'.$this->document->iId.'.jpg'; @@ -162,33 +160,45 @@ class thumbnailGenerator extends BaseProcessor } } + } class ThumbnailViewlet extends KTDocumentViewlet { + var $sName = 'thumbnail.viewlets'; - public function display_viewlet($documentId) { + public function display_viewlet($documentId) + { global $default; + $oKTTemplating =& KTTemplating::getSingleton(); $oTemplate =& $oKTTemplating->loadTemplate('thumbnail_viewlet'); + if (is_null($oTemplate)) return ''; - $pdfDir = $default->pdfDirectory; + + $pdfDir = $default->pdfDirectory; $thumbnailfile = $pdfDir . '/thumbnails/'.$documentId.'.jpg'; - // check that file exists + + // check that file exists if (!file_exists($thumbnailfile)) return ''; // NOTE this is to turn the config setting for the PDF directory into a proper URL and not a path $thumbnailUrl = str_replace($default->varDirectory, 'var/', $thumbnailfile); $oTemplate->setData(array('thumbnail' => $thumbnailUrl)); + return $oTemplate->render(); } - public function get_width($documentId){ + public function get_width($documentId) + { global $default; - $pdfDir = $default->pdfDirectory; + + $pdfDir = $default->pdfDirectory; $thumbnailfile = $pdfDir . '/thumbnails/'.$documentId.'.jpg'; $size = getimagesize($thumbnailfile); - return $size[0]; + + return $size[0]; } + } ?> \ No newline at end of file diff --git a/view.php b/view.php index 2c1031c..56b34b5 100644 --- a/view.php +++ b/view.php @@ -251,12 +251,22 @@ class ViewDocumentDispatcher extends KTStandardDispatcher { // check for a thumbnail $thumbnail = ''; - if (KTPluginUtil::pluginIsActive('thumbnails.generator.processor.plugin')) { + if (KTPluginUtil::pluginIsActive('thumbnails.generator.processor.plugin')) + { // hook into thumbnail plugin to get display for thumbnail include_once(KT_DIR . '/plugins/thumbnails/thumbnails.php'); $thumbnailer = new ThumbnailViewlet(); $thumbnailDisplay = $thumbnailer->display_viewlet($document_id); - if ($thumbnailDisplay != '') { + if ($thumbnailDisplay != '') + { + // check for existence and status of instant view plugin + if (KTPluginUtil::pluginIsActive('instaview.processor.plugin')) + { + require_once KTPluginUtil::getPluginPath('instaview.processor.plugin') . 'instaViewLinkAction.php'; + $ivLinkAction = new instaViewLinkAction(); + $thumbnailDisplay = '' . $thumbnailDisplay . ''; + } + $thumbnail = $thumbnailDisplay; } } -- libgit2 0.21.4