function encode_email($email, $text = "") { global $REX; if (empty($text)) { $text = $email; } $encoded = ''; $javascriptmethod = $REX['ADDON']['email_obfuscator']['settings']['javascriptmethod']; $nojavascriptmethod = $REX['ADDON']['email_obfuscator']['settings']['nojavascriptmethod']; if ($javascriptmethod) { // javascript version $encoded_mail_tag = str_rot13('<a href=\\"mailto:' . $email . '\\">' . $text . '</a>'); $encoded = "<script type=\"text/javascript\">"; $encoded .= "/* <![CDATA[ */"; $encoded .= "document.write(\"" . $encoded_mail_tag . "\".replace(/[a-zA-Z]/g, function(c){return String.fromCharCode((c<=\"Z\"?90:122)>=(c=c.charCodeAt(0)+13)?c:c-26);}));"; $encoded .= "/* ]]> */"; $encoded .= "</script>"; } // for users who have javascript disabled $exploded_email = explode("@", $email); if ($javascriptmethod && !$nojavascriptmethod) { if (isset($REX['ADDON']['email_obfuscator']['settings']['noscript_msg_string_table_key']) && $REX['ADDON']['email_obfuscator']['settings']['noscript_msg_string_table_key'] != '' && class_exists('rex_string_table')) { $noscriptMsg = rex_string_table::getString($REX['ADDON']['email_obfuscator']['settings']['noscript_msg_string_table_key']); } else { if (isset($REX['ADDON']['email_obfuscator']['settings']['noscript_msg'])) { $noscriptMsg = $REX['ADDON']['email_obfuscator']['settings']['noscript_msg']; } else { // fallback for older versions $noscriptMsg = 'Bitte JavaScript aktivieren um die Email-Adresse sichtbar zu machen! / Please activate JavaScript to see email address!'; } } // HTML5 $encoded .= '<noscript><em>>>> ' . $noscriptMsg . ' <<<</em></noscript>'; } else { if ($javascriptmethod && $nojavascriptmethod) { // HTML5 $encoded .= '<noscript>'; } // make cryptic strings $string_snippet = strtolower(str_rot13(preg_replace("/[^a-zA-Z]/", "", $email))); $cryptValues = str_split($string_snippet, 5); if ($nojavascriptmethod) { $encoded .= "<span class=\"hide\">" . $cryptValues[0] . "</span>" . $exploded_email[0] . "<span class=\"hide\">" . strrev($cryptValues[0]) . "</span>[at]<span class=\"hide\">" . $cryptValues[0] . "</span>" . $exploded_email[1]; } if ($javascriptmethod && $nojavascriptmethod) { // HTML5 $encoded .= '</noscript>'; } } return $encoded; }
public static function init() { global $REX; self::$curClang = $REX['CUR_CLANG']; $sql = new rex_sql(); $sql->setQuery('SELECT * FROM ' . $REX['TABLE_PREFIX'] . 'string_table'); foreach ($REX['CLANG'] as $clangId => $clangName) { for ($i = 0; $i < $sql->getRows(); $i++) { $key = $sql->getValue('keyname'); $value = nl2br($sql->getValue('value_' . $clangId)); self::$stringTable[$clangId][$key] = $value; self::$stringTableKeys[$clangId][] = $REX['ADDON']['string_table']['settings']['key_start_token'] . $key . $REX['ADDON']['string_table']['settings']['key_end_token']; self::$stringTableValues[$clangId][] = $value; $sql->next(); } $sql->reset(); } }
public static function getStringLine($key, $breaksEnabled = true) { $md = rex_string_table::getString($key); return self::getHtmlLine($md, $breaksEnabled); }
function rex_getString($key, $fillEmpty = true, $clang = -1) { return rex_string_table::getString($key, $fillEmpty, $clang); }
rex_register_extension('REX_FORM_CONTROL_FIElDS', function ($params) { $params['subject']['delete'] = null; return $params['subject']; }); } $legend = $I18N->msg('add'); if ($func == 'edit') { $legend = $I18N->msg('edit'); } $form = rex_form::factory($REX['TABLE_PREFIX'] . 'string_table', $I18N->msg('string_table_string') . ' ' . $legend, 'id=' . $id, 'post', false, 'rex_form_extended'); //$form->debug = true; $form->addParam('clang', $clang); if ($func == 'edit') { $form->addParam('id', $id); } elseif ($func == 'add') { $form->addHiddenField('priority', rex_string_table::getKeyCount() + 1); } // key if ($REX['USER'] && $REX['USER']->isAdmin()) { $field =& $form->addTextField('keyname'); } else { $field =& $form->addReadOnlyField('keyname'); } $field->setLabel($I18N->msg('string_table_keyname')); // value $field =& $form->addTextareaField('value_' . $clang); $field->setLabel($I18N->msg('string_table_value')); // used for maintaining view when switching langs if (!rex_request('current_query', 'string')) { $form->addParam('current_query', rex_string_table_utils::getURLQuery($REX['CUR_CLANG'])); }