Skip to content
Extraits de code Groupes Projets
Valider a52d41f9 rédigé par mattpiwik's avatar mattpiwik
Parcourir les fichiers

* Fixing bug, when anonymous user is set with some permission, it should work

 * Also fixing that now adding &debug to the URL will display the backtrace as expected
 
 Refs #3337

git-svn-id: http://dev.piwik.org/svn/trunk@7670 59fd770c-687e-43c8-a1e3-f5a4ff64c105
parent 4c96ce84
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -121,12 +121,9 @@ class Piwik_API_ResponseBuilder ...@@ -121,12 +121,9 @@ class Piwik_API_ResponseBuilder
throw $e; throw $e;
} }
try try {
{
$renderer = Piwik_DataTable_Renderer::factory($format); $renderer = Piwik_DataTable_Renderer::factory($format);
} catch (Exception $e) { } catch (Exception $e) {
return "Error: " . $e->getMessage(); return "Error: " . $e->getMessage();
} }
......
...@@ -459,7 +459,7 @@ abstract class Piwik_Controller ...@@ -459,7 +459,7 @@ abstract class Piwik_Controller
$this->setBasicVariablesView($view); $this->setBasicVariablesView($view);
} catch(Exception $e) { } catch(Exception $e) {
Piwik_ExitWithMessage($e->getMessage()); Piwik_ExitWithMessage($e->getMessage(), Piwik::shouldLoggerLog() ? $e->getTraceAsString() : '');
} }
} }
......
...@@ -94,6 +94,6 @@ class Piwik_Log_Exception_Formatter_ScreenFormatter extends Piwik_Log_Formatter_ ...@@ -94,6 +94,6 @@ class Piwik_Log_Exception_Formatter_ScreenFormatter extends Piwik_Log_Formatter_
$outputFormat = strtolower(Piwik_Common::getRequestVar('format', 'html', 'string')); $outputFormat = strtolower(Piwik_Common::getRequestVar('format', 'html', 'string'));
$response = new Piwik_API_ResponseBuilder($outputFormat); $response = new Piwik_API_ResponseBuilder($outputFormat);
$message = $response->getResponseException(new Exception($errstr)); $message = $response->getResponseException(new Exception($errstr));
return parent::format($message); return parent::format($message );
} }
} }
...@@ -46,11 +46,12 @@ class Piwik_Login extends Piwik_Plugin ...@@ -46,11 +46,12 @@ class Piwik_Login extends Piwik_Plugin
*/ */
function noAccess( $notification ) function noAccess( $notification )
{ {
/* @var Exception $exception */
$exception = $notification->getNotificationObject(); $exception = $notification->getNotificationObject();
$exceptionMessage = $exception->getMessage(); $exceptionMessage = $exception->getMessage();
$controller = new Piwik_Login_Controller(); $controller = new Piwik_Login_Controller();
$controller->login($exceptionMessage); $controller->login($exceptionMessage, Piwik::shouldLoggerLog() ? $exception->getTraceAsString() : '' );
} }
/** /**
......
...@@ -52,7 +52,7 @@ class Piwik_MobileMessaging_API ...@@ -52,7 +52,7 @@ class Piwik_MobileMessaging_API
*/ */
public function areSMSAPICredentialProvided() public function areSMSAPICredentialProvided()
{ {
Piwik::checkUserIsNotAnonymous(); Piwik::checkUserHasSomeViewAccess();
$credential = $this->getSMSAPICredential(); $credential = $this->getSMSAPICredential();
return isset($credential[Piwik_MobileMessaging::API_KEY_OPTION]); return isset($credential[Piwik_MobileMessaging::API_KEY_OPTION]);
...@@ -472,7 +472,7 @@ class Piwik_MobileMessaging_API ...@@ -472,7 +472,7 @@ class Piwik_MobileMessaging_API
*/ */
public function getDelegatedManagement() public function getDelegatedManagement()
{ {
Piwik::checkUserIsNotAnonymous(); Piwik::checkUserHasSomeViewAccess();
return Piwik_GetOption(Piwik_MobileMessaging::DELEGATED_MANAGEMENT_OPTION) == 'true'; return Piwik_GetOption(Piwik_MobileMessaging::DELEGATED_MANAGEMENT_OPTION) == 'true';
} }
} }
...@@ -213,8 +213,7 @@ class Piwik_PDFReports_API ...@@ -213,8 +213,7 @@ class Piwik_PDFReports_API
*/ */
public function getReports($idSite = false, $period = false, $idReport = false, $ifSuperUserReturnOnlySuperUserReports = false) public function getReports($idSite = false, $period = false, $idReport = false, $ifSuperUserReturnOnlySuperUserReports = false)
{ {
Piwik::checkUserIsNotAnonymous(); Piwik::checkUserHasSomeViewAccess();
$cacheKey = (int)$idSite .'.'. (string)$period .'.'. (int)$idReport .'.'. (int)$ifSuperUserReturnOnlySuperUserReports; $cacheKey = (int)$idSite .'.'. (string)$period .'.'. (int)$idReport .'.'. (int)$ifSuperUserReturnOnlySuperUserReports;
if(isset(self::$cache[$cacheKey])) if(isset(self::$cache[$cacheKey]))
{ {
......
...@@ -580,15 +580,28 @@ class Piwik_PDFReports extends Piwik_Plugin ...@@ -580,15 +580,28 @@ class Piwik_PDFReports extends Piwik_Plugin
if(!Piwik_PluginsManager::getInstance()->isPluginActivated('MobileMessaging')) if(!Piwik_PluginsManager::getInstance()->isPluginActivated('MobileMessaging'))
return self::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY; return self::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY;
$reports = Piwik_PDFReports_API::getInstance()->getReports(); try {
// This would fail for anonymous user
$reports = Piwik_PDFReports_API::getInstance()->getReports();
} catch(Exception $e) {
$reports = array();
}
$reportCount = count($reports); $reportCount = count($reports);
// if there are no reports and the mobile account is // if there are no reports and the mobile account is
// not configured, display 'Email reports' // not configured, display 'Email reports'
// configured, display 'Email & SMS reports' // configured, display 'Email & SMS reports'
if($reportCount == 0) if($reportCount == 0)
return Piwik_MobileMessaging_API::getInstance()->areSMSAPICredentialProvided() ? {
self::MOBILE_MESSAGING_TOP_MENU_TRANSLATION_KEY : self::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY; try {
return Piwik_MobileMessaging_API::getInstance()->areSMSAPICredentialProvided() ?
self::MOBILE_MESSAGING_TOP_MENU_TRANSLATION_KEY :
self::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY;
} catch(Exception $e) {
// anonymous user
return self::MOBILE_MESSAGING_TOP_MENU_TRANSLATION_KEY;
}
}
$anyMobileReport = false; $anyMobileReport = false;
foreach($reports as $report) foreach($reports as $report)
...@@ -601,7 +614,9 @@ class Piwik_PDFReports extends Piwik_Plugin ...@@ -601,7 +614,9 @@ class Piwik_PDFReports extends Piwik_Plugin
} }
// if there is at least one sms report, display 'Email & SMS reports' // if there is at least one sms report, display 'Email & SMS reports'
if($anyMobileReport) return self::MOBILE_MESSAGING_TOP_MENU_TRANSLATION_KEY; if($anyMobileReport) {
return self::MOBILE_MESSAGING_TOP_MENU_TRANSLATION_KEY;
}
return self::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY; return self::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY;
} }
......
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