function __construct($email, $password, $uid, $start_date = null, $end_date = null) { $filter = ''; $this->initialstartdate = date('M j Y', strtotime($start_date)); $this->initialenddate = date('M j Y', strtotime($end_date)); $start_index = 1; $perdayCounts = $this->createDateRangeArray($start_date, $end_date); $max_result = 1000000000; $ga = new gapi($email, $password); $ga->requestReportData($uid, array('date', 'source', 'medium', 'referralPath'), array('pageviews', 'visits', 'entranceBounceRate', 'timeOnSite', 'newVisits'), 'date', $filter, $start_date, $end_date, $start_index, $max_result); $result = $ga->getResults(); $this->pageViews = $ga->getPageviews(); $this->visits = $ga->getVisits(); $this->bounceRate = $ga->getentranceBounceRate(); $this->timeOnSite = $ga->gettimeOnSite() / $this->visits / 60; $this->newVisits = round($ga->getnewVisits() / $this->visits * 100, 2); foreach ($result as $key => $value) { $this->source[] = array('medium' => $value->getMedium(), 'visit' => $value->getVisits(), 'source' => $value->getSource()); $this->dateWise[] = array($value->getDate() => $value->getPageviews()); } foreach ($perdayCounts as $day) { $new_array = ''; foreach ($this->dateWise as $breakPoint) { foreach ($breakPoint as $key => $value) { if ($key == $day) { $new_array[] = $value; } } } $this->valueCountsPerDay[] = array($day => array_sum($new_array)); } }