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>&gt;&gt;&gt; ' . $noscriptMsg . ' &lt;&lt;&lt;</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();
     }
 }
Пример #3
0
 public static function getStringLine($key, $breaksEnabled = true)
 {
     $md = rex_string_table::getString($key);
     return self::getHtmlLine($md, $breaksEnabled);
 }
Пример #4
0
function rex_getString($key, $fillEmpty = true, $clang = -1)
{
    return rex_string_table::getString($key, $fillEmpty, $clang);
}
Пример #5
0
     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']));
 }