DataObjects/core.sql
[Pman.Core] / Images.php
index bfaa3e3..76a551c 100644 (file)
@@ -79,25 +79,46 @@ class Pman_Core_Images extends Pman
             
         } else if (!empty($bits[0]) && $bits[0] == 'events') {
             $popts = PEAR::getStaticProperty('Pman','options');
+            $ev = DB_DAtaObject::Factory('events');
+            if (!$ev->get($bits[1])) {
+                die("could not find event id");
+            }
+            // technically same user only.. -- normally www-data..
+            if (function_exists('posix_getpwuid')) {
+                $uinfo = posix_getpwuid( posix_getuid () ); 
+             
+                $user = $uinfo['name'];
+            } else {
+                $user = getenv('USERNAME'); // windows.
+            }
+            $file = $ff->Pman['event_log_dir']. '/'. $user. date('/Y/m/d/'). $this->id . ".json";
+            $filesJ = json_decode(file_get_contents($file));
+         
+         
+         
+            foreach($filesJ->FILES as $k=>$f){
+                if ($f->tmp_name == $bits[2]) {
+                    continue;
+                }
+                
+                $src = $ff->Pman['event_log_dir']. '/'. $user. date('/Y/m/d/').  $f->tmp_name ;
+                if (!file_exists($src)) {
+                    die("file was not saved");
+                }
+                header ('Content-Type: ' . $f->mimetype);
             
-            header ('Content-Type: image/jpeg');
-            if(!empty($bits[2]) && $bits[2] == 'download'){
-                $file = "{$popts['event_log_dir']}/{$bits[1]}";
-                header("Content-Disposition: attachment; filename=\"".basename($file)."\";" );
+                header("Content-Disposition: attachment; filename=\"".basename($f->filename)."\";" );
                 ob_clean();
                 flush();
-                readfile($file);
-            }else{
-                $file = "{$popts['event_log_dir']}/{$bits[1]}.jpg";
-                $fh = fopen($file,'r');
-                echo fread($fh,filesize($file));
+                readfile($src);
+                exit;
             }
-            exit;
+            die ("unknown file?"); 
         } else {
         
             $id = empty($bits[0]) ? 0 :  $bits[0];
         }
-        print_r($id);
+        
         if (strpos($id,':') > 0) {  // id format  tablename:id:-imgtype
             $onbits = explode(':', $id);
             if ((count($onbits) < 2)   || empty($onbits[1]) || !is_numeric($onbits[1]) || !strlen($onbits[0])) {
@@ -240,7 +261,10 @@ class Pman_Core_Images extends Pman
         
         if (!file_exists($fn)) {
             $fn = $img->getStoreName()  . '.'. $this->size . '.'. $img->fileExt();
-            $this->as_mimetype = $img->mimetype;
+            // if it's an image, convert into the same type for thumbnail..
+            if (preg_match('#^image/#', $img->mimetype)) {
+               $this->as_mimetype = $img->mimetype;
+            }
         }
         
         if (!file_exists($fn)) {