/** * Format surcharge prices * @param array * @return array */ public static function formatSurcharges($arrSurcharges) { $Isotope = Isotope::getInstance(); foreach ($arrSurcharges as $k => $arrSurcharge) { $arrSurcharges[$k]['price'] = $Isotope->formatPriceWithCurrency($arrSurcharge['price']); $arrSurcharges[$k]['total_price'] = $Isotope->formatPriceWithCurrency($arrSurcharge['total_price']); $arrSurcharges[$k]['rowClass'] = trim('foot_' . ($k + 1) . ' ' . $arrSurcharge[$k]['rowClass']); } return $arrSurcharges; }
/** * Add a request string to the given URI string or page ID * @param string * @param mixed * @return string */ public static function addQueryStringToUrl($strRequest, $varUrl = null) { if ($varUrl === null) { $varUrl = Environment::getInstance()->request; } elseif (is_numeric($varUrl)) { $objJump = Database::getInstance()->prepare("SELECT * FROM tl_page WHERE id=?")->execute($varUrl); $varUrl = Isotope::getInstance()->generateFrontendUrl($objJump->row()); } list($strScript, $strQueryString) = explode('?', $varUrl, 2); $strRequest = preg_replace('/^&(amp;)?/i', '', $strRequest); $queries = preg_split('/&(amp;)?/i', $strQueryString); // Overwrite existing parameters and ignore "language", see #64 foreach ($queries as $k => $v) { $explode = explode('=', $v); if ($k === 'language' || preg_match('/(^|&(amp;)?)' . preg_quote($explode[0], '/') . '=/i', $strRequest)) { unset($queries[$k]); } } $href = '?'; if (!empty($queries)) { $href .= implode('&', $queries) . '&'; } return $strScript . $href . str_replace(' ', '%20', $strRequest); }