fix #8131 - chinese translations
[Pman.Core] / DataObjects / Events.php
index f90debf..a04484c 100644 (file)
@@ -475,18 +475,39 @@ class Pman_Core_DataObjects_Events extends DB_DataObject
     static function writeEventLogExtra($data) {
         self::$extra_data = $data;
     }
+    static $files = array();
     
-    function logDir()
+    /**
+     * Add a file to the output log
+     * this needs to be called before addEvent, and the data format should be the same as $_FILES
+     * eg.
+     * 
+     * DB_DataObject::factory('Events')->addFile(array(
+     *    'tmp_name' => real file location
+     *    'name' => real file name
+     *    'type' => mimetype
+     *    'size' => filesize
+     *    
+     * ))
+     * 
+     */
+    function addFile($data)
+    {
+        self::$files[] = $data;
+    }
+    
+    function logDir($user = false)
     {
         $ff  = HTML_FlexyFramework::get();
-        if (function_exists('posix_getpwuid')) {
-            $uinfo = posix_getpwuid( posix_getuid () ); 
-         
-            $user = $uinfo['name'];
-        } else {
-            $user = getenv('USERNAME'); // windows.
-        }
-        
+        if ($user === false) {
+            if (function_exists('posix_getpwuid')) {
+                $uinfo = posix_getpwuid( posix_getuid () ); 
+             
+                $user = $uinfo['name'];
+            } else {
+                $user = getenv('USERNAME'); // windows.
+            }
+        } 
         
    
         if (!empty($ff->Pman['storedir'])) {
@@ -535,9 +556,10 @@ class Pman_Core_DataObjects_Events extends DB_DataObject
         
         $i=0;
         $files = array();
+          
          
-        $i = 0;
-        foreach ($_FILES as $k=>$f){
+        
+        foreach (array_merge($_FILES, self::$files) as $k=>$f){
             // does not handle any other file[] arrary very well..
             if (empty($f['tmp_name']) || !file_exists($f['tmp_name'])) {
                 continue;
@@ -645,8 +667,13 @@ class Pman_Core_DataObjects_Events extends DB_DataObject
         $date = date('/Y/m/d/', strtotime($this->event_when));
         
         $file = $logdir. $date. $this->id . ".json";
-        if (!file_exists(dirname($file))) {
-            return false;
+        if (!file_exists($file)) {
+            
+            // try looking www-dir..
+            $file = $this->logDir('www-data'). $date. $this->id . ".json";
+            if (!file_exists($file)) {   
+                return false;
+            }
         }
         
         return $file;