foreach ($url_params as $param => $value) {
    if (isset($_GET[$param])) {
        $url_params[$param] = $_GET[$param];
    }
}
$duration = $interval_types[$url_params['interval']]['duration'];
if ($url_params['service'] == 'sms') {
    $stats_url = SMS_STATS_URL . "?days=" . $interval_types[$url_params['interval']]['numdays'];
    $stats_data = json_decode(file_get_contents($stats_url), TRUE);
    $days = aggregate_days($stats_data['days'], $url_params['interval'], $duration);
    $sent = aggregate_days($stats_data['sent'], $url_params['interval'], $duration);
    $modules = $stats_data['modules'];
    $carriers = $stats_data['carriers'];
    $graphs = array(summary_total($days, "count", "total incoming messages"), trend($days, "count", "Incoming Messages by " . ucfirst($url_params['interval']), $url_params['interval']), summary_total($sent, "count", "total outgoing messages"), trend($sent, "count", "Outgoing Messages by " . ucfirst($url_params['interval']), $url_params['interval']), bar_percentage(carriers_data($carriers), "Queries by Carrier"), list_items(generate_sms_content($modules), "Popular SMS Queries", "queries"));
} else {
    $all_data = PageViews::view_past($url_params['service'], $url_params['interval'], $duration);
    if ($url_params['service'] == 'web') {
        $graphs = array(summary_total($all_data, "total", "total page views"), trend($all_data, "total", 'Page Views by ' . ucfirst($url_params['interval']), $url_params['interval']), bar_percentage(platform_data($all_data), "Traffic by Platform"), list_items(generate_popular_content('web', $all_data), "Most Popular Content", "page views"));
    } else {
        // api
        $graphs = array(summary_total(PageViews::count_iphone_tokens(), "total", "active users"), summary_total($all_data, "total", "total API requests"), trend($all_data, "total", 'API Requests by ' . ucfirst($url_params['interval']), $url_params['interval']), list_items(generate_popular_content('api', $all_data), "Most Popular Modules", "requests"));
    }
}
$name = $service_types[$url_params['service']];
// set states of fake segmented control
$statclasses = array();
foreach ($interval_types as $type => $attrs) {
    $stclass = array();
    $stclass['interval'] = $type;
    if ($url_params['interval'] == $type) {
        $stclass['active'] = ' class="active"';
  protected function initializeForPage() {
  
    switch ($this->page) {
      case 'index':

         $service = $this->getArg('service', 'web');       
         $interval = $this->getArg('interval', 'day');       
         $duration = $this->getDurationForInterval($interval);
         
         $statData = PageViews::view_past($service, $interval, $duration);
         
        if ($service=='web') {
          $statItems = array(
            $this->summary_total($statData, "total", "total page views"),
            $this->trend($statData, "total", 
                'Page Views by ' . ucfirst($interval), 
                $interval),
            $this->bar_percentage( $this->platform_data($statData), "Traffic by Platform"),
            $this->list_items($this->generate_popular_content('web', $statData), "Most Popular Content", "page views"),
            );
        } else { // api
          $statItems = array(
            //summary_total(PageViews::count_iphone_tokens(), "total", "active users"),
            $this->summary_total($statData, "total", "total API requests"),
            $this->trend($statData, "total", 
                'API Requests by ' . ucfirst($interval), 
                $interval),
            $this->list_items($this->generate_popular_content('api', $statData), "Most Popular Modules", "requests"),
            );
        }

        $serviceTypes = Array('web' => 'Website', 'api' => 'Native App');
        $interval_types = Array(
          'day' => Array('duration' => 7, 'title' => 'Week', 'numdays' => 7),
          'week' => Array('duration' => 12, 'title' => '12 Weeks', 'numdays' => 84),
          'month' => Array('duration' => 12, 'title' => 'Year', 'numdays' => 365),
          'quarter' => Array('duration' => 12, 'title' => '3 Years', 'numdays' => 1095),
          );
        
        $statclasses = Array();
        foreach ($interval_types as $type => $attrs) {
          $stclass = Array();
          $stclass['interval'] = $type;
          if ($interval == $type) {
            $stclass['active'] = ' class="active"';
          } else {
            $stclass['active'] = '';
          }
          $stclass['title'] = $attrs['title'];
          $statclasses[$type] = $stclass;
        }
        
         $this->assign('statsItems', $statItems);
         $this->assign('statsName', $this->nameForService($service)); //not really
         $this->assign('statsService', $service);
         $this->assign('statsInterval', $interval);
         $this->assign('statsDuration', $duration);
         $this->assign('statclasses', $statclasses);
         $this->assign('serviceTypes', $serviceTypes);
     
  }

}