]> _ Git - cubeextranet.git/commitdiff
wait #3988 @3
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Thu, 19 Nov 2020 20:02:58 +0000 (20:02 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Thu, 19 Nov 2020 20:02:58 +0000 (20:02 +0000)
fluidbook/tools/social_screenshot/social_screenshot.js [new file with mode: 0644]
inc/ws/Controlleur/class.ws.services.php
inc/ws/Controlleur/class.ws.url.php

diff --git a/fluidbook/tools/social_screenshot/social_screenshot.js b/fluidbook/tools/social_screenshot/social_screenshot.js
new file mode 100644 (file)
index 0000000..4cec973
--- /dev/null
@@ -0,0 +1,26 @@
+const puppeteer = require('puppeteer');\r
+const commandLineArgs = require('command-line-args');\r
+const optionDefinitions = [\r
+    {name: 'url', type: String},\r
+    {name: 'dest', type: String},\r
+    {name: 'delay', type: Number, defaultOption: 10},\r
+    {name: 'scale', type: Number, defaultOption: 1},\r
+    {name: 'width', type: Number, defaultOption: 1920},\r
+    {name: 'height', type: Number, defaultOption: 1080}\r
+];\r
+\r
+(async () => {\r
+    const options = commandLineArgs(optionDefinitions);\r
+    const browser = await puppeteer.launch({headless: true});\r
+    const page = await browser.newPage();\r
+    page.on('console', msg => console.log('PAGE LOG:', msg._text));\r
+    await page.setViewport({\r
+        width: options.width / options.scale,\r
+        height: options.height / options.scale,\r
+        deviceScaleFactor: options.scale,\r
+    });\r
+    await page.goto(options.url);\r
+    await new Promise(r => setTimeout(r, 1000 * options.delay));\r
+    await page.screenshot({path: options.dest, type: 'jpeg', quality: 95});\r
+    await browser.close();\r
+})();
\ No newline at end of file
index f240e1a411650dad54afeff076d58f43588af547..67bda7355b189cfc413c85e0f1ba977b38715fd9 100644 (file)
@@ -209,23 +209,34 @@ class wsServices extends cubeFlashGateway
 
                     $w = 1200;
                     $h = 628;
-                    $tmp = CubeIT_Files::tempnam() . '.svg';
-                    $cl = new CubeIT_CommandLine('xvfb-run');
-                    $cl->setArg('a');
-                    $cl->setArg('server-args', '-screen 0, ' . $w . 'x' . $h . 'x24');
-                    $cl->setArg(null, '/usr/bin/cutycapt');
-                    $cl->setArg('min-width', $w);
-                    $cl->setArg('min-height', $h);
-                    $cl->setArg('zoom-factor', 0.5);
+//                    $tmp = CubeIT_Files::tempnam() . '.svg';
+//                    $cl = new CubeIT_CommandLine('xvfb-run');
+//                    $cl->setArg('a');
+//                    $cl->setArg('server-args', '-screen 0, ' . $w . 'x' . $h . 'x24');
+//                    $cl->setArg(null, '/usr/bin/cutycapt');
+//                    $cl->setArg('min-width', $w);
+//                    $cl->setArg('min-height', $h);
+//                    $cl->setArg('zoom-factor', 0.5);
+//                    $cl->setArg('url', $url);
+//                    $cl->setArg('delay', 10000);
+//                    $cl->setArg('out', $tmp);
+//                    $cl->execute();
+//                    $cl->debug();
+//
+//                    $geo = $w . 'x' . $h;
+//                    `convert $tmp -crop $geo+0+0 +repage -resize $geo -flatten  $cover`;
+//                    unlink($tmp);
+
+                    $cl = new CubeIT_CommandLine('node');
+                    $cl->setArg(null, WS_TOOLS . '/social_screenshot/social_screenshot.js');
+                    $cl->setArg('width', $w);
+                    $cl->setArg('height', $h);
+                    $cl->setArg('delay', 10);
+                    $cl->setArg('scale', 0.5);
+                    $cl->setArg('dest', $cover);
                     $cl->setArg('url', $url);
-                    $cl->setArg('delay', 10000);
-                    $cl->setArg('out', $tmp);
                     $cl->execute();
                     $cl->debug();
-
-                    $geo = $w . 'x' . $h;
-                    `convert $tmp -crop $geo+0+0 +repage -resize $geo -flatten  $cover`;
-                    unlink($tmp);
                 }
             }
         }
index bf6a756e6d5f64e19bca703ab672e77e8c0d2d10..6a803d6d045a746993683fca3c818d32e673752c 100644 (file)
@@ -1124,7 +1124,7 @@ html.tall{height:150%}' . "\n";
             $q = '?' . $q;
         }
         $limit = time() - 60;
-        if (count($e) <= 2 || $e[2] < $limit) {
+        if (count($e) <= 2 || ($e[2] < $limit && !$nointerface)) {
             $e[2] = $time;
             $daoTheme = new wsDAOTheme($core->con);
             $theme = $daoTheme->getThemeOfBook($book_id, true);
@@ -1456,7 +1456,6 @@ html,body{height:100%;cursor: wait;font-family: "Open Sans", Arial;background-co
         header('Content-type: text/plain');
         ob_clean();
 
-
         $extractor = new wsPDFFontExtractor(WS_DOCS . '/' . $documentId);
         $extractor->extract();