original_string: protected function checkIfNoDataForGeoIpReport(ViewDataTable $view)
      {
          $view->config->filters[] = function ($dataTable) use ($view) {
              // if there's only one row whose label is 'Unknown', display a message saying there's no data
              if ($dataTable->getRowsCount() == 1
                  && $dataTable->getFirstRow()->getColumn('label') == Piwik::translate('General_Unknown')
              ) {
                  $footerMessage = Piwik::translate('UserCountry_NoDataForGeoIPReport1');
  
                  $userCountry = new UserCountry();
                  // if GeoIP is working, don't display this part of the message
                  if (!$userCountry->isGeoIPWorking()) {
                      $params = array('module' => 'UserCountry', 'action' => 'adminIndex');
                      $footerMessage .= ' ' . Piwik::translate('UserCountry_NoDataForGeoIPReport2',
                              array('<a target="_blank" href="' . Url::getCurrentQueryStringWithParametersModified($params) . '">',
                                  '</a>',
                                  '<a rel="noreferrer noopener" target="_blank" href="http://dev.maxmind.com/geoip/geolite?rId=piwik">',
                                  '</a>'));
                  } else {
                      $footerMessage .= ' ' . Piwik::translate('UserCountry_ToGeolocateOldVisits',
                              array('<a rel="noreferrer noopener" target="_blank" href="https://matomo.org/faq/how-to/#faq_167">', '</a>'));
                  }
  
                  $view->config->show_footer_message = $footerMessage;
              }
          };
      }
code: protected function checkIfNoDataForGeoIpReport(ViewDataTable $view)
      {
          $view->config->filters[] = function ($dataTable) use ($view) {
              // if there's only one row whose label is 'Unknown', display a message saying there's no data
              if ($dataTable->getRowsCount() == 1
                  && $dataTable->getFirstRow()->getColumn('label') == Piwik::translate('General_Unknown')
              ) {
                  $footerMessage = Piwik::translate('UserCountry_NoDataForGeoIPReport1');
  
                  $userCountry = new UserCountry();
                  // if GeoIP is working, don't display this part of the message
                  if (!$userCountry->isGeoIPWorking()) {
                      $params = array('module' => 'UserCountry', 'action' => 'adminIndex');
                      $footerMessage .= ' ' . Piwik::translate('UserCountry_NoDataForGeoIPReport2',
                              array('<a target="_blank" href="' . Url::getCurrentQueryStringWithParametersModified($params) . '">',
                                  '</a>',
                                  '<a rel="noreferrer noopener" target="_blank" href="http://dev.maxmind.com/geoip/geolite?rId=piwik">',
                                  '</a>'));
                  } else {
                      $footerMessage .= ' ' . Piwik::translate('UserCountry_ToGeolocateOldVisits',
                              array('<a rel="noreferrer noopener" target="_blank" href="https://matomo.org/faq/how-to/#faq_167">', '</a>'));
                  }
  
                  $view->config->show_footer_message = $footerMessage;
              }
          };
      }
code_tokens: protected function checkIfNoDataForGeoIpReport ( ViewDataTable $ view ) { $ view -> config -> filters [ ] = function ( $ dataTable ) use ( $ view ) { // if there's only one row whose label is 'Unknown', display a message saying there's no data if ( $ dataTable -> getRowsCount ( ) == 1 && $ dataTable -> getFirstRow ( ) -> getColumn ( 'label' ) == Piwik :: translate ( 'General_Unknown' ) ) { $ footerMessage = Piwik :: translate ( 'UserCountry_NoDataForGeoIPReport1' ) ; $ userCountry = new UserCountry ( ) ; // if GeoIP is working, don't display this part of the message if ( ! $ userCountry -> isGeoIPWorking ( ) ) { $ params = array ( 'module' => 'UserCountry' , 'action' => 'adminIndex' ) ; $ footerMessage .= ' ' . Piwik :: translate ( 'UserCountry_NoDataForGeoIPReport2' , array ( '<a target="_blank" href="' . Url :: getCurrentQueryStringWithParametersModified ( $ params ) . '">' , '</a>' , '<a rel="noreferrer noopener" target="_blank" href="http://dev.maxmind.com/geoip/geolite?rId=piwik">' , '</a>' ) ) ; } else { $ footerMessage .= ' ' . Piwik :: translate ( 'UserCountry_ToGeolocateOldVisits' , array ( '<a rel="noreferrer noopener" target="_blank" href="https://matomo.org/faq/how-to/#faq_167">' , '</a>' ) ) ; } $ view -> config -> show_footer_message = $ footerMessage ; } } ; }
docstring: Checks if a datatable for a view is empty and if so, displays a message in the footer
  telling users to configure GeoIP.
docstring_tokens: Checks if a datatable for a view is empty and if so displays a message in the footer telling users to configure GeoIP .