FALSE, "version" => "2.0.0", "urlParameter" => "", "urlPreferredParameter" => "lang", "urlParameterLanguage" => "", "urlParametersSupported" => array("lang", "language", "rwml", "hl", "loc", "locale"), "cookieName" => "rwml_preferred_language", "cookieHTTPS" => FALSE, "cookiePath" => "/", "cookieAge" => 7776000, // Direct setting of 86400 * 90 days e.g. is not supported by RW and requires PHP 5.6 for math expressions to work in constant definitions so try protected instead. Read from config. "cookieDays" => 180, "cookieDomain" => "", "languageDefault" => "EN", "languageActive" => "", "languageSelectDefault" => true, "languagesUsed" => array("EN", "", "", "", "", "", "", "", "", ""), // Read from config. "tidyPages" => "index.php", // Follow the RW default of creating nice looking URL links "serverName" => "", "serverPort" => 80, "serverDefaultPorts" => array(80, 443), "scriptName" => "", "scriptNameRWML" => "", // As used for the links created by RWML "scriptURI" => "", "scriptLanguageSwitch" => "", "scriptLanguageAlternativeSwitch" => "", ); public function __construct() { // Note that $_SERVER['SERVER_NAME'] is not set in RW6 Preview mode. // SERVER_NAME / HTTP_HOST // SCRIPT_URI / REQUEST_URI. $this->setProperty("serverName", $_SERVER["SERVER_NAME"]); $this->setProperty("serverPort", $_SERVER["SERVER_PORT"]); $this->setProperty("scriptName", $_SERVER["SCRIPT_NAME"]); @$this->setProperty("scriptURI", $_SERVER["REQUEST_URI"]); $this->setProperty("scriptNameRWML", str_replace($this->getProperty("tidyPages"), '', $this->getProperty("scriptName"))); $this->setProperty("cookieAge", 86400 * intval($this->getProperty("cookieDays"))); $this->setProperty("languagesUsed", array_diff($this->getProperty("languagesUsed"), array(""))); // Set to a non-empty value if the script was queried through the HTTPS protocol. // Note that when using ISAPI with IIS, the value will be off if the request was not made through the HTTPS protocol. if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') { $this->setProperty("cookieHTTPS", TRUE); } } private function _addProperty($configItem, $configValue) { @$this->_configuration[$configItem] = $configValue; } public function setProperty($configItem, $configValue) { foreach ($this->_configuration as $key => &$value) { if ($key == $configItem) { $value = $configValue; break; } } } public function getProperty($configItem) { $returnValue = "Oops a daisy"; foreach ($this->_configuration as $key => $value) { if ($key == $configItem) { $returnValue = $value; break; } } return $returnValue; } public function dump($prefix, $tail, $lineBreak) { $dump = $prefix.$lineBreak; foreach ($this->_configuration as $key => $value) { $dump .= $key." = "; if(is_array($value)) { $dump .= var_export(implode(", ", $value), TRUE); } else { $dump .= var_export($value, TRUE); } $dump .= $lineBreak; } $dump .= $tail.$lineBreak; echo $dump; } } } if (!class_exists('rwmlSystem')) { class rwmlSystem { private $_configuration; // Parameters: // 1 = Debug, Boolean public function __construct($debug) { $helperVar = ""; $this->_configuration = new rwmlConfiguration(); if($debug == TRUE) { $this->_configuration->setProperty("debug", $debug); } // Get Possible URL Parameters that are supported by RWML and override the possible stored language value. foreach ($this->_configuration->getProperty("urlParametersSupported") as $parameter) { if(($this->_configuration->getProperty("languageActive") === "") && (isset($_GET[$parameter]))) { $parameterValue = $_GET[$parameter]; $this->_configuration->setProperty("languageActive", $parameterValue); $this->_configuration->setProperty("urlParameter", $parameter); $this->_configuration->setProperty("urlParameterLanguage", $parameterValue); } } // Get the stored language value from the RWML Cookie. if (($this->_configuration->getProperty("languageActive") === "") && (isset($_COOKIE[$this->_configuration->getProperty("cookieName")]))) { $this->_configuration->setProperty("languageActive", $_COOKIE[$this->_configuration->getProperty("cookieName")]); } // Auto Select Default Language based on the configuration once no other value is known. if(($this->_configuration->getProperty("languageActive") === "") && ($this->_configuration->getProperty("languageSelectDefault") === TRUE)) { $this->_configuration->setProperty("languageActive", $this->_configuration->getProperty("languageDefault")); } // Set or Refresh the Cookie, Not possible with PHP if the header is already sent so add a JavaScript fallback and/or enable PHP buffering. if($this->_configuration->getProperty("languageActive") != "") { @setcookie($this->_configuration->getProperty("cookieName"), $this->_configuration->getProperty("languageActive"), time()+$this->_configuration->getProperty("cookieAge"), $this->_configuration->getProperty("cookiePath"), $this->_configuration->getProperty("serverName"), $this->_configuration->getProperty("cookieHTTPS")); } // Detect for usage of URL parameter and possible other RW extensions using the ? so we need to use & to add our language switches or adapt them a little bit. // Rapid Cart URL example: ?catalog/all/-/date/1 // Add detection of uses and preferred URL Parameters $helperVar = ""; $helperURLParameter = $this->_configuration->getProperty("urlParameter"); if($helperURLParameter === "") { $helperURLParameter = $this->_configuration->getProperty("urlPreferredParameter"); } $helperVar = $this->_configuration->getProperty("scriptNameRWML")."?".$helperURLParameter."="; if(($this->_configuration->getProperty("urlParameterLanguage") == "") && ($strpos = strpos($this->_configuration->getProperty("scriptURI"), "?") !== FALSE)) { $helperVar = $this->_configuration->getProperty("scriptURI")."&".$helperURLParameter."="; $helperVar = str_replace ("?&".$helperURLParameter."=" , "?".$helperURLParameter."=" , $helperVar); } if(($this->_configuration->getProperty("urlParameterLanguage") != "") && ($strpos = strpos($this->_configuration->getProperty("scriptURI"), "?") !== FALSE)) { $helperVar = str_replace("&".$this->_configuration->getProperty("urlParameter")."=".$this->_configuration->getProperty("urlParameterLanguage"), "&".$helperURLParameter."=", $this->_configuration->getProperty("scriptURI")); $helperVar = str_replace("?".$this->_configuration->getProperty("urlParameter")."=".$this->_configuration->getProperty("urlParameterLanguage") , "?".$helperURLParameter."=", $helperVar); } $this->_configuration->setProperty("scriptLanguageSwitch", $helperVar); unset($helperVar); // Alternative Language Switch as required for Head Links. $helperVar = ($this->_configuration->getProperty("cookieHTTPS") == TRUE) ? "https://" : "http://" . rtrim($this->_configuration->getProperty("serverName"), "/"); $helperVar .= (!in_array($this->_configuration->getProperty("serverPort"), $this->_configuration->getProperty("serverDefaultPorts"))) ? ":" . $this->_configuration->getProperty("serverPort") : ""; $helperVar .= $this->_configuration->getProperty("scriptLanguageSwitch"); $this->_configuration->setProperty("scriptLanguageAlternativeSwitch", $helperVar); unset($helperVar); } public function getConfiguration($htmlComment = FALSE) { if($htmlComment){ return $this->_configuration->dump("", "\r\n"); } else { return $this->_configuration->dump("-- Begin of RWML Configuration --", "-- End of RWML Configuration --", "
"); } } // https://support.google.com/webmasters/answer/189077?hl=nl // https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes public function getAlternativeLanguageHeadHTML() { $alternativeHeadHTML = ""; $activeLanguage = $this->_configuration->getProperty("languageActive"); $url = $this->_configuration->getProperty("scriptLanguageAlternativeSwitch"); @$languagesUsed = $this->_configuration->getProperty("languagesUsed"); if (is_array($languagesUsed)) { foreach ($languagesUsed as $value) { if ($activeLanguage != $value) { $alternativeHeadHTML .= "\n"; } } } // $alternativeHeadHTML .= "\n"; return $alternativeHeadHTML; } public function getLanguageSwitch($language) { $languageSwitch = "?lang=".$language; @$languageSwitch = $this->_configuration->getProperty("scriptLanguageSwitch").$language; return $languageSwitch; } public function isActiveLanguage($language = "$%^") { if($this->_configuration->getProperty("languageActive") === $language) { return TRUE; } else { return FALSE; } } } } if (!isset($rwml)) { $rwml = new rwmlSystem(FALSE); // debug, $ob_rw_org_head = ob_get_clean(); ob_start(); echo($rwml->getAlternativeLanguageHeadHTML()); $ob_rwml_meta = ob_get_clean(); ob_start(); echo str_replace('',$ob_rwml_meta.'',$ob_rw_org_head); } ?>
isActiveLanguage("EN")) : ?>ProductsisActiveLanguage("DE")) : ?>ProdukteisActiveLanguage("IT")) : ?>Prodotti
isActiveLanguage("EN")) : ?>OverviewisActiveLanguage("DE")) : ?>ÜbersichtisActiveLanguage("IT")) : ?>Panoramica
isActiveLanguage("EN")) : ?>DistributorsisActiveLanguage("DE")) : ?>HändlersucheisActiveLanguage("IT")) : ?>Negozi
isActiveLanguage("EN")) : ?>ContactisActiveLanguage("DE")) : ?>KontaktisActiveLanguage("IT")) : ?>Contatto
isActiveLanguage("EN")) : ?>OptionsisActiveLanguage("DE")) : ?>OptionenisActiveLanguage("IT")) : ?>Opzioni
isActiveLanguage("EN")) : ?>About usisActiveLanguage("DE")) : ?>Über unsisActiveLanguage("IT")) : ?>Chi siamo
isActiveLanguage("EN")) : ?>ProductionisActiveLanguage("DE")) : ?>ProduktionisActiveLanguage("IT")) : ?>Produzione
isActiveLanguage("EN")) : ?>PhilosophyisActiveLanguage("DE")) : ?>PhilosophieisActiveLanguage("IT")) : ?>Filosofia
isActiveLanguage("EN")) : ?>TechnologiesisActiveLanguage("DE")) : ?>TechnologienisActiveLanguage("IT")) : ?>Tecnologie
isActiveLanguage("EN")) : ?>ManualisActiveLanguage("DE")) : ?>HandbuchisActiveLanguage("IT")) : ?>Manuale
isActiveLanguage("EN")) : ?>Dealer AreaisActiveLanguage("DE")) : ?>HändlerbereichisActiveLanguage("IT")) : ?>Area Negozianti
isActiveLanguage("EN")) : ?>The PeopleisActiveLanguage("DE")) : ?>Die LeuteisActiveLanguage("IT")) : ?>Le Persone
isActiveLanguage("EN")) : ?>Event GalleriesisActiveLanguage("DE")) : ?>BildergalerienisActiveLanguage("IT")) : ?>Gallerie Eventi
isActiveLanguage("EN")) : ?>Product GalleriesisActiveLanguage("DE")) : ?>ProduktgalerienisActiveLanguage("IT")) : ?>Gallerie Prodotti
isActiveLanguage("EN")) : ?>SurroundisActiveLanguage("DE")) : ?>EffektlautsprecherisActiveLanguage("IT")) : ?>Surround
isActiveLanguage("EN")) : ?>CentersisActiveLanguage("DE")) : ?>CentersisActiveLanguage("IT")) : ?>Centrali
isActiveLanguage("EN")) : ?>Upcoming EventsisActiveLanguage("DE")) : ?>TermineisActiveLanguage("IT")) : ?>Appuntamenti
isActiveLanguage("EN")) : ?>NewsisActiveLanguage("DE")) : ?>NeuheitenisActiveLanguage("IT")) : ?>Novità
isActiveLanguage("EN")) : ?>SupportisActiveLanguage("DE")) : ?>SupportisActiveLanguage("IT")) : ?>Supporto
isActiveLanguage("EN")) : ?>Dream SystemsisActiveLanguage("DE")) : ?>TraumsystemeisActiveLanguage("IT")) : ?>Sistemi da sogno
isActiveLanguage("EN")) : ?>R-D ProductsisActiveLanguage("DE")) : ?>ForschungsprojekteisActiveLanguage("IT")) : ?>Ricerca e Sviluppo
isActiveLanguage("EN")) : ?>HistoryisActiveLanguage("DE")) : ?>GeschichteisActiveLanguage("IT")) : ?>Storia

