Subversion Repositories php_antispam

Rev

Rev 5 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5 Rev 6
Line 10... Line 10...
10
 
10
 
11
// ========================================================================
11
// ========================================================================
12
 
12
 
13
// SOURCE: SIGMA 3.0 ANTISPAM FILTER
13
// SOURCE: SIGMA 3.0 ANTISPAM FILTER
14
 
14
 
15
function secure_email_triv($email)
-
 
16
{
-
 
17
        if (!function_exists('alas_js_crypt'))
-
 
18
        {
-
 
19
                function alas_js_crypt($text)
15
function alas_js_crypt($text)
20
                {
16
{
21
                        $tmp = '';
17
        $tmp = '';
22
                        for ($i=0; $i<strlen($text); $i++)
18
        for ($i=0; $i<strlen($text); $i++)
23
                        {
19
        {
24
                                $tmp .= 'document.write("&#'.ord(substr($text, $i, 1)).';");';
20
                $tmp .= 'document.write("&#'.ord(substr($text, $i, 1)).';");';
25
                        }
21
        }
26
                        return $tmp;
22
        return $tmp;
27
                }
23
}
28
        }
-
 
29
 
24
 
-
 
25
function secure_email_triv($email)
-
 
26
{
30
        $aus = '';
27
        $aus = '';
31
        if ($email != '')
28
        if ($email != '')
32
        {
29
        {
33
                $aus .= '<script language="JavaScript" type="text/javascript"><!--'."\n";
30
                $aus .= '<script language="JavaScript" type="text/javascript"><!--'."\n";
34
                $aus .= alas_js_crypt($email);
31
                $aus .= alas_js_crypt($email);
Line 83... Line 80...
83
                        return $complete;
80
                        return $complete;
84
                }
81
                }
85
        }
82
        }
86
}
83
}
87
 
84
 
88
function link_cb_2($a) {
-
 
89
        $mailaddr = $a[1]; // Letztes
-
 
90
 
-
 
91
        if (CFG_MAKE_MAIL_ADDRESSES_CLICKABLE) {
-
 
92
                return secure_email($mailaddr, $mailaddr, true, CFG_DEFAULT_CLASS);
-
 
93
        } else {
-
 
94
                return secure_email_triv($mailaddr);
-
 
95
        }
-
 
96
}
-
 
97
 
-
 
98
function protect_mail_address_urls($content, $correct_missing_mailto = true) {
85
function protect_mail_address_urls($content, $correct_missing_mailto = true) {
99
        $t = new MailLinkProtector;
86
        $t = new MailLinkProtector;
100
        $t->correct_missing_mailto = $correct_missing_mailto;
87
        $t->correct_missing_mailto = $correct_missing_mailto;
101
        return $t->process($content);
88
        return $t->process($content);
102
}
89
}
Line 120... Line 107...
120
        // als Teil der Adresse angesehen werden. Die Liste ist länger als $addr_spec eigentlich benötigt (z.B. schließt $addr_spec
107
        // als Teil der Adresse angesehen werden. Die Liste ist länger als $addr_spec eigentlich benötigt (z.B. schließt $addr_spec
121
        // einen Punkt am Ende automatisch aus). Aber sicher ist sicher.
108
        // einen Punkt am Ende automatisch aus). Aber sicher ist sicher.
122
        $exclude_mail_chars_beginning = '\^°!"§$%&/()=\?´`}\]\[{\+*~\'#-_\.:,;';
109
        $exclude_mail_chars_beginning = '\^°!"§$%&/()=\?´`}\]\[{\+*~\'#-_\.:,;';
123
        $exclude_mail_chars_ending = $exclude_mail_chars_beginning;
110
        $exclude_mail_chars_ending = $exclude_mail_chars_beginning;
124
 
111
 
125
        $content = preg_replace_callback("@(?![$exclude_mail_chars_beginning])($addr_spec)(?<![$exclude_mail_chars_ending])@sm", 'link_cb_2', $content);
112
        $content = preg_replace_callback("@(?![$exclude_mail_chars_beginning])($addr_spec)(?<![$exclude_mail_chars_ending])@sm", function($a) {
-
 
113
                $mailaddr = $a[1]; // Letztes
-
 
114
 
-
 
115
                if (CFG_MAKE_MAIL_ADDRESSES_CLICKABLE) {
-
 
116
                        return secure_email($mailaddr, $mailaddr, true, CFG_DEFAULT_CLASS);
-
 
117
                } else {
-
 
118
                        return secure_email_triv($mailaddr);
-
 
119
                }
-
 
120
        }, $content);
126
 
121
 
127
        // Output
122
        // Output
128
 
123
 
129
        return $content;
124
        return $content;
130
}
125
}