From e97042299b9b1606b53fad3056084b02ad24c399 Mon Sep 17 00:00:00 2001 From: padams Date: Mon, 5 Jul 2010 08:14:58 +0000 Subject: [PATCH] fixing bug in referring search term data migration adding session source data migrations for organic-search and referral --- modules/base/updates/005.php | 39 ++++++++++++++++++++++++++++++++++-- owa_lib.php | 6 +++--- 2 files changed, 40 insertions(+), 5 deletions(-) diff --git a/modules/base/updates/005.php b/modules/base/updates/005.php index 730af7f8d..1817aeaa8 100644 --- a/modules/base/updates/005.php +++ b/modules/base/updates/005.php @@ -141,9 +141,9 @@ function up() { "INSERT owa_search_term_dim (id, terms, term_count) SELECT - (CRC32(LOWER(query_terms))) as id, + distinct(CRC32(LOWER(query_terms))) as id, query_terms as terms, - SUM( LENGTH(query_terms) - LENGTH(REPLACE(query_terms, ' ', ''))+1) as term_count + length(query_terms) + 1 - length(replace(query_terms,' ','')) as term_count FROM owa_referer WHERE @@ -172,6 +172,41 @@ function up() { return false; } + //populate search source in session table + $ret = $db->query( + "UPDATE + owa_session as session + SET + session.source = 'organic-search' + WHERE + session.referring_search_term_id IS NOT null" + ); + + if (!$ret) { + $this->e->notice('Failed to populate session.source values for organic-search'); + return false; + } + + //populate search source in session table + $ret = $db->query( + "UPDATE + owa_session as session + SET + session.source = 'referral' + WHERE + session.referer_id != 0 AND + session.referer_id != '' AND + session.referer_id != null AND + session.source != 'feed' AND + session.source != 'organic-search'" + ); + + if (!$ret) { + $this->e->notice('Failed to populate session.source values for referral'); + return false; + } + + // add apiKeys to each user $users = $db->get_results("select user_id from owa_user"); diff --git a/owa_lib.php b/owa_lib.php index de181f227..4b9ea8c5f 100644 --- a/owa_lib.php +++ b/owa_lib.php @@ -526,10 +526,10 @@ function &singleton($class_dir, $class_prefix, $class_name, $conf = array()) { static $instance; - if (!isset($instance)): + if (!isset($instance)) { // below missing a reference becasue the static vriable can not handle a reference - $instance = owa_lib::factory($class_dir, $class_prefix, $class_name, $conf = array()); - endif; + $instance = owa_lib::factory($class_dir, $class_prefix, $class_name, $conf); + } return $instance; }