X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=DataObjects%2FImages.php;h=127c66d364d81996abba143f58a1defd0d493514;hb=e5c38808cb656701768c5a61dc1d54628bb7e8ab;hp=4ff264241c2430d8d6b29bf3fdad9e541274f98f;hpb=a5ff01bd4c394e3cd31a576ad3e67f393ee7e263;p=Pman.Core diff --git a/DataObjects/Images.php b/DataObjects/Images.php index 4ff26424..127c66d3 100644 --- a/DataObjects/Images.php +++ b/DataObjects/Images.php @@ -635,7 +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()); + $this->addEvent($ar, $roo); $r = DB_DataObject::factory($this->tableName()); $r->id = $this->id; @@ -646,6 +646,11 @@ class Pman_Core_DataObjects_Images extends DB_DataObject } + function addEvent($ar, $roo) + { + $roo->addEvent("ADD", $this, $this->toEventString()); + } + function toEventString() { @@ -778,19 +783,57 @@ class Pman_Core_DataObjects_Images extends DB_DataObject return false; } - require_once 'File/MimeType.php'; - - $imageInfo = getimagesize($file); - - $y = new File_MimeType(); - - $ext = $y->toExt(trim((string) $imageInfo['mime'] )); - $data = file_get_contents($file); - $base64 = 'data:image/' . $ext . ';base64,' . base64_encode($data); + $base64 = 'data:' . $this->mimetype . ';base64,' . base64_encode($data); 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; + } + }