X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=DataObjects%2FImages.php;h=127c66d364d81996abba143f58a1defd0d493514;hb=e5c38808cb656701768c5a61dc1d54628bb7e8ab;hp=4d2a930d9f0758432c3df1b13647705ecd2b3f6a;hpb=04adeb4f37f25fea9d132c676d8f115a27ad7a86;p=Pman.Core diff --git a/DataObjects/Images.php b/DataObjects/Images.php index 4d2a930d..127c66d3 100644 --- a/DataObjects/Images.php +++ b/DataObjects/Images.php @@ -792,10 +792,42 @@ class Pman_Core_DataObjects_Images extends DB_DataObject function getNumberOfPages() { - $ret = 0; + $ret = false; + + require_once 'System.php'; switch ($this->mimetype) { + case 'application/pdf' : + + $file = $this->getStoreName(); + + if(!file_exists($file)){ + return false; + } + + $pdftk = System::which('pdftk'); + + if (empty($pdftk)) { + return false; + } + + $cmd = "{$pdftk} {$file} dump_data"; + + $info = `$cmd`; + + $infos = explode("\n", $info); + + foreach ($infos as $i){ + + if(!preg_match('/^NumberOfPages: ([0-9]+)/', $i, $matches)){ + continue; + } + + $ret = (empty($matches[1])) ? false : $matches[1]; + break; + } + break; default : break;