public $on_table; // string(64)
public $person_id; // int(11)
public $remarks; // blob(65535) blob
-
+ public $person_table; // string(64)
/* the code above is auto generated do not remove the tag below */
###END_AUTOCODE
// ------------ROO HOOKS------------------------------------
function applyFilters($q, $au ,$roo)
{
+
$tn = $this->tableName();
+
+ // if not empty on_table
+ if(!empty($q['person_table'])){
+ $jt = DB_DataObject::factory($q['person_table']);
+
+ $this->_join = "LEFT JOIN {$jt->tableName()} AS join_person_id_id ON (join_person_id_id.id=Events.person_id)";
+ $this->selectAdd();
+ $this->selectAs();
+
+ $this->selectAs($jt, 'person_id_%s', 'join_person_id_id');
+
+ } else {
+ $this->whereAdd("person_table = 'Person' OR person_table = '' OR person_table IS NULL"); // default to our standard.. - unless otherwise requested..
+ }
+
+
if (!empty($q['query']['from'])) {
$dt = date('Y-m-d' , strtotime($q['query']['from']));
$this->whereAdd(" {$tn}.event_when >= '$dt' ");
}
+
if (isset($q['query']['person_sum'])) {
//DB_DataObject::debugLevel(1);
$this->_extra_cols = array('qty' );
}
// since roo does not support autojoin yet..
if (!isset($q['_distinct'])) {
- $this->autoJoinExtra();
+ //$this->autoJoinExtra();
}
}
-
- function autoJoinExtra()
- {
- //$ret = parent::autoJoin();
- // DB_DataObject::debugLevel(1);
-
- // now try and magically join person_table to the right table..
- return;
- // this does not work on postgres..
- $tn = $this->tableName();
- $pt = DB_DataObject::Factory($this->tableName());
- $pt->selectAdD();
- $pt->selectAdD('distinct(person_table) as person_table');
- $pt->whereAdd('person_table IS NOT NULL AND LENGTH(person_table) > 0');
- $tbls = $pt->fetchAll('person_table');
- $pers = DB_DataObject::Factory('Person');
- $ptbl = $pers->tableName();
- if (!in_array($ptbl,$tbls)) {
- $tbls[] = $ptbl;
-
- }
- foreach($tbls as $tbl) {
-
- // find all the columns from the joined table..
- $st = DB_DataObject::Factory($tbl);
- $tcols = array_keys($st->table());
-
- $cond = "{$tn}.person_table = '{$tbl}'";
- if ($tbl == $ptbl) {
- $cond = "( $cond OR {$tn}.person_table = '')";
- }
-
- foreach($tcols as $col) {
- if ($col == 'passwd') {
- continue;
- }
- $cols[$col] = isset($cols[$col] ) ? $cols[$col] : array();
- $cols[$col][] = "WHEN $cond THEN join_person_table_{$tbl}.{$col}";
- }
- // id's are hard coded...
-
- $this->_join .= "
- LEFT JOIN {$tbl} AS join_person_table_{$tbl}
- ON {$tn}.person_id = join_person_table_{$tbl}.id
- AND $cond
- ";
- }
- foreach($cols as $col=>$whens) {
-
- $this->selectAdd("
- CASE
- ". implode("\n", $whens) ."
- ELSE ''
- END
- as person_table_{$col}"
- );
- }
- //return $ret;
-
- }
+
/**
$p['passwd'] = '******';
}
}
-
+ $i=0;
+ $files = array();
foreach ($_FILES as $k=>$f){
-
- $nf = $ff->Pman['event_log_dir']. '/'. $user. date('/Y/m/d/'). $this->id . ".file_{$f['name']}";
-
+ if (empty($f['tmp_name']) || !file_exists($f['tmp_name'])) {
+ continue;
+ }
+ $i++;
+ $files[$k] = $f;
+ $files[$k]['tmp_name'] = $this->id . '.file_'. $i.'.jpg';
+ $nf = $ff->Pman['event_log_dir']. '/'. $this->id . ".file_$i.jpg";
if (!copy($f['tmp_name'], $nf)) {
- echo "failed to copy $file...\n";
+ print_r("failed to copy {$f['tmp_name']}...\n");
}
}
'REQUEST_URI' => empty($_SERVER['REQUEST_URI']) ? 'cli' : $_SERVER['REQUEST_URI'],
'GET' => empty($_GET) ? array() : $_GET,
'POST' =>$p,
- 'FILES' => $_FILES,
+ 'FILES' => $files,
)));
}