', $test)) { $check = strtolower(substr($test, strpos($test, '<') + 1, strpos($test, '>') - strpos($test, '<') - 1)); $check = str_replace('/', '', $check); if (!in_array($check, $GLOBALS['html_tags'])) { // Invalid tag found! return ""; } $test = substr($test, strpos($test, '>') + 1); } // Return tested code return $html; } // function NL_INSERT_URLS ($text) { $test = $text; // First replace URLs... while (ereg('http://', $test)) { $check = substr($test, strpos($test, 'http://')); $check2 = $check; // See ext-html.php if you want to add more URL ends... foreach ($GLOBALS['url_ends'] as $end) { if (ereg($end, $check)) $check = substr($check, 0, strpos($check, $end)); } // END - foreach // Now replace the URL against anchor container and pray... $text = substr($text, 0, strpos($text, $check2)) . DEREFERER($check) . substr($text, strpos($text, $check2) + strlen($check)); // Finally remove the url from testing string (or we have a loop and maybe server overload!) $test = substr($test, strpos($test, $check) + strlen($check)); } // END - while // Now do the (nearly) same thing with email addresses // but now we have the problem that email addresses didn't have // a start mark like http:// and our templates are lame didn't have // a mailto: ... :-( $test = $text; // ... what will the email address be out the @... ;-) $PARTS = array(); while (ereg('@', $test)) { $pos = strpos($test, '@'); $test2 = substr($test, 0, $pos); // First check backwards $idx = $pos - 1; while ($idx > 0) { $check = substr($test2, $idx, 1); if (!in_array($check, $GLOBALS['valid_email_chars'])) { // Char found so we end here break; } $idx--; } if ($idx > 0) { // Starting mark is found $check2 = substr($test, 0, ($idx + 1)); $test = substr($test, ($idx + 1)); } // And now go forward... $idx = 0; while ($idx < strlen($test)) { $check = substr($test, $idx, 1); if ((!in_array($check, $GLOBALS['valid_email_chars'])) && ($check != '@')) { // Char found so end here again break; } $idx++; } if ($idx > 0) { // Maybe this is the email address? $check = substr($test, 0, $idx); } // Now replace the email against anchor with mailto and pray... $PARTS[] = $check2 . $check; // Remove email from testing string (see above why...) $test = substr($test, strlen($check)); } // Now put all parts together $text = ''; $PARTS[] = $test; foreach ($PARTS as $part) { $text .= $part; } // Compile possible own HTML tags out... return COMPILE_CODE($text); } // function SEND_NEWSLETTER ($to, $subject, $message, $mode) { // Send mail away as HTML if (REQUEST_POST('auto_urls') == 'Y') { // Automatically insert URLs into newsletter if ((EXT_IS_ACTIVE('html_mail')) && ($mode == 'html')) { // Send HTML mail sendEmail($to, $subject, HTML_INSERT_URLS($message), 'Y'); } else { // Send normal mail sendEmail($to, $subject, NL_INSERT_URLS($message), 'N'); } } else { // Regular send-out if ((EXT_IS_ACTIVE('html_mail')) && ($mode == 'html')) { sendEmail($to, $subject, $message, 'Y'); } else { sendEmail($to, $subject, $message, 'N'); } } } // ?>