public function setDimension($dimension) { $this->dimension = $dimension; $topActivities = Settings::getListTopActivity(); foreach ($topActivities as $activity) { if ($activity->code == $this->dimension) { $this->setTitle($activity->name); } } }
public function initialize($para, $analytic) { $trackingID = Settings::getAnalyticTrackingID(); $accountID = Settings::getAnalyticAccountID(); // CSRF $csrf = new Hidden('csrf'); $csrf->addValidator(new Identical(array('value' => $this->security->getSessionToken(), 'message' => t('CSRF validation failed')))); $this->add($csrf); $this->add(new Submit('save', ['name' => 'save', 'value' => 'Save Changes', 'class' => 'btn btn-sm btn-info'])); $author = new Submit('author', ['name' => 'author', 'value' => 'Authorization', 'class' => 'btn btn-sm btn-info']); $author->setLabel("Authorization this feature with Google"); $this->add($author); $unauthor = new Submit('unauthor', ['name' => 'unauthor', 'value' => 'Clear Authorization', 'class' => 'btn btn-sm btn-warning']); $unauthor->setLabel("This feature had been actived. Clear authorization ?"); $this->add($unauthor); $accessCode = new Text('accessCode', ['placeholder' => t('Access Code'), 'class' => 'form-control', 'value' => '']); $accessCode->setLabel('Access Code'); $this->add($accessCode); $listView = $analytic->getListView(); $listViewDisplay = []; if ($listView['state']) { foreach ($listView['listView'] as $view) { $parse = parse_url($view['profileURL']); $listViewDisplay[$view['webPropertyId'] . "_._" . $view['accountID']] = $parse['host'] . " => " . $view['profileName']; } } $selectView = new Select("selectView", $listViewDisplay, ['class' => 'form-control', 'useEmpty' => true, 'emptyText' => 'Please, choose one...']); $selectView->setLabel('Select View '); $selectView->setDefault($trackingID . "_._" . $accountID); $this->add($selectView); $data = Settings::getListTopActivity(); $listTopActivity = []; $listDefaultActivity = []; foreach ($data as $activity) { $listTopActivity[$activity->code] = $activity->name; if ($activity->default == 1) { $listDefaultActivity[] = $activity->code; } } $topActivity = new Select("topActivity", $listTopActivity, ['name' => 'topActivity[]', 'class' => 'form-control', 'multiple' => 'multiple']); $topActivity->setLabel('Select 4 activity on top of dashboard'); $topActivity->setDefault($listDefaultActivity); $this->add($topActivity); }
/** * Get data analytic from google Analytic * Using Factory Method pattern to create each of dimensions * @return array list of object TopDashboard */ public function getAnalyticData() { $listTopActivity = Settings::getListTopActivity(); $objectSubject = new TopDashboardSubject(); $topDashboardFactory = new TopDashboardFactory(); $topDashboardFactory->setAnalytic($this->analytic); foreach ($listTopActivity as $activity) { if ($activity->default == 1) { $topDashboardObj = $topDashboardFactory->create($activity->code); $objectSubject->attach($topDashboardObj); } } $batchResult = $topDashboardFactory->executeBatch(); foreach ($batchResult as $objectName => $objectValue) { $objectSubject->setKey($objectName); $objectSubject->setValue($objectValue['totalsForAllResults']); $objectSubject->notify(); } return $objectSubject->getObservers(); }
public static function setListTopActivity($arrayTop) { $listTopActivity = Settings::getListTopActivity(); for ($i = 0; $i < count($listTopActivity); $i++) { $listTopActivity[$i]->default = 0; foreach ($arrayTop as $key => $element) { if ($listTopActivity[$i]->code == $element) { $listTopActivity[$i]->default = 1; } } } $listTopActivity = json_encode($listTopActivity); return Settings::setItem("googleAnalyticTopActivities", $listTopActivity); }