Site Map

  • Products The whole range of stereo Loudspeakers products are listed here, feel free to take a look
    • Bookshelf We love horn speakers, this is our philosophy and here you find it: high end, high efficiency and fantastic speed
    • Serie Fun We love horn speakers, this is our philosophy and here you find it: high end, high efficiency and fantastic speed
      • Fun 13 MK 2 with the Fun 13 we aim to give a mid range entry level loudspeaker really musical and tube friendly
      • Fun 17 with the Fun 17 we aim to give a mid range entry level loudspeaker really musical and tube friendly
    • Serie Tempesta We love horn speakers, this is our philosophy and here you find it: high end, high efficiency and fantastic speed
      • Tempesta 17 The Genuin FS 4.2 is the entry level of our Loudspeakers, gives you natural sound in compact form
      • Tempesta 17 Bookshelf Genuin FS 5: High End Bookshelf
      • Tempesta 20 The Genuin FS 3 is our best seller speaker, can fit in each room and has the efficiency to give you fantastic sound even with low power amplifiers
    • Serie Genuin The Serie Genuin comprises our horn speakers with bass reflex woofer: traditional setup for high efficiency and ease of positioning
      • Genuin FS 1 MK 2 The Genuin FS 1 has a 16" TAD woofer and an "in house developed" horn as tweeter, fantastic sound experience
      • Genuin FS 2 Genuin FS 2: Pure emotion and speed in an elegant design
      • Genuin FS 3 MK 2 The Genuin FS 3 is our best seller speaker, can fit in each room and has the efficiency to give you fantastic sound even with low power amplifiers
    • Serie Gioia
      • Gioia The Gran Gioia goes back to the roots of sound reproduction, high efficiency and horns to get the most out of each HiFi chain
      • Gran Gioia The Gran Gioia goes back to the roots of sound reproduction, high efficiency and horns to get the most out of each HiFi chain
    • R-D Products
      • Clara Luna The Clara Luna does not make compromises in technology and research to get the best sound you can wish
      • Wiki The Wiki is intended to bring the concept of 2-ways horn loudspeaker to its extreme
    • Home Cinema Components
      • Centers We love horn speakers, this is our philosophy and here you find it: high end, high efficiency and fantastic speed
        • Center 15 More information on the center speaker for the smallest main speakers
        • Center 17 More information on the center speaker for the 17cm loudspeakers
        • Center 20 More information on the center speaker for the Genuin FS 3
        • Center 25 More information on the center speaker for the Genuin FS 3
        • Genuin CS 2 - Twin More information on the center speaker for the Genuin FS 1
        • Clara Luna Center More information on the center speaker for the Clara Luna
      • Subwoofers We love horn speakers, this is our philosophy and here you find it: high end, high efficiency and fantastic speed
        • Sub 10 More information on the surround speaker for Genuin FS 3, Genuin FS 1, big Fun 20 and Clara Luna
        • Sub 15 More information on the surround speaker for Genuin FS 3, Genuin FS 1, big Fun 20 and Clara Luna
        • Sub 21 More information on the surround speaker for Genuin FS 3, Genuin FS 1, big Fun 20 and Clara Luna
      • Surround We love horn speakers, this is our philosophy and here you find it: high end, high efficiency and fantastic speed
        • Surround 13 More information on the surround speaker for Genuin FS 3, Genuin FS 1, big Fun 20 and Clara Luna
        • Surround 17 More information on the surround speaker for Genuin FS 3, Genuin FS 1, big Fun 20 and Clara Luna
        • Surround 20 More information on the surround speaker for Genuin FS 3, Genuin FS 1, big Fun 20 and Clara Luna
    • On Wall We love horn speakers, this is our philosophy and here you find it: high end, high efficiency and fantastic speed
      • On Wall 17 More information on the surround speaker for Genuin FS 3, Genuin FS 1, big Fun 20 and Clara Luna
      • On Wall 20 More information on the surround speaker for Genuin FS 3, Genuin FS 1, big Fun 20 and Clara Luna
    • Soundbar We love horn speakers, this is our philosophy and here you find it: high end, high efficiency and fantastic speed
    • CDs
    • Options Options to our speaker, Aris Feets and Bass Impedance correction
      • Impedance linearisation What does the bass impedance correction does to improve the quality of sound for difficult amplifiers
      • Veneer What does the bass impedance correction does to improve the quality of sound for difficult amplifiers
        • Standard Veneers What does the bass impedance correction does to improve the quality of sound for difficult amplifiers
        • Special Veneers What does the bass impedance correction does to improve the quality of sound for difficult amplifiers
        • Premium Veneers What does the bass impedance correction does to improve the quality of sound for difficult amplifiers
        • One Time Veneers What does the bass impedance correction does to improve the quality of sound for difficult amplifiers
  • Contact Do you want to speak with us? Here you can fill up the form to ask your questions