/** * 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) { // Tell others that "dom.click" has been logged $eq = owa_coreAPI::getEventDispatch(); $nevent = $eq->makeEvent($event->getEventType() . '_logged'); $nevent->setProperties($event->getProperties()); $eq->asyncNotify($nevent); return OWA_EHS_EVENT_HANDLED; } else { return OWA_EHS_EVENT_FAILED; } } else { return OWA_EHS_EVENT_HANDLED; } }
/** * 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; } }
/** * Notify Event Handler * * @param unknown_type $event * @access public */ function notify($event) { $terms = trim(strtolower($event->get('search_terms'))); if ($terms) { $st = owa_coreAPI::entityFactory('base.search_term_dim'); $st_id = owa_lib::setStringGuid($terms); $st->getByPk('id', $st_id); $id = $st->get('id'); if (!$id) { $st->set('id', $st_id); $st->set('terms', $terms); $ret = str_replace("", "", $terms, $count); $st->set('term_count', $count); $ret = $st->create(); if ($ret) { return OWA_EHS_EVENT_HANDLED; } else { return OWA_EHS_EVENT_FAILED; } } else { owa_coreAPI::debug('Not Logging. Search term already exists.'); return OWA_EHS_EVENT_HANDLED; } } else { return OWA_EHS_EVENT_HANDLED; } }
/** * Notify Event Handler * * @param unknown_type $event * @access public */ function notify($event) { // Make entity $f = owa_coreAPI::entityFactory('base.feed_request'); $f->load($event->get('guid')); if (!$f->wasPersisted()) { $f->setProperties($event->getProperties()); // Set Primary Key $f->set('id', $event->get('guid')); // Make ua id $f->set('ua_id', owa_lib::setStringGuid($event->get('HTTP_USER_AGENT'))); // Make OS id $f->set('os_id', owa_lib::setStringGuid($event->get('os'))); // Make document id $f->set('document_id', owa_lib::setStringGuid($event->get('page_url'))); // Generate Host id $f->set('host_id', owa_lib::setStringGuid($event->get('host'))); $f->set('subscription_id', $event->get('feed_subscription_id')); // Persist to database $ret = $f->create(); if ($ret) { $eq = owa_coreAPI::getEventDispatch(); $nevent = $eq->makeEvent($event->getEventType() . '_persisted'); $nevent->setProperties($event->getProperties()); $eq->notify($nevent); return OWA_EHS_EVENT_HANDLED; } else { return OWA_EHS_EVENT_FAILED; } } else { owa_coreAPI::debug('Not persisting. Feed request already exists.'); return OWA_EHS_EVENT_HANDLED; } }
/** * Notify Handler * * @access public * @param object $event */ function notify($event) { $r = owa_coreAPI::entityFactory('base.request'); $r->load($event->get('guid')); if (!$r->wasPersisted()) { $r->setProperties($event->getProperties()); // Set Primary Key $r->set('id', $event->get('guid')); // Make prior document id $r->set('prior_document_id', owa_lib::setStringGuid($event->get('prior_page'))); // Generate Host id $r->set('num_prior_sessions', $event->get('num_prior_sessions')); $result = $r->create(); if ($result == true) { $eq = owa_coreAPI::getEventDispatch(); $nevent = $eq->makeEvent($event->getEventType() . '_logged'); $nevent->setProperties($event->getProperties()); $eq->asyncNotify($nevent); return OWA_EHS_EVENT_HANDLED; } else { return OWA_EHS_EVENT_FAILED; } } else { owa_coreAPI::debug('Not persisting. Request already exists.'); return OWA_EHS_EVENT_HANDLED; } }
/** * Notify Event Handler * * @param unknown_type $event * @access public */ function notify($event) { // Make entity $f = owa_coreAPI::entityFactory('base.feed_request'); $f->load($event->get('guid')); if (!$f->wasPersisted()) { // rekey Feed subscription id tracking code // @todo check the wordpress plugin to see if this is even needed if (!$event->get('feed_subscription_id')) { $event->set('feed_subscription_id', $event->get(owa_coreAPI::getSetting('base', 'feed_subscription_param'))); } // needed?? $event->set('feed_reader_guid', $event->setEnvGUID()); // set feedreader flag to true, browser flag to false $event->set('is_feedreader', true); $event->set('is_browser', false); // set params on entity $f->setProperties($event->getProperties()); // Set Primary Key $f->set('id', $event->get('guid')); // Make ua id $f->set('ua_id', owa_lib::setStringGuid($event->get('HTTP_USER_AGENT'))); // Make OS id $f->set('os_id', owa_lib::setStringGuid($event->get('os'))); // Make document id $f->set('document_id', owa_lib::setStringGuid($event->get('page_url'))); // Generate Host id $f->set('host_id', owa_lib::setStringGuid($event->get('host'))); $f->set('subscription_id', $event->get('feed_subscription_id')); // Persist to database $ret = $f->create(); if ($ret) { $eq = owa_coreAPI::getEventDispatch(); $nevent = $eq->makeEvent($event->getEventType() . '_logged'); $nevent->setProperties($event->getProperties()); $eq->notify($nevent); return OWA_EHS_EVENT_HANDLED; } else { return OWA_EHS_EVENT_FAILED; } } else { owa_coreAPI::debug('Not persisting. Feed request already exists.'); return OWA_EHS_EVENT_HANDLED; } }
/** * Notify Event Handler * * @param unknown_type $event * @access public */ function notify($event) { $os = owa_coreAPI::entityFactory('base.os'); $os->getByColumn('id', owa_lib::setStringGuid($event->get('os'))); if (!$os->get('id')) { $os->set('name', $event->get('os')); $os->set('id', owa_lib::setStringGuid($event->get('os'))); $ret = $os->create(); if ($ret) { return OWA_EHS_EVENT_HANDLED; } else { return OWA_EHS_EVENT_FAILED; } } else { owa_coreAPI::debug('Not persistig. Operating system already exists.'); return OWA_EHS_EVENT_HANDLED; } }
/** * Notify Event Handler * * @param unknown_type $event * @access public */ function notify($event) { $ua = owa_coreAPI::entityFactory('base.ua'); $ua->getByColumn('id', owa_lib::setStringGuid($event->get('HTTP_USER_AGENT'))); if (!$ua->get('id')) { $ua->setProperties($event->getProperties()); $ua->set('ua', $event->get('HTTP_USER_AGENT')); $ua->set('id', owa_lib::setStringGuid($event->get('HTTP_USER_AGENT'))); $ret = $ua->create(); if ($ret) { return OWA_EHS_EVENT_HANDLED; } else { return OWA_EHS_EVENT_FAILED; } } else { owa_coreAPI::debug('not logging, user agent already exists.'); return OWA_EHS_EVENT_HANDLED; } }
/** * Notify Event Handler * * @param unknown_type $event * @access public */ function notify($event) { if ($event->get('HTTP_USER_AGENT')) { $ua = owa_coreAPI::entityFactory('base.ua'); $ua->getByColumn('id', owa_lib::setStringGuid($event->get('HTTP_USER_AGENT'))); if (!$ua->get('id')) { $ua->setProperties($event->getProperties()); $ua->set('ua', $event->get('HTTP_USER_AGENT')); $ua->set('id', owa_lib::setStringGuid($event->get('HTTP_USER_AGENT'))); $ret = $ua->create(); if ($ret) { return OWA_EHS_EVENT_HANDLED; } else { return OWA_EHS_EVENT_FAILED; } } else { $old = $ua->get('browser_type'); $new = $event->get('browser_type'); if ($new != $old && $new != 'Default Browser') { $ua->set('browser_type', $new); $ua->set('browser', $event->get('browser')); $ret = $ua->save(); if ($ret) { owa_coreAPI::debug('Updating user agent with new browser type: ' . $new); return OWA_EHS_EVENT_HANDLED; } else { return OWA_EHS_EVENT_FAILED; } } owa_coreAPI::debug('not logging, user agent already exists.'); return OWA_EHS_EVENT_HANDLED; } } else { owa_coreAPI::debug('not logging, no user agent present.'); return OWA_EHS_EVENT_HANDLED; } }
static function generateDimensionId($property_value, $event) { if ($property_value) { return owa_lib::setStringGuid($property_value); } }
function logSession($event) { if ($event->get('session_id')) { $s = owa_coreAPI::entityFactory('base.session'); $s->load($event->get('session_id')); if (!$s->wasPersisted()) { $s->setProperties($event->getProperties()); // Set Primary Key $s->set('id', $event->get('session_id')); // set initial number of page views $s->set('num_pageviews', 1); $s->set('is_bounce', true); // set prior session time properties $s->set('prior_session_lastreq', $event->get('last_req')); $s->set('prior_session_id', $event->get('prior_session_id')); if ($s->get('prior_session_lastreq') > 0) { $s->set('time_sinse_priorsession', $s->get('timestamp') - $event->get('last_req')); $s->set('prior_session_year', date("Y", $event->get('last_req'))); $s->set('prior_session_month', date("M", $event->get('last_req'))); $s->set('prior_session_day', date("d", $event->get('last_req'))); $s->set('prior_session_hour', date("G", $event->get('last_req'))); $s->set('prior_session_minute', date("i", $event->get('last_req'))); $s->set('prior_session_dayofweek', date("w", $event->get('last_req'))); } // set last_req to be the timestamp of the event that triggered this session. $s->set('last_req', $event->get('timestamp')); $s->set('days_since_first_session', $event->get('days_since_first_session')); $s->set('days_since_prior_session', $event->get('days_since_prior_session')); $s->set('num_prior_sessions', $event->get('num_prior_sessions')); // set medium //$s->set('medium', $event->get('medium')); // set campaign touches $s->set('latest_attributions', $event->get('attribs')); // Make document ids $s->set('first_page_id', owa_lib::setStringGuid($event->get('page_url'))); $s->set('last_page_id', $s->get('first_page_id')); // Generate Referer id if ($event->get('external_referer')) { $s->set('referer_id', owa_lib::setStringGuid($event->get('HTTP_REFERER'))); } // this should already be set by the request handler. $s->set('location_id', $event->get('location_id')); $ret = $s->create(); // create event message $session = $s->_getProperties(); $properties = array_merge($event->getProperties(), $session); $properties['request_id'] = $event->get('guid'); $ne = owa_coreAPI::supportClassFactory('base', 'event'); $ne->setProperties($properties); $ne->setEventType('base.new_session'); // log the new session event to the event queue $eq = owa_coreAPI::getEventDispatch(); $eq->notify($ne); if ($ret) { return OWA_EHS_EVENT_HANDLED; } else { return OWA_EHS_EVENT_FAILED; } } else { owa_coreAPI::debug('Not persisting new session. Session already exists.'); return OWA_EHS_EVENT_HANDLED; } } else { owa_coreAPI::debug('Not persisting new session. No session_id present.'); return OWA_EHS_EVENT_HANDLED; } }
/** * Must be called before all other event property setting functions */ function pre() { // ENVIRONMENTAL PARAMS // check for no value // clean // apply default if necessary // filter // these should really be pulled from the service layer $this->event->set('timestamp', owa_coreAPI::getRequestTimestamp()); $this->event->set('microtime', microtime()); //set user agent if (!$this->event->get('HTTP_USER_AGENT')) { $this->event->set('HTTP_USER_AGENT', owa_coreAPI::getServerParam('HTTP_USER_AGENT')); } // filter user agent $this->event->set('HTTP_USER_AGENT', $this->eq->filter('user_agent', $this->event->get('HTTP_USER_AGENT'))); // set http_host if (!$this->event->get('HTTP_HOST')) { $this->event->set('HTTP_HOST', owa_coreAPI::getServerParam('HTTP_HOST')); } //filter http_host $this->event->set('HTTP_HOST', $this->eq->filter('HTTP_HOST', $this->event->get('HTTP_HOST'))); // set language if (!$this->event->get('language')) { $this->event->set('language', substr(owa_coreAPI::getServerParam('HTTP_ACCEPT_LANGUAGE'), 0, 5)); } // filter language $this->event->set('language', $this->eq->filter('language', $this->event->get('language'))); // Set Ip Address if (!$this->event->get('ip_address')) { $this->event->set('ip_address', owa_coreAPI::getServerParam('REMOTE_ADDR')); } $this->event->set('ip_address', $this->eq->filter('ip_address', $this->event->get('ip_address'))); // Set host related properties if (!$this->event->get('REMOTE_HOST')) { $this->event->set('REMOTE_HOST', owa_coreAPI::getServerParam('REMOTE_HOST')); } //$teh = owa_trackingEventHelpers::getInstance(); //$teh->setEnvironmentals( $this->event ); /// REQUIRED PARAMS // check for value // clean based on type // filter // apply default value if necessary // set page type // moved if (!$this->event->get('page_type')) { $this->event->set('page_type', '(not set)'); } //filter page type //moved $this->event->set('page_type', $this->eq->filter('page_type', $this->event->get('page_type'))); // filter page_url //moved $this->event->set('page_url', $this->eq->filter('page_url', $this->event->get('page_url'), $this->event->get('site_id'))); // Page title // moved if ($this->event->get('page_title')) { $page_title = owa_lib::utf8Encode(trim($this->event->get('page_title'))); } else { $page_title = '(not set)'; } $this->event->set('page_title', $this->eq->filter('page_title', $page_title)); // needs key translation // translated, $this->event->set('days_since_first_session', $this->event->get('dsfs')); $this->event->set('days_since_prior_session', $this->event->get('dsps')); $this->event->set('num_prior_sessions', $this->event->get('nps')); // OPTIONAL PARAMS // filter http referer /* moved */ if ($this->event->get('HTTP_REFERER')) { $this->event->set('HTTP_REFERER', $this->eq->filter('HTTP_REFERER', $this->event->get('HTTP_REFERER'))); } // Filter the target url of clicks /* moved */ if ($this->event->get('target_url')) { $this->event->set('target_url', $this->eq->filter('target_url', $this->event->get('target_url'), $this->event->get('site_id'))); } /* moved */ if ($this->event->get('source')) { $this->event->set('source', $this->eq->filter('source', trim(strtolower($this->event->get('source'))))); } /* moved */ if ($this->event->get('medium')) { $this->event->set('medium', $this->eq->filter('medium', trim(strtolower($this->event->get('medium'))))); } // set session referer (the site that originally referer the visit) /* moved */ if ($this->event->get('session_referer')) { $this->event->set('session_referer', $this->eq->filter('session_referer', $this->event->get('session_referer'))); } $this->setCustomVariables(); // DEPENDANT SETS // evaluate // produce value // filter // add default if required // Set all time related properties // depends on 'timestamp' /* moved */ $this->setTimeProperties($this->event); /* moved */ // set repeat visitor type flag visitor is not new. if (!$this->event->get('is_new_visitor')) { $this->event->set('is_repeat_visitor', true); } else { // properly cast this to a bool. $this->event->set('is_new_visitor', true); } /* moved */ if (!$this->event->get('page_uri')) { $page_uri = $this->derivePageUri($this->event->get('page_url')); } $this->event->set('page_uri', $this->eq->filter('page_uri', $page_uri)); // host properties /* mooved */ $this->event->set('full_host', $this->eq->filter('full_host', $this->event->get('REMOTE_HOST'), $this->event->get('ip_address'))); // required if (!$this->event->get('full_host')) { $this->event->set('full_host', '(not set)'); } /* moved */ $this->event->set('host', $this->eq->filter('host', $this->event->get('full_host'), $this->event->get('ip_address'))); //required if (!$this->event->get('host')) { $this->event->set('host', '(not set)'); } // Browser related properties // required $service = owa_coreAPI::serviceSingleton(); $bcap = $service->getBrowscap(); // Assume browser untill told otherwise /* moved */ $this->event->set('is_browser', true); /* moved */ $this->event->set('browser_type', $this->eq->filter('browser_type', $bcap->getUaFamily())); /* moved */ if ($bcap->getUaVersion()) { $this->event->set('browser', $this->eq->filter('browser', $bcap->getUaVersion())); } else { $this->event->set('browser', $this->eq->filter('browser', '(unknown)')); } //Check for what kind of page request this is /* moved */ if ($bcap->isRobot()) { $this->event->set('is_robot', true); $this->event->set('is_browser', false); } /* moved */ $this->event->set('os', $this->eq->filter('operating_system', $bcap->getOsFamily(), $this->event->get('HTTP_USER_AGENT'))); /*moved */ if ($this->event->get('is_new_session')) { //mark entry page flag on current request $this->event->set('is_entry_page', true); } /* moved */ $this->setGeolocation(); // set prior page properties /* moved */ if ($this->event->get('HTTP_REFERER')) { $referer_parse = owa_lib::parse_url($this->event->get('HTTP_REFERER')); if ($referer_parse['host'] === $page_parse['host']) { $this->event->set('prior_page', $this->eq->filter('prior_page', $this->event->get('HTTP_REFERER'), $this->event->get('site_id'))); } } // set search terms /* moved */ $search_terms = $this->event->get('search_terms'); if ($search_terms && $search_terms != '(not set)') { $this->event->set('search_terms', $this->eq->filter('search_terms', trim(strtolower($this->event->get('search_terms'))))); } // ID GENERATION //set user agent id /* moved */ $this->event->set('ua_id', owa_lib::setStringGuid($this->event->get('HTTP_USER_AGENT'))); // set document/page id /* moved */ if ($this->event->get('page_url')) { $this->event->set('document_id', owa_lib::setStringGuid($this->event->get('page_url'))); } // Generate host_id /* moved */ $this->event->set('host_id', owa_lib::setStringGuid($this->event->get('host'))); // generate os_id /* moved */ $this->event->set('os_id', owa_lib::setStringGuid($this->event->get('os'))); /* moved */ if ($this->event->get('campaign')) { $this->event->set('campaign_id', owa_lib::setStringGuid(trim(strtolower($this->event->get('campaign'))))); } /* moved */ if ($this->event->get('ad')) { $this->event->set('ad_id', owa_lib::setStringGuid(trim(strtolower($this->event->get('ad'))))); } /* moved */ if ($this->event->get('source')) { $this->event->set('source_id', owa_lib::setStringGuid($this->event->get('source'))); } // set session referer (the site that originally referer the visit) /* moved */ if ($this->event->get('session_referer')) { // generate referer_id for downstream handlers $this->event->set('referer_id', owa_lib::setStringGuid($this->event->get('session_referer'))); } /* moved */ if ($this->event->get('search_terms')) { $this->event->set('referring_search_term_id', owa_lib::setStringGuid(trim(strtolower($this->event->get('search_terms'))))); } // SHOULD BE A FILTER // record and filter personally identifiable info (PII) if (owa_coreAPI::getSetting('base', 'log_visitor_pii')) { // set user name if one does not already exist on event /* moved */ if (!$this->event->get('user_name') && owa_coreAPI::getSetting('base', 'log_owa_user_names')) { $cu = owa_coreAPI::getCurrentUser(); $this->event->set('user_name', $cu->user->get('user_id')); } $this->event->set('user_name', $this->eq->filter('user_name', $this->event->get('user_name'))); // set email_address if one does not already exist on event /* moved */ if (!$this->event->get('email_address')) { $cu = owa_coreAPI::getCurrentUser(); $this->event->set('email_address', $cu->user->get('email_address')); } $this->event->set('user_email', $this->eq->filter('user_email', $this->event->get('email_address'))); } // anonymize Ip address if (owa_coreAPI::getSetting('base', 'anonymize_ips')) { $this->event->set('ip_address', $this->anonymizeIpAddress($this->event->get('ip_address'))); $this->event->set('full_host', '(not set)'); } }
function generateId($country = '', $state = '', $city = '') { if (!$country) { $country = $this->getCountry(); } if (!$state) { $state = $this->getState(); } if (!$city) { $city = $this->getCity(); } $id_string = trim(strtolower($country)) . trim(strtolower($state)) . trim(strtolower($city)); return owa_lib::setStringGuid($id_string); }
/** * Create guid from string * * @param string $string * @return integer */ function generateId($string) { //require_once(OWA_DIR.'owa_lib.php'); return owa_lib::setStringGuid($string); }
/** * Must be called before all other event property setting functions */ function pre() { // Set all time related properties $this->event->setTime(); // set repeat visitor type flag visitor is not new. if (!$this->event->get('is_new_visitor')) { $this->event->set('is_repeat_visitor', true); } else { // properly cast this to a bool. $this->event->set('is_new_visitor', true); } //set user agent if (!$this->event->get('HTTP_USER_AGENT')) { $this->event->set('HTTP_USER_AGENT', owa_coreAPI::getServerParam('HTTP_USER_AGENT')); } $this->event->set('HTTP_USER_AGENT', $this->eq->filter('user_agent', $this->event->get('HTTP_USER_AGENT'))); //set user agent id $this->event->set('ua_id', owa_lib::setStringGuid($this->event->get('HTTP_USER_AGENT'))); // filter http referer if ($this->event->get('HTTP_REFERER')) { $this->event->set('HTTP_REFERER', $this->eq->filter('HTTP_REFERER', $this->event->get('HTTP_REFERER'))); } // set http_host if (!$this->event->get('HTTP_HOST')) { $this->event->set('HTTP_HOST', owa_coreAPI::getServerParam('HTTP_HOST')); } //filter http_host $this->event->set('HTTP_HOST', $this->eq->filter('HTTP_HOST', $this->event->get('HTTP_HOST'))); // set language if (!$this->event->get('language')) { $this->event->set('language', substr(owa_coreAPI::getServerParam('HTTP_ACCEPT_LANGUAGE'), 0, 5)); } // filter language $this->event->set('language', $this->eq->filter('language', $this->event->get('language'))); // set page type to unknown if not already set by caller if (!$this->event->get('page_type')) { $this->event->set('page_type', '(not set)'); } //filter page_type $this->event->set('page_type', $this->eq->filter('page_type', $this->event->get('page_type'))); // Set the page url or else construct it from environmental vars if (!$this->event->get('page_url')) { $this->event->set('page_url', owa_lib::get_current_url()); } // filter page_url $this->event->set('page_url', $this->eq->filter('page_url', $this->event->get('page_url'), $this->event->get('site_id'))); // set document/page id $this->event->set('document_id', owa_lib::setStringGuid($this->event->get('page_url'))); // needed? $this->event->set('inbound_page_url', $this->event->get('page_url')); // Page title if ($this->event->get('page_title')) { $page_title = owa_lib::utf8Encode(trim($this->event->get('page_title'))); } else { $page_title = '(not set)'; } $this->event->set('page_title', $this->eq->filter('page_title', $page_title)); $page_parse = parse_url($this->event->get('page_url')); if (!array_key_exists('path', $page_parse) || empty($page_parse['path'])) { $page_parse['path'] = '/'; } if (!$this->event->get('page_uri')) { if (array_key_exists('query', $page_parse) || !empty($page_parse['query'])) { $this->event->set('page_uri', $this->eq->filter('page_uri', sprintf('%s?%s', $page_parse['path'], $page_parse['query']))); } else { $this->event->set('page_uri', $this->eq->filter('page_uri', $page_parse['path'])); } } // set session referer (the site that originally referer the visit) if ($this->event->get('session_referer')) { //filter session_referer $this->event->set('session_referer', $this->eq->filter('session_referer', $this->event->get('session_referer'))); // generate referer_id for downstream handlers $this->event->set('referer_id', owa_lib::setStringGuid($this->event->get('session_referer'))); } // set prior page properties if ($this->event->get('HTTP_REFERER')) { $referer_parse = owa_lib::parse_url($this->event->get('HTTP_REFERER')); if ($referer_parse['host'] === $page_parse['host']) { $this->event->set('prior_page', $this->eq->filter('prior_page', $this->event->get('HTTP_REFERER'), $this->event->get('site_id'))); } } // set search terms and id $search_terms = $this->event->get('search_terms'); if ($search_terms && $search_terms != '(not set)') { $this->event->set('search_terms', $this->eq->filter('search_terms', trim(strtolower($this->event->get('search_terms'))))); $this->event->set('referring_search_term_id', owa_lib::setStringGuid(trim(strtolower($this->event->get('search_terms'))))); } // Filter the target url of clicks if ($this->event->get('target_url')) { $this->event->set('target_url', $this->eq->filter('target_url', $this->event->get('target_url'), $this->event->get('site_id'))); } // Set Ip Address if (!$this->event->get('ip_address')) { $this->event->set('ip_address', owa_coreAPI::getServerParam('REMOTE_ADDR')); } $this->event->set('ip_address', $this->eq->filter('ip_address', $this->event->get('ip_address'))); // check to see if IP should be excluded if ($this->isIpAddressExcluded($this->event->get('ip_address'))) { $this->event->set('do_not_log', true); return; } // Set host related properties if (!$this->event->get('REMOTE_HOST')) { $this->event->set('REMOTE_HOST', owa_coreAPI::getServerParam('REMOTE_HOST')); } // host properties $this->event->set('full_host', $this->eq->filter('full_host', $this->event->get('REMOTE_HOST'), $this->event->get('ip_address'))); if (!$this->event->get('full_host')) { $this->event->set('full_host', '(not set)'); } $this->event->set('host', $this->eq->filter('host', $this->event->get('full_host'), $this->event->get('ip_address'))); if (!$this->event->get('host')) { $this->event->set('host', '(not set)'); } // Generate host_id $this->event->set('host_id', owa_lib::setStringGuid($this->event->get('host'))); // Browser related properties $service = owa_coreAPI::serviceSingleton(); $bcap = $service->getBrowscap(); // Assume browser untill told otherwise $this->event->set('is_browser', true); $this->event->set('browser_type', $this->eq->filter('browser_type', $bcap->get('Browser'))); if ($bcap->get('Version')) { $this->event->set('browser', $this->eq->filter('browser', $bcap->get('Browser') . ' ' . $bcap->get('Version'))); } else { $this->event->set('browser', $this->eq->filter('browser', $bcap->get('Browser'))); } // Set Operating System $this->event->set('os', $this->eq->filter('operating_system', $bcap->get('Platform'), $this->event->get('HTTP_USER_AGENT'))); $this->event->set('os_id', owa_lib::setStringGuid($this->event->get('os'))); //Check for what kind of page request this is if ($bcap->get('Crawler')) { $this->event->set('is_robot', true); $this->event->set('is_browser', false); } // feed request properties $et = $this->event->getEventType(); if ($et === 'base.feed_request') { // Feed subscription tracking code if (!$this->event->get('feed_subscription_id')) { $this->event->set('feed_subscription_id', $this->getParam(owa_coreAPI::getSetting('base', 'feed_subscription_param'))); } // needed?? $this->event->set('feed_reader_guid', $this->event->setEnvGUID()); // set feedreader flag to true, browser flag to false $this->event->set('is_feedreader', true); $this->event->set('is_browser', false); } // record and filter personally identifiable info (PII) if (owa_coreAPI::getSetting('base', 'log_visitor_pii')) { // set user name if one does not already exist on event if (!$this->event->get('user_name') && owa_coreAPI::getSetting('base', 'log_owa_user_names')) { $cu = owa_coreAPI::getCurrentUser(); $this->event->set('user_name', $cu->user->get('user_id')); } $this->event->set('user_name', $this->eq->filter('user_name', $this->event->get('user_name'))); // set email_address if one does not already exist on event if (!$this->event->get('email_address')) { $cu = owa_coreAPI::getCurrentUser(); $this->event->set('email_address', $cu->user->get('email_address')); } $this->event->set('user_email', $this->eq->filter('user_email', $this->event->get('email_address'))); } $this->event->set('days_since_first_session', $this->event->get('dsfs')); $this->event->set('days_since_prior_session', $this->event->get('dsps')); $this->event->set('num_prior_sessions', $this->event->get('nps')); if ($this->event->get('is_new_session')) { //mark entry page flag on current request $this->event->set('is_entry_page', true); } if ($this->event->get('medium')) { $this->event->set('medium', $this->eq->filter('medium', trim(strtolower($this->event->get('medium'))))); } if ($this->event->get('source')) { $this->event->set('source', $this->eq->filter('source', trim(strtolower($this->event->get('source'))))); $this->event->set('source_id', owa_lib::setStringGuid($this->event->get('source'))); } if ($this->event->get('campaign')) { $this->event->set('campaign_id', owa_lib::setStringGuid(trim(strtolower($this->event->get('campaign'))))); } if ($this->event->get('ad')) { $this->event->set('ad_id', owa_lib::setStringGuid(trim(strtolower($this->event->get('ad'))))); } $this->setCustomVariables(); $this->setGeolocation(); // anonymize Ip address if (owa_coreAPI::getSetting('base', 'anonymize_ips')) { $this->event->set('ip_address', $this->anonymizeIpAddress($this->event->get('ip_address'))); $this->event->set('full_host', '(not set)'); } }