original_string: protected function initViewAnonymousUserSettings($view)
      {
          if (!Piwik::hasUserSuperUserAccess()) {
              return;
          }
  
          $userLogin = 'anonymous';
  
          // Which websites are available to the anonymous users?
  
          $anonymousSitesAccess = Request::processRequest('UsersManager.getSitesAccessFromUser', array('userLogin' => $userLogin));
          $anonymousSites = array();
          $idSites = array();
          foreach ($anonymousSitesAccess as $info) {
              $idSite = $info['site'];
              $idSites[] = $idSite;
  
              $site = Request::processRequest('SitesManager.getSiteFromId', array('idSite' => $idSite));
              // Work around manual website deletion
              if (!empty($site)) {
                  $anonymousSites[] = array('key' => $idSite, 'value' => $site['name']);
              }
          }
          $view->anonymousSites = $anonymousSites;
  
          $anonymousDefaultSite = '';
  
          // Which report is displayed by default to the anonymous user?
          $anonymousDefaultReport = Request::processRequest('UsersManager.getUserPreference', array('userLogin' => $userLogin, 'preferenceName' => APIUsersManager::PREFERENCE_DEFAULT_REPORT));
          if ($anonymousDefaultReport === false) {
              if (empty($anonymousSites)) {
                  $anonymousDefaultReport = Piwik::getLoginPluginName();
              } else {
                  // we manually imitate what would happen, in case the anonymous user logs in
                  // and is redirected to the first website available to him in the list
                  // @see getDefaultWebsiteId()
                  $anonymousDefaultReport = '1';
                  $anonymousDefaultSite = $anonymousSites[0]['key'];
              }
          }
  
          if (is_numeric($anonymousDefaultReport)) {
              $anonymousDefaultSite = $anonymousDefaultReport;
              $anonymousDefaultReport = '1'; // a website is selected, we make sure "Dashboard for a specific site" gets pre-selected
          }
  
          if ((empty($anonymousDefaultSite) || !in_array($anonymousDefaultSite, $idSites)) && !empty($idSites)) {
              $anonymousDefaultSite = $anonymousSites[0]['key'];
          }
  
          $view->anonymousDefaultReport = $anonymousDefaultReport;
          $view->anonymousDefaultSite = $anonymousDefaultSite;
          $view->anonymousDefaultDate = $this->getDefaultDateForUser($userLogin);
  
          $view->defaultReportOptions = array(
              array('key' => 'Login', 'value' => Piwik::translate('UsersManager_TheLoginScreen')),
              array('key' => 'MultiSites', 'value' => Piwik::translate('General_AllWebsitesDashboard'), 'disabled' => empty($anonymousSites)),
              array('key' => '1', 'value' => Piwik::translate('General_DashboardForASpecificWebsite')),
          );
      }
code: protected function initViewAnonymousUserSettings($view)
      {
          if (!Piwik::hasUserSuperUserAccess()) {
              return;
          }
  
          $userLogin = 'anonymous';
  
          // Which websites are available to the anonymous users?
  
          $anonymousSitesAccess = Request::processRequest('UsersManager.getSitesAccessFromUser', array('userLogin' => $userLogin));
          $anonymousSites = array();
          $idSites = array();
          foreach ($anonymousSitesAccess as $info) {
              $idSite = $info['site'];
              $idSites[] = $idSite;
  
              $site = Request::processRequest('SitesManager.getSiteFromId', array('idSite' => $idSite));
              // Work around manual website deletion
              if (!empty($site)) {
                  $anonymousSites[] = array('key' => $idSite, 'value' => $site['name']);
              }
          }
          $view->anonymousSites = $anonymousSites;
  
          $anonymousDefaultSite = '';
  
          // Which report is displayed by default to the anonymous user?
          $anonymousDefaultReport = Request::processRequest('UsersManager.getUserPreference', array('userLogin' => $userLogin, 'preferenceName' => APIUsersManager::PREFERENCE_DEFAULT_REPORT));
          if ($anonymousDefaultReport === false) {
              if (empty($anonymousSites)) {
                  $anonymousDefaultReport = Piwik::getLoginPluginName();
              } else {
                  // we manually imitate what would happen, in case the anonymous user logs in
                  // and is redirected to the first website available to him in the list
                  // @see getDefaultWebsiteId()
                  $anonymousDefaultReport = '1';
                  $anonymousDefaultSite = $anonymousSites[0]['key'];
              }
          }
  
          if (is_numeric($anonymousDefaultReport)) {
              $anonymousDefaultSite = $anonymousDefaultReport;
              $anonymousDefaultReport = '1'; // a website is selected, we make sure "Dashboard for a specific site" gets pre-selected
          }
  
          if ((empty($anonymousDefaultSite) || !in_array($anonymousDefaultSite, $idSites)) && !empty($idSites)) {
              $anonymousDefaultSite = $anonymousSites[0]['key'];
          }
  
          $view->anonymousDefaultReport = $anonymousDefaultReport;
          $view->anonymousDefaultSite = $anonymousDefaultSite;
          $view->anonymousDefaultDate = $this->getDefaultDateForUser($userLogin);
  
          $view->defaultReportOptions = array(
              array('key' => 'Login', 'value' => Piwik::translate('UsersManager_TheLoginScreen')),
              array('key' => 'MultiSites', 'value' => Piwik::translate('General_AllWebsitesDashboard'), 'disabled' => empty($anonymousSites)),
              array('key' => '1', 'value' => Piwik::translate('General_DashboardForASpecificWebsite')),
          );
      }
