Skip to content

Commit

Permalink
Finalizing on the Analytics providers for Mongo - Ready for first rou…
Browse files Browse the repository at this point in the history
…nd of tests
  • Loading branch information
ultimateprogramer committed Jul 28, 2011
1 parent 8bbe8c1 commit d9a5afd
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -149,12 +149,18 @@ function mongo_analytics($request) {
$db_content->where(array("date" => array('$gte' => $date)));
$content_items = $db_content->get("content");

$logger->log("Swiftriver::AnalyticsProviders::TotalContentByChannelAnalyticsProvider::ProvideAnalytics [Selected date: $date]", \PEAR_LOG_INFO);

$logger->log("Swiftriver::AnalyticsProviders::TotalContentByChannelAnalyticsProvider::ProvideAnalytics [".\count($content_items)." number of content items retrieved]", \PEAR_LOG_INFO);

$channel_array = array();

foreach($content_items as $content_item) {
$source_id = $content_item["source"]["id"];
$source_items = $db_sources->get_where("sources", array("id" => $source_id));

$logger->log("Swiftriver::AnalyticsProviders::TotalContentByChannelAnalyticsProvider::ProvideAnalytics [".\count($source_items)." number of source items retrieved]", \PEAR_LOG_INFO);

foreach($source_items as $source_item) {
$channel_id = $source_item["channelId"];
if(!\in_array($channel_id, $channel_array)) {
Expand All @@ -163,6 +169,8 @@ function mongo_analytics($request) {

$channels = $db_channels->get_where("channels", array("id" => $channel_id));

$logger->log("Swiftriver::AnalyticsProviders::TotalContentByChannelAnalyticsProvider::ProvideAnalytics [".\count($channels)." number of channels retrieved]", \PEAR_LOG_INFO);

foreach($channels as $channel) {
$channel_array[$channel_id]["channelId"] = $channel_id;
$channel_array[$channel_id]["channelName"] = $channel["name"];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,12 +116,36 @@ function mysql_analytics($request) {
return $request;
}

function mongo_array_sort($a, $subkey) {
foreach($a as $k=>$v) {
$b[$k] = strtolower($v[$subkey]);
}

asort($b);

foreach($b as $key=>$val) {
$c[] = $a[$key];
}

return $c;
}

function mongo_analytics($request) {
$logger = \Swiftriver\Core\Setup::GetLogger();

$request->Result = null;
$tag_array = array();

$limit = 20;

$parameters = $request->Parameters;

if(\is_array($parameters))
if(\key_exists("Limit", $parameters))
$limit = (int) $parameters["Limit"];

$logger->log("Swiftriver::AnalyticsProviders::TotalTagPopularityAnalyticsProvider::ProvideAnalytics [Set limit $limit]", \PEAR_LOG_INFO);

try
{
$db = parent::PDOConnection($request);
Expand All @@ -145,12 +169,21 @@ function mongo_analytics($request) {
$logger->log("Swiftriver::AnalyticsProviders::TotalTagPopularityAnalyticsProvider::ProvideAnalytics [$e]", \PEAR_LOG_ERR);
}

foreach($tag_array as $tag_item) {
$sorted_tag_array = $this->mongo_array_sort($tag_array, "count");

$num_items = 1;

foreach($sorted_tag_array as $tag_item) {
if($num_items > $limit)
continue;

if($request->Result == null) {
$request->Result = array();
}

$request->Result[] = $tag_item;

$num_items ++;
}

return $request;
Expand Down

0 comments on commit d9a5afd

Please sign in to comment.