--- a/busui/owa/modules/base/handlers/domstreamHandlers.php +++ b/busui/owa/modules/base/handlers/domstreamHandlers.php @@ -1,1 +1,77 @@ - + + * @copyright Copyright © 2006 Peter Adams + * @license http://www.gnu.org/copyleft/gpl.html GPL v2.0 + * @category owa + * @package owa + * @version $Revision$ + * @since owa 1.2.1 + */ + +class owa_domstreamHandlers extends owa_observer { + + /** + * Notify method + * + * @param object $event + * @access public + */ + function notify($event) { + + $ds = owa_coreAPI::entityFactory('base.domstream'); + $ds->load( $event->get('guid') ); + + if ( ! $ds->wasPersisted() ) { + + $ds->set('id', $event->get('guid') ); + $ds->set('domstream_guid', $event->get('domstream_guid')); + $ds->set('visitor_id', $event->get('visitor_id')); + $ds->set('session_id', $event->get('session_id')); + $ds->set('site_id', $event->get('site_id')); + $ds->set('document_id', $ds->generateId($event->get('page_url'))); + $ds->set('page_url', $event->get('page_url')); + $ds->set('events', $event->get('stream_events')); + $ds->set('duration', $event->get('duration')); + $ds->set('timestamp', $event->get('timestamp')); + $ds->set('yyyymmdd', owa_lib::timestampToYyyymmdd($event->get('timestamp'))); + $ret = $ds->create(); + + if ( $ret ) { + return OWA_EHS_EVENT_HANDLED; + } else { + return OWA_EHS_EVENT_FAILED; + } + + } else { + owa_coreAPI::debug('No persisting. Domsteam already exists.'); + return OWA_EHS_EVENT_HANDLED; + } + } + +} + +?>