Skip to content
Extraits de code Groupes Projets
Valider aaed436a rédigé par Matthieu Aubry's avatar Matthieu Aubry Validation de GitHub
Parcourir les fichiers

Fix fatal error when requesting RSS format (#10407)

* Fixes #10399

* add test reproducing issue #10399

* another health check
parent 58d7fb3f
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -64,9 +64,13 @@ class Rss extends Renderer ...@@ -64,9 +64,13 @@ class Rss extends Renderer
$pudDate = date('r', $timestamp); $pudDate = date('r', $timestamp);
$dateInSiteTimezone = Date::factory($timestamp)->setTimezone($site->getTimezone())->toString('Y-m-d'); $dateInSiteTimezone = Date::factory($timestamp);
if($site) {
$dateInSiteTimezone = $dateInSiteTimezone->setTimezone($site->getTimezone());
}
$dateInSiteTimezone = $dateInSiteTimezone->toString('Y-m-d');
$thisPiwikUrl = Common::sanitizeInputValue($piwikUrl . "&date=$dateInSiteTimezone"); $thisPiwikUrl = Common::sanitizeInputValue($piwikUrl . "&date=$dateInSiteTimezone");
$siteName = $site->getName(); $siteName = $site ? $site->getName() : '';
$title = $siteName . " on " . $date; $title = $siteName . " on " . $date;
$out .= "\t<item> $out .= "\t<item>
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
namespace Piwik\Plugins\MultiSites\tests\Integration; namespace Piwik\Plugins\MultiSites\tests\Integration;
use Piwik\Access; use Piwik\Access;
use Piwik\FrontController;
use Piwik\Plugins\MultiSites\API as APIMultiSites; use Piwik\Plugins\MultiSites\API as APIMultiSites;
use Piwik\Plugins\SitesManager\API as APISitesManager; use Piwik\Plugins\SitesManager\API as APISitesManager;
use Piwik\Tests\Framework\TestCase\IntegrationTestCase; use Piwik\Tests\Framework\TestCase\IntegrationTestCase;
...@@ -49,4 +50,28 @@ class MultiSitesTest extends IntegrationTestCase ...@@ -49,4 +50,28 @@ class MultiSitesTest extends IntegrationTestCase
// safety net // safety net
$this->assertEquals(0, $dataTable->getFirstRow()->getColumn('nb_visits')); $this->assertEquals(0, $dataTable->getFirstRow()->getColumn('nb_visits'));
} }
/**
* Testing that getOne does not error out when format=rss, #10407
*
* @group Plugins
*/
public function testWhenRssFormatGetOneDoesNotError()
{
$_GET = array(
'method' => 'MultiSites.getOne',
'idSite' => $this->idSiteAccess,
'period' => 'month',
'date' => 'last10',
'format' => 'rss'
);
$output = FrontController::getInstance()->fetchDispatch('API');
$this->assertContains('<item>', $output);
$this->assertContains('</rss>', $output);
$this->assertNotContains('error', $output);
$_GET = array();
}
} }
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter