public function controller_footer($args) { // Assemble page-level args for Google Analytics -- global $webapp; $analytics = Analytics::singleton(); $componentmgr = ComponentManager::singleton(); $args['cobrand'] = $webapp->cobrand; $args['store_name'] = $this->sanitizeStrForGA($analytics->store_name); if ($webapp->request['referer']['host'] && !stristr($webapp->request['referer']['host'], $webapp->request['host'])) { $args['query'] = $this->getQueryFromURL($webapp->request['referrer'], $args['store_name']); } else { $args['query'] = $this->sanitizeStrForGA(any($analytics->search["input"]["query"], $analytics->qpmreq->query, 'none')); } $args['bs'] = $componentmgr->pagecfg; //testing $args['pagegroup'] = $componentmgr->pagecfg['pagegroup']; $args['pagetype'] = $componentmgr->pagecfg['pagename']; $args['status'] = any($analytics->status, $webapp->response['http_status']); $args['total'] = $analytics->total; $args['GAenabled'] = $args['pagegroup'] ? any(ConfigManager::get("tracking.googleanalytics.enabled"), $webapp->cfg->servers['tracking']['googleanalytics']['enabled']) : 0; $args['GAalerts'] = $webapp->GAalerts; $args['trackingcode'] = any(ConfigManager::get("tracking.googleanalytics.trackingcode"), $webapp->cfg->servers['tracking']['googleanalytics']['trackingcode']); $args['enable_native_tracking'] = ConfigManager::get("tracking.enable_native_tracking", NULL); $args['category'] = any($analytics->category, $analytics->pandora_result['top_category'], $analytics->item->category, $analytics->qpmquery['protocolheaders']['category'], 'none'); $args['subcategory'] = preg_replace("#\\s#", "_", any($analytics->subcategory, $analytics->pandora_result['top_subcategory'], 'none')); $args['city'] = "Mountain View"; $args['state'] = "CA"; $args['country'] = "USA"; if ($analytics->city && $analytics->state) { $args['city'] = ucWords($analytics->city); $args['state'] = $analytics->state; $args['country'] = "USA"; } if (in_array($args['cobrand'], array('paypaluk', 'thefinduk', 'paypalcanada'))) { $args['city'] = 'unknown'; $args['state'] = 'unknown'; $args['country'] = $args['cobrand'] == 'paypalcanada' ? "Canada" : "UK"; } $args['pagenum'] = any($analytics->pandora_result['page_num'], 1); $args['version'] = any(ABTestManager::getVersion(), "unknown"); $args['filters'] = $analytics->qpmreq->filter['brand'] ? '1' : '0'; $args['filters'] .= $analytics->qpmreq->filter['color'] ? '1' : '0'; $args['filters'] .= $analytics->qpmreq->filter['storeswithdeals'] ? '1' : '0'; //(coupons) $args['filters'] .= $analytics->qpmquery['headers']['localshopping'] ? '1' : '0'; //(local) $args['filters'] .= $analytics->qpmquery['headers']['market'] == 'green' ? '1' : '0'; //(green) $args['filters'] .= $analytics->qpmreq->filter['minimall'] ? '1' : '0'; //(marketplaces) $args['filters'] .= $analytics->qpmreq->filter['filter']['price'] ? '1' : '0'; $args['filters'] .= $analytics->qpmreq->filter['sale'] ? '1' : '0'; $args['filters'] .= $analytics->qpmreq->filter['store'] ? '1' : '0'; $args['filters'] .= $analytics->qpmreq->filter['freeshipping'] ? '1' : '0'; $args['alpha'] = $analytics->alpha; $args['browse'] = $analytics->browse; $session = SessionManager::singleton(); $args['is_new_user'] = $session->is_new_user; $args['is_new_session'] = $session->is_new_session; $user = User::singleton(); $args['is_logged_in'] = $user->isLoggedIn(); $args['usertype'] = $user->usertype; $args['userid'] = $user->userid; $args['useremail'] = $user->email; $estimated_birth_year = $user->getUserSetting('estimated_birth_year'); $gender = $user->gender; $user_gender = $gender == 'F' ? 'female' : 'male'; //if($user->getUserSetting("tracking.user.demographics_dimension") != 1) { $args['birth_year'] = $estimated_birth_year; $args['user_gender'] = $user_gender; $location = $user->GetLocation(); if ($location['city'] && $location['state']) { $args['demo_location'] = $location['city'] . ',' . $location['state']; } //$user->setUserSetting("tracking.user.demographics_dimension", "1"); //} $args['cfg_cobrand'] = $webapp->cfg->servers["cobrand"]; $args['request_cobrand'] = $webapp->request["args"]["cobrand"]; //$args['GAenabled'] = 1; //testing only if (empty($this->shown["footer"])) { // Only allow footer once per page $this->shown["footer"] = true; return $this->GetComponentResponse("./footer.tpl", $args); } return ""; }