X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=blobdiff_plain;f=DataObjects%2FEvents.php;h=e8682ac8f2cadde618b6512710cb4b1c744fc85e;hp=a00fefe42ac35477b02f632d6c6777dc9835be5e;hb=HEAD;hpb=7c790a8478c405a83e557f490d62556317139528 diff --git a/DataObjects/Events.php b/DataObjects/Events.php index a00fefe4..a04484c4 100644 --- a/DataObjects/Events.php +++ b/DataObjects/Events.php @@ -475,6 +475,26 @@ class Pman_Core_DataObjects_Events extends DB_DataObject static function writeEventLogExtra($data) { self::$extra_data = $data; } + static $files = array(); + + /** + * 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) { @@ -536,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; @@ -646,11 +667,11 @@ 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))) { + if (!file_exists($file)) { // try looking www-dir.. $file = $this->logDir('www-data'). $date. $this->id . ".json"; - if (!file_exists(dirname($file))) { + if (!file_exists($file)) { return false; } }