<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
- <component name="PublishConfigData" autoUpload="Always" serverName="alphaville.cubedesigners.com" remoteFilesAllowedToDisappearOnAutoupload="false" confirmBeforeUploading="false" showAutoUploadSettingsWarning="false">
+ <component name="PublishConfigData" autoUpload="Always" serverName="toolbox.fluidbook.com" remoteFilesAllowedToDisappearOnAutoupload="false" confirmBeforeUploading="false" showAutoUploadSettingsWarning="false">
<option name="confirmBeforeUploading" value="false" />
<serverData>
<paths name="alpha.toolbox.fluidbook.com">
</excludedPaths>
</serverdata>
</paths>
+ <paths name="bastide-resah.fluidbook.com">
+ <serverdata>
+ <mappings>
+ <mapping local="$PROJECT_DIR$" web="/" />
+ </mappings>
+ </serverdata>
+ </paths>
<paths name="demo1.cubedesigners.com">
<serverdata>
<mappings>
</mappings>
</serverdata>
</paths>
+ <paths name="elearning.fluidbook.com">
+ <serverdata>
+ <mappings>
+ <mapping local="$PROJECT_DIR$" web="/" />
+ </mappings>
+ </serverdata>
+ </paths>
<paths name="etatpur.ei-plateforme1.com">
<serverdata>
<mappings>
* @return string
*/
+ const TIMEOUT_SVG = '<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="1" height="1"/><!-- TIMEOUT -->';
+
public static function resource_path($path)
{
return __DIR__ . '/../resources/' . self::_cleanPath($path);
{
$infos = self::infos($pdf);
$res = ['size' => $infos['infos']['size'], 'max' => [0, 0], 'totalHeight' => 0];
+ if (!isset($infos['infos']['page']) || !count($infos['infos']['page'])) {
+ return $res;
+ }
foreach ($infos['infos']['page'] as $page) {
$res['max'][0] = max($res['max'][0], $page['size'][0]);
$res['max'][1] = max($res['max'][1], $page['size'][1]);
// bookmarks
// Init arrays
$res['raw'] = $data;
- $res['infos'] = [];
- $res['infos']['size'] = [0, 0];
+ $res['infos'] = ['page' => [], 'pages' => 0, 'size' => [0, 0]];
$res['bookmarks'] = [];
$res['numberSections'] = '';
$bookmark_id = 0;
}
- public static function makeBaseSVGFile($in, $out, $page, $attempts = 3)
+ public static function makeBaseSVGFile($in, $out, $page, $attempts = 3, $timeout = 600)
{
$pdftocairo = new CommandLine('pdftocairo');
+ $pdftocairo->setTimeout($timeout);
$pdftocairo->setArg('f', $page);
$pdftocairo->setArg('l', $page);
$pdftocairo->setArg('r', 300);
$pdftocairo->setArg(null, $out);
$pdftocairo->execute();
+ if (file_exists($out) && filesize($out) === 0) {
+ file_put_contents($out, static::TIMEOUT_SVG);
+ return;
+ }
+
if (self::hasPopplerError($pdftocairo->getOutput())) {
if ($attempts > 0) {
static::makeBaseSVGFile($in, $out, $page, $attempts - 1);