Example #1
0
 protected function buildView()
 {
     $view = new Piwik_View($this->dataTableTemplate);
     if (!$this->isDataAvailable) {
         $view->cloudValues = array();
     } else {
         $columnToDisplay = $this->getColumnToDisplay();
         $columnTranslation = $this->getColumnTranslation($columnToDisplay);
         $values = $this->dataTable->getColumn($columnToDisplay);
         $labels = $this->dataTable->getColumn('label');
         $labelMetadata = array();
         foreach ($this->dataTable->getRows() as $row) {
             $logo = false;
             if ($this->displayLogoInsteadOfLabel) {
                 $logo = $row->getMetadata('logo');
             }
             $labelMetadata[$row->getColumn('label')] = array('logo' => $logo, 'url' => $row->getMetadata('url'));
         }
         $cloud = new Piwik_Visualization_Cloud();
         foreach ($labels as $i => $label) {
             $cloud->addWord($label, $values[$i]);
         }
         $cloudValues = $cloud->render('array');
         foreach ($cloudValues as &$value) {
             $value['logoWidth'] = round(max(16, $value['percent']));
         }
         $view->columnTranslation = $columnTranslation;
         $view->labelMetadata = $labelMetadata;
         $view->cloudValues = $cloudValues;
     }
     $view->javascriptVariablesToSet = $this->getJavascriptVariablesToSet();
     $view->properties = $this->getViewProperties();
     return $view;
 }
Example #2
0
 /**
  * @see Piwik_ViewDataTable::main()
  *
  */
 public function main()
 {
     $this->setLimit(30);
     if ($this->mainAlreadyExecuted) {
         return;
     }
     $this->mainAlreadyExecuted = true;
     $this->loadDataTableFromAPI();
     // We apply a filter to the DataTable, decoding the label column (useful for keywords for example)
     $filter = new Piwik_DataTable_Filter_ColumnCallbackReplace($this->dataTable, 'label', 'urldecode');
     $view = new Piwik_View($this->dataTableTemplate);
     $words = $labelDetails = array();
     foreach ($this->dataTable->getRows() as $row) {
         $label = $row->getColumn('label');
         $value = $row->getColumn('nb_uniq_visitors');
         // case no unique visitors
         if ($value === false) {
             $value = $row->getColumn('nb_visits');
         }
         $words[$label] = $value;
         $logo = false;
         if ($this->displayLogoInsteadOfLabel) {
             $logo = $row->getDetail('logo');
         }
         $labelDetails[$label] = array('logo' => $logo, 'url' => $row->getDetail('url'), 'hits' => $value);
     }
     $cloud = new Piwik_Visualization_Cloud($words);
     $cloudValues = $cloud->render('array');
     foreach ($cloudValues as &$value) {
         $value['logoWidth'] = round(max(16, $value['percent']));
     }
     //		var_dump($cloudValues);exit;
     //		var_dump($labelDetails);exit;
     $view->labelDetails = $labelDetails;
     $view->cloudValues = $cloudValues;
     $view->method = $this->method;
     $view->id = $this->getUniqIdTable();
     $view->javascriptVariablesToSet = $this->getJavascriptVariablesToSet();
     $view->showFooter = $this->getShowFooter();
     $this->view = $view;
 }
Example #3
0
 protected function buildView()
 {
     $view = new Piwik_View($this->dataTableTemplate);
     if (!$this->isDataAvailable) {
         $view->cloudValues = array();
     } else {
         $columnToDisplay = $this->getColumnToDisplay();
         $columnTranslation = $this->getColumnTranslation($columnToDisplay);
         $values = $this->dataTable->getColumn($columnToDisplay);
         $labels = $this->dataTable->getColumn('label');
         $labelMetadata = array();
         foreach ($this->dataTable->getRows() as $row) {
             $logo = false;
             if ($this->displayLogoInsteadOfLabel) {
                 $logo = $row->getMetadata('logo');
             }
             $labelMetadata[$row->getColumn('label')] = array('logo' => $logo, 'url' => $row->getMetadata('url'));
         }
         $cloud = new Piwik_Visualization_Cloud();
         foreach ($labels as $i => $label) {
             $cloud->addWord($label, $values[$i]);
         }
         $cloudValues = $cloud->render('array');
         foreach ($cloudValues as &$value) {
             $value['logoWidth'] = round(max(16, $value['percent']));
         }
         $view->columnTranslation = $columnTranslation;
         $view->labelMetadata = $labelMetadata;
         $view->cloudValues = $cloudValues;
     }
     $view->javascriptVariablesToSet = $this->getJavascriptVariablesToSet();
     $view->properties = $this->getViewProperties();
     $view->reportDocumentation = $this->getReportDocumentation();
     // if it's likely that the report data for this data table has been purged,
     // set whether we should display a message to that effect.
     $view->showReportDataWasPurgedMessage = $this->hasReportBeenPurged();
     $view->deleteReportsOlderThan = Piwik_GetOption('delete_reports_older_than');
     return $view;
 }
 public static function tearDownAfterClass($dropDatabase = true)
 {
     Piwik::$piwikUrlCache = null;
     try {
         $plugins = Piwik_PluginsManager::getInstance()->getLoadedPlugins();
         foreach ($plugins as $plugin) {
             if ($dropDatabase) {
                 $plugin->uninstall();
             }
         }
         Piwik_PluginsManager::getInstance()->unloadPlugins();
     } catch (Exception $e) {
     }
     if ($dropDatabase) {
         Piwik::dropDatabase();
     }
     Piwik_DataTable_Manager::getInstance()->deleteAll();
     Piwik_Option::getInstance()->clearCache();
     Piwik_Site::clearCache();
     Piwik_Common::deleteTrackerCache();
     Piwik_Config::getInstance()->clear();
     Piwik_TablePartitioning::$tablesAlreadyInstalled = null;
     Piwik_PDFReports_API::$cache = array();
     Zend_Registry::_unsetInstance();
     $_GET = $_REQUEST = array();
     Piwik_Translate::getInstance()->unloadEnglishTranslation();
     // re-enable tag cloud shuffling
     Piwik_Visualization_Cloud::$debugDisableShuffle = true;
 }
 function tearDown()
 {
     parent::tearDown();
     $_GET = $_REQUEST = array();
     Piwik_Translate::getInstance()->unloadEnglishTranslation();
     // re-enable tag cloud shuffling
     Piwik_Visualization_Cloud::$debugDisableShuffle = true;
 }