/**
  * Calculates and sets the internal linkVars based upon the current
  * $_GET parameters and the setting "config.linkVars".
  *
  * @return void
  */
 public function calculateLinkVars()
 {
     $this->linkVars = '';
     $linkVars = \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', (string) $this->config['config']['linkVars']);
     if (empty($linkVars)) {
         return;
     }
     $getData = \TYPO3\CMS\Core\Utility\GeneralUtility::_GET();
     foreach ($linkVars as $linkVar) {
         $test = $value = '';
         if (preg_match('/^(.*)\\((.+)\\)$/', $linkVar, $match)) {
             $linkVar = trim($match[1]);
             $test = trim($match[2]);
         }
         if ($linkVar === '' || !isset($getData[$linkVar])) {
             continue;
         }
         if (!is_array($getData[$linkVar])) {
             $temp = rawurlencode($getData[$linkVar]);
             if ($test !== '' && !\TYPO3\CMS\Frontend\Page\PageGenerator::isAllowedLinkVarValue($temp, $test)) {
                 // Error: This value was not allowed for this key
                 continue;
             }
             $value = '&' . $linkVar . '=' . $temp;
         } else {
             if ($test !== '' && strcmp('array', $test)) {
                 // Error: This key must not be an array!
                 continue;
             }
             $value = \TYPO3\CMS\Core\Utility\GeneralUtility::implodeArrayForUrl($linkVar, $getData[$linkVar]);
         }
         $this->linkVars .= $value;
     }
 }