--- a/busui/owa/modules/base/handlers/clickHandlers.php +++ b/busui/owa/modules/base/handlers/clickHandlers.php @@ -1,1 +1,74 @@ + + * @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.0.0 + */ +class owa_clickHandlers extends owa_observer { + + /** + * Notify Handler + * + * @access public + * @param object $event + */ + function notify($event) { + + $c = owa_coreAPI::entityFactory('base.click'); + + $c->load( $event->get( 'guid' ) ); + + if (! $c->wasPersisted() ) { + $c->set('id', $event->get('guid') ); + $c->setProperties($event->getProperties()); + $c->set('visitor_id', $event->get('visitor_id')); + $c->set('session_id', $event->get('session_id')); + $c->set('ua_id', owa_lib::setStringGuid($event->get('HTTP_USER_AGENT'))); + + // Make document id + $c->set('document_id', owa_lib::setStringGuid($event->get('page_url'))); + + // Make Target page id + $c->set('target_id', owa_lib::setStringGuid($c->get('target_url'))); + + // Make position id used for group bys + $c->set('position', $c->get('click_x').$c->get('click_y')); + + $ret = $c->create(); + + if ( $ret ) { + return OWA_EHS_EVENT_HANDLED; + } else { + return OWA_EHS_EVENT_FAILED; + } + + } else { + return OWA_EHS_EVENT_HANDLED; + } + } +} + +?>