From d133d4f510f7b1838c9f767c752465a653c3cf54 Mon Sep 17 00:00:00 2001 From: "vincent@cubedesigners.com" Date: Wed, 26 Apr 2017 10:07:35 +0000 Subject: [PATCH] wip #1363 @1 --- inc/ws/Util/html5/class.ws.html5.links.php | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/inc/ws/Util/html5/class.ws.html5.links.php b/inc/ws/Util/html5/class.ws.html5.links.php index df326ab85..12c4b8aec 100644 --- a/inc/ws/Util/html5/class.ws.html5.links.php +++ b/inc/ws/Util/html5/class.ws.html5.links.php @@ -1122,11 +1122,29 @@ class zoomLink extends normalLink { $pdfpath = wsDocument::getDir($p['document_id']) . 'original.pdf'; CubeIT_CommandLine_Poppler::extractArea($pdfpath, - $this->page, + $p['document_page'], array('x' => $this->left, 'y' => $this->top, 'width' => $this->width, 'height' => $this->height), $left); - $this->compiler->simpleCopyLinkFile($left . '.png', 'data/links/zoom_' . $this->id . '.png'); + $bookwidth = $this->compiler->book->parametres->width; + + if (($this->left + $this->width) > $bookwidth) { + $p = wsDAOBook::getDocumentPage($this->compiler->book_id, $this->page + 1); + $pdfpath = wsDocument::getDir($p['document_id']) . 'original.pdf'; + $diff = ($this->width + $this->left) - $bookwidth; + $right = CubeIT_Files::tempnam(); + CubeIT_CommandLine_Poppler::extractArea($pdfpath, + $p['document_page'], + array('x' => 0, 'y' => $this->top, 'width' => $diff, 'height' => $this->height), + $right); + + $both = CubeIT_Files::tempnam() . '.png'; + CubeIT_CommandLine_Imagemagick::append(array($left . '.png', $right . '.png'), $both, 'horizontal'); + } else { + $both = $left . '.png'; + } + + $this->compiler->simpleCopyLinkFile($both, 'data/links/zoom_' . $this->id . '.png'); } -- 2.39.5