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'])) {
$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;
$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;