}
$id = $book->book_id;
- $wid=$book->getAssetDir();
+ $wid = $book->getAssetDir();
if (isset($this->args['image'])) {
$cover = $wid . $this->args['image'];
} else {
if (isset($book->parametres->facebook_image) && $book->parametres->facebook_image != '') {
- $c =$wid. $book->parametres->facebook_image;
+ $c = $wid . $book->parametres->facebook_image;
if (file_exists($c)) {
$cover = $c;
}
if (!isset($cover)) {
$cover = WS_FILES . '/social_image/' . $id . '.jpg';
- $limit = TIME - (3600 * 24 * 5);
+ $limit = TIME - (3600 * 24 * 30);
$minsize = 20 * 1024;
if (isset($_GET['force']) || !file_exists($cover) || filemtime($cover) < $limit || filesize($cover) < $minsize) {
- $url = 'https://workshop.fluidbook.com/viewerh/' . $id . '_' . $book->hash . '_' . TIME . '/?nointerface=1';
- if (isset($_GET['forcecompile'])) {
- $url .= '&force=1';
- }
- $url .= '#/page/0';
+ $lock = WS_BOOKS . '/locks/' . $id . '.social_screenshot';
+ if (!file_exists($lock) || filemtime($lock) < time() - 3600) {
+ touch($lock);
+
+ $url = 'https://workshop.fluidbook.com/viewerh/' . $id . '_' . $book->hash . '_' . TIME . '/?nointerface=1';
+ if (isset($_GET['forcecompile'])) {
+ $url .= '&force=1';
+ }
+ $url .= '#/page/0';
- $w = 1200;
- $h = 628;
+
+ $w = 1200;
+ $h = 628;
// $tmp = CubeIT_Files::tempnam() . '.svg';
// $cl = new CubeIT_CommandLine('xvfb-run');
// $cl->setArg('a');
// `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->execute();
- $cl->debug();
+ $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->execute();
+ $cl->debug();
+
+ unlink($lock);
+ }
}
}
}
{
global $core;
$mode = $force ? $force : $book->parametres->bookmarkUsePDF;
- $wid=$book->getAssetDir();
+ $wid = $book->getAssetDir();
switch ($mode) {
case 'download':
$res = $wid . $book->parametres->pdfReplace;