]> _ Git - cubeextranet.git/commitdiff
fix #1549 @2
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Tue, 11 Jul 2017 10:31:10 +0000 (10:31 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Tue, 11 Jul 2017 10:31:10 +0000 (10:31 +0000)
.htaccess
inc/ws/Controlleur/class.ws.services.php
index.php

index 6a63fab3882631d055aedb8bc9ba41010c59d829..84749924c6357bd22345dd5d2d4ff7ff49a453b9 100644 (file)
--- a/.htaccess
+++ b/.htaccess
@@ -49,6 +49,8 @@ AddCharset UTF-8 log
        RewriteCond %{HTTP_HOST} extranet.cubedesigners.com\r
        RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]\r
 \r
+       RewriteRule (.{255}) index.php/$1 [L,QSA]\r
+\r
        # Docs\r
     RewriteCond %{REQUEST_FILENAME} !-d\r
     RewriteCond %{REQUEST_FILENAME} !-f\r
index 85d96928abd2921dd848979e3e56649e744b1939..90af441b905b6269fd8c272155e2a6199147ff66 100644 (file)
@@ -342,49 +342,56 @@ class wsServices extends cubeFlashGateway {
                        $range[$k] = $r->pages;
                }
 
-               if (!count($range)) {
-                       return;
-               }
+               $range = array_unique($range);
+               sort($range);
+
+
                // Paths init
                $baseDocument = $this->getPDFComplexBaseDocument($book);
-               fb($baseDocument, '!!');
+
                if (!file_exists($baseDocument)) {
-                       fb('not exists');
                        return;
                }
+
+               if (!count($range)) {
+                       return;
+               }
+
+
                $destDir = WS_CACHE . '/exportpdf/' . $book->cid;
                if (!file_exists($destDir)) {
                        mkdir($destDir, 0777, true);
                }
                $fname = md5(implode(',%ù', $range)) . '.pdf';
-               fb($fname);
                $destFile = $destDir . '/' . $fname;
                $destURL = '/fluidbook/cache/exportpdf/' . $book->cid . '/' . $fname;
-               fb($destFile);
 
                // If result exists, don't make the pdf again
                if (file_exists($destFile) && filemtime($destFile) > filemtime($baseDocument)) {
-                       fb('already exists');
+
                } else {
-                       // Prepare the command line
-                       $l = array('A="' . $baseDocument . '"', 'cat');
-                       foreach ($range as $page) {
-                               if ($page < 1 || $page > $book->parametres->pages) {
-                                       continue;
+                       if ($range[0] == 1 && count($range) == $book->parametres->pages && $range[$book->parametres->pages - 1] == $book->parametres->pages) {
+                               `cp $baseDocument $destFile`;
+                       } else {
+
+                               // Prepare the command line
+                               $l = array('A="' . $baseDocument . '"', 'cat');
+                               foreach ($range as $page) {
+                                       if ($page < 1 || $page > $book->parametres->pages) {
+                                               continue;
+                                       }
+                                       $l[] = 'A' . $page;
                                }
-                               $l[] = 'A' . $page;
+                               $l[] = 'output';
+                               $l[] = $destFile;
+
+                               $args = implode(' ', $l);
+                               // Execute the command line
+                               $pdftk = new cubeCommandLine('pdftk');
+                               $pdftk->setPath(CONVERTER_PATH);
+                               $pdftk->setManualArg($args);
+                               $pdftk->execute();
                        }
-                       $l[] = 'output';
-                       $l[] = $destFile;
-
-                       $args = implode(' ', $l);
-                       // Execute the command line
-                       $pdftk = new cubeCommandLine('pdftk');
-                       $pdftk->setPath(CONVERTER_PATH);
-                       $pdftk->setManualArg($args);
-                       $pdftk->execute();
-                       fb($pdftk->commande);
-                       fb($pdftk->output);
                }
 
                return array('url' => $destURL, 'file' => $destFile);
@@ -425,6 +432,8 @@ class wsServices extends cubeFlashGateway {
        public function exportpdf($print = false) {
                global $core;
 
+               set_time_limit(0);
+
                $dao = new wsDAOBook($core->con);
                if (isset($this->args['cid'])) {
                        $book = $dao->selectByCid($this->args['cid']);
index a5a9578f60de92c3cf8e974c88859d28a6b80db0..9aefacc8751e4cf405d4f8f888d4e66ba698aae3 100644 (file)
--- a/index.php
+++ b/index.php
@@ -5,7 +5,7 @@ ChromePhp::getInstance()->setEnabled();
 
 require_once(dirname(__FILE__) . '/inc/prepend.php');
 
-ChromePhp::log($_SERVER);
+//ChromePhp::log($_SERVER);
 ob_start();
 
 header('Access-Control-Allow-Origin: *');