-
<?php
/**
* Table Definition for core_watch
if (!empty($q['_split_event_name'])) {
$this->selectAdd("
- substr( event, substring_index(event, '.')) as event_left,
- substr( event, 0, substring_index(event, '.')) as event_right
+ substr( event, 1, LOCATE( '.',event) -1) as event_left,
+ substr( event, LOCATE( '.',event) +1) as event_right,
+ (SELECT
+ display_name FROM core_enum where etype = '{$this->escape($q['_split_event_name'])}'
+ AND name = substr( event, LOCATE( '.',event) +1)
+ ) as event_right_display_name
");
$ret['event_right'] = $bits[1];
// check core enu.
if (!empty($ret['event_right'])) {
- $ce = DB_DataObject::factory('core_enum')->lookup($q['_split_event_name'], $ret['event_right']);
- $ret['event_right_display_name'] = $ce;
+ $ce = DB_DataObject::factory('core_enum')->lookupObject($q['_split_event_name'], $ret['event_right']);
+ $ret['event_right_display_name'] = $ce->display_name;
}
-
+ return $ret;
}
function notifyEvent($event)
{
//print_r($event);
- //DB_DataObject::DebugLevel(1);
+ //DB_DataObject::DebugLevel(1);
// see if there are any watches on events..
// notify everyone flagged except the person doing it...
// this is very basic logic... -
$w->event = $event->action;
$w->active = 1;
-
- $w->whereAdd('person_id != '. (int) $event->person_id);
+ // not sure why this is here... - it breaks on the reader article ->
+ if ($event->person_id) {
+ $w->whereAdd('person_id != '. (int) $event->person_id);
+ }
$watches = $w->fetchAll();
- //print_R($watches); //exit;
+ //print_R($watches);
$nn = DB_DataObject::Factory('core_notify');
$nn->ontable = $event->on_table;