function action()
 {
     $db = owa_coreAPI::dbSingleton();
     $db->selectColumn("distinct session.visitor_id as visitor_id, visitor.user_name, visitor.user_email");
     $db->selectFrom('owa_session', 'session');
     $db->join(OWA_SQL_JOIN_LEFT_OUTER, 'owa_visitor', 'visitor', 'visitor_id', 'visitor.id');
     $db->where('site_id', $this->getParam('site_id'));
     // make new timeperiod of a day
     $period = owa_coreAPI::makeTimePeriod('day', array('startDate' => $this->getParam('first_session')));
     $start = $period->getStartDate();
     $end = $period->getEndDate();
     //print_r($period);
     // set new period so lables show up right.
     $db->where('first_session_timestamp', array('start' => $start->getTimestamp(), 'end' => $end->getTimestamp()), 'BETWEEN');
     $ret = $db->getAllRows();
     $this->set('visitors', $ret);
     $this->setSubview('base.reportVisitorsRoster');
     $this->setTitle('New Visitors from', $period->getStartDate()->label);
 }
 function makeTimePeriod($time_period, $params = array())
 {
     return owa_coreAPI::makeTimePeriod($time_period, $params);
 }