setSites() public static method

Sets the cached site data with an array that associates site IDs with individual site data.
public static setSites ( array $sites )
$sites array The array of sites data. Indexed by site ID. eg, array('1' => array('name' => 'Site 1', ...), '2' => array('name' => 'Site 2', ...))`
コード例 #1
0
ファイル: MetricsTest.php プロジェクト: mgou-net/piwik
 /**
  * @dataProvider getUnitColumns
  * @group Core
  */
 public function testGetUnit($column, $expected)
 {
     Site::setSites(array(1 => array('name' => 'TestSite', 'currency' => 'EUR')));
     FakeAccess::$superUser = true;
     $actual = Metrics::getUnit($column, 1);
     $this->assertEquals($expected, $actual);
 }
コード例 #2
0
ファイル: MetricsTest.php プロジェクト: a4tunado/piwik
 /**
  * @dataProvider getUnitColumns
  * @group Core
  */
 public function testGetUnit($column, $expected)
 {
     \Piwik\Site::setSites(array(1 => array('name' => 'TestSite', 'currency' => 'EUR')));
     $pseudoMockAccess = new FakeAccess();
     FakeAccess::$superUser = true;
     Access::setSingletonInstance($pseudoMockAccess);
     $actual = Metrics::getUnit($column, 1);
     $this->assertEquals($expected, $actual);
 }
コード例 #3
0
ファイル: ApiTest.php プロジェクト: JoeHorn/piwik
 /**
  * @group Plugins
  */
 public function testGetScheduledTasks()
 {
     // stub API to control getReports() return values
     $report1 = self::getDailyPDFReportData($this->idSite);
     $report1['idreport'] = 1;
     $report1['hour'] = 0;
     $report1['deleted'] = 0;
     $report2 = self::getMonthlyEmailReportData($this->idSite);
     $report2['idreport'] = 2;
     $report2['idsite'] = 2;
     $report2['hour'] = 0;
     $report2['deleted'] = 0;
     $report3 = self::getMonthlyEmailReportData($this->idSite);
     $report3['idreport'] = 3;
     $report3['deleted'] = 1;
     // should not be scheduled
     $report4 = self::getMonthlyEmailReportData($this->idSite);
     $report4['idreport'] = 4;
     $report4['idsite'] = 1;
     $report4['hour'] = 8;
     $report4['deleted'] = 0;
     $report5 = self::getMonthlyEmailReportData($this->idSite);
     $report5['idreport'] = 5;
     $report5['idsite'] = 2;
     $report5['hour'] = 8;
     $report5['deleted'] = 0;
     // test no exception is raised when a scheduled report is set to never send
     $report6 = self::getMonthlyEmailReportData($this->idSite);
     $report6['idreport'] = 6;
     $report6['period'] = Schedule::PERIOD_NEVER;
     $report6['deleted'] = 0;
     $stubbedAPIScheduledReports = $this->getMock('\\Piwik\\Plugins\\ScheduledReports\\API', array('getReports', 'getInstance'), $arguments = array(), $mockClassName = '', $callOriginalConstructor = false);
     $stubbedAPIScheduledReports->expects($this->any())->method('getReports')->will($this->returnValue(array($report1, $report2, $report3, $report4, $report5, $report6)));
     \Piwik\Plugins\ScheduledReports\API::setSingletonInstance($stubbedAPIScheduledReports);
     // initialize sites 1 and 2
     Site::setSites(array(1 => array('timezone' => 'Europe/Paris'), 2 => array('timezone' => 'UTC-6.5')));
     // expected tasks
     $scheduleTask1 = Schedule::factory('daily');
     $scheduleTask1->setHour(0);
     // paris is UTC-1, period ends at 23h UTC
     $scheduleTask1->setTimezone('Europe/Paris');
     $scheduleTask2 = new Monthly();
     $scheduleTask2->setHour(0);
     // site is UTC-6.5, period ends at 6h30 UTC, smallest resolution is hour
     $scheduleTask2->setTimezone('UTC-6.5');
     $scheduleTask3 = new Monthly();
     $scheduleTask3->setHour(8);
     // paris is UTC-1, configured to be sent at 8h
     $scheduleTask3->setTimezone('Europe/Paris');
     $scheduleTask4 = new Monthly();
     $scheduleTask4->setHour(8);
     // site is UTC-6.5, configured to be sent at 8h
     $scheduleTask4->setTimezone('UTC-6.5');
     $expectedTasks = array(new Task(APIScheduledReports::getInstance(), 'sendReport', 1, $scheduleTask1), new Task(APIScheduledReports::getInstance(), 'sendReport', 2, $scheduleTask2), new Task(APIScheduledReports::getInstance(), 'sendReport', 4, $scheduleTask3), new Task(APIScheduledReports::getInstance(), 'sendReport', 5, $scheduleTask4));
     $pdfReportPlugin = new Tasks();
     $pdfReportPlugin->schedule();
     $tasks = $pdfReportPlugin->getScheduledTasks();
     $this->assertEquals($expectedTasks, $tasks);
     \Piwik\Plugins\ScheduledReports\API::unsetInstance();
 }