code_tokens: protected function initViewAnonymousUserSettings ( $ view ) { if ( ! Piwik :: hasUserSuperUserAccess ( ) ) { return ; } $ userLogin = 'anonymous' ; // Which websites are available to the anonymous users? $ anonymousSitesAccess = Request :: processRequest ( 'UsersManager.getSitesAccessFromUser' , array ( 'userLogin' => $ userLogin ) ) ; $ anonymousSites = array ( ) ; $ idSites = array ( ) ; foreach ( $ anonymousSitesAccess as $ info ) { $ idSite = $ info [ 'site' ] ; $ idSites [ ] = $ idSite ; $ site = Request :: processRequest ( 'SitesManager.getSiteFromId' , array ( 'idSite' => $ idSite ) ) ; // Work around manual website deletion if ( ! empty ( $ site ) ) { $ anonymousSites [ ] = array ( 'key' => $ idSite , 'value' => $ site [ 'name' ] ) ; } } $ view -> anonymousSites = $ anonymousSites ; $ anonymousDefaultSite = '' ; // Which report is displayed by default to the anonymous user? $ anonymousDefaultReport = Request :: processRequest ( 'UsersManager.getUserPreference' , array ( 'userLogin' => $ userLogin , 'preferenceName' => APIUsersManager :: PREFERENCE_DEFAULT_REPORT ) ) ; if ( $ anonymousDefaultReport === false ) { if ( empty ( $ anonymousSites ) ) { $ anonymousDefaultReport = Piwik :: getLoginPluginName ( ) ; } else { // we manually imitate what would happen, in case the anonymous user logs in // and is redirected to the first website available to him in the list // @see getDefaultWebsiteId() $ anonymousDefaultReport = '1' ; $ anonymousDefaultSite = $ anonymousSites [ 0 ] [ 'key' ] ; } } if ( is_numeric ( $ anonymousDefaultReport ) ) { $ anonymousDefaultSite = $ anonymousDefaultReport ; $ anonymousDefaultReport = '1' ; // a website is selected, we make sure "Dashboard for a specific site" gets pre-selected } if ( ( empty ( $ anonymousDefaultSite ) || ! in_array ( $ anonymousDefaultSite , $ idSites ) ) && ! empty ( $ idSites ) ) { $ anonymousDefaultSite = $ anonymousSites [ 0 ] [ 'key' ] ; } $ view -> anonymousDefaultReport = $ anonymousDefaultReport ; $ view -> anonymousDefaultSite = $ anonymousDefaultSite ; $ view -> anonymousDefaultDate = $ this -> getDefaultDateForUser ( $ userLogin ) ; $ view -> defaultReportOptions = array ( array ( 'key' => 'Login' , 'value' => Piwik :: translate ( 'UsersManager_TheLoginScreen' ) ) , array ( 'key' => 'MultiSites' , 'value' => Piwik :: translate ( 'General_AllWebsitesDashboard' ) , 'disabled' => empty ( $ anonymousSites ) ) , array ( 'key' => '1' , 'value' => Piwik :: translate ( 'General_DashboardForASpecificWebsite' ) ) , ) ; }
docstring: The Super User can modify Anonymous user settings
  @param View $view
docstring_tokens: The Super User can modify Anonymous user settings