X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=DataObjects%2FImages.php;h=127c66d364d81996abba143f58a1defd0d493514;hb=e5c38808cb656701768c5a61dc1d54628bb7e8ab;hp=532ec3feebba449375f675054ba4f912369b8212;hpb=ffc0b1b164e2909d0c6b73cf8f4fb17774adbe12;p=Pman.Core diff --git a/DataObjects/Images.php b/DataObjects/Images.php index 532ec3fe..127c66d3 100644 --- a/DataObjects/Images.php +++ b/DataObjects/Images.php @@ -635,11 +635,7 @@ class Pman_Core_DataObjects_Images extends DB_DataObject $roo->jerr("File upload failed : error = ". (!empty($this->err) ? $this->err : '')); } - $roo->addEvent("ADD", $this, $this->toEventString()); - - if(method_exists($this, 'addEventLog')){ - $this->addEventLog($ar, $roo); - } + $this->addEvent($ar, $roo); $r = DB_DataObject::factory($this->tableName()); $r->id = $this->id; @@ -650,6 +646,11 @@ class Pman_Core_DataObjects_Images extends DB_DataObject } + function addEvent($ar, $roo) + { + $roo->addEvent("ADD", $this, $this->toEventString()); + } + function toEventString() { @@ -789,4 +790,50 @@ class Pman_Core_DataObjects_Images extends DB_DataObject return $base64; } + function getNumberOfPages() + { + $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; + } + + return $ret; + } + }