/**
  * Settings page for the user - allow activating / disabling Google Authenticator and to generate secrets
  *
  * @return string
  * @throws \Exception
  * @throws \Piwik\NoAccessException
  */
 public function settings()
 {
     Piwik::checkUserIsNotAnonymous();
     $view = new View('@GoogleAuthenticator/settings');
     $this->setGeneralVariablesView($view);
     $googleAuth = new PHPGangsta\GoogleAuthenticator();
     $storage = new Storage(Piwik::getCurrentUserLogin());
     $view->activated = $view->disabled = false;
     if (Common::getRequestVar('activate', 0, 'int')) {
         $storage->activate();
         $view->activated = true;
     }
     if (Common::getRequestVar('disable', 0, 'int')) {
         $storage->deactivate();
         $view->disabled = true;
     }
     $secret = $storage->getSecret();
     $view->showSetUp = Common::getRequestVar('setup', 0, 'int');
     $view->googleAuthIsActive = $storage->isActive();
     $view->googleAuthSecret = $secret;
     $view->googleAuthImage = $googleAuth->getQRCodeGoogleUrl(Piwik::getCurrentUserLogin(), $secret, 'Piwik - ' . Url::getCurrentHost());
     return $view->render();
 }
 private function enableGoogleAuthenticator($login, $secret)
 {
     $storage = new Storage($login);
     $storage->activate();
     $storage->setSecret($secret);
 }