2003-04-21 23:37:11 +02:00
|
|
|
|
<?php
|
|
|
|
|
|
2003-12-18 10:45:34 +01:00
|
|
|
|
/* This file sets various arrays and variables for use in WordPress */
|
2004-01-28 02:52:58 +01:00
|
|
|
|
require(ABSPATH . 'wp-includes/version.php');
|
2003-04-21 23:37:11 +02:00
|
|
|
|
|
2003-12-18 10:45:34 +01:00
|
|
|
|
# Translation of invalid Unicode references range to valid range
|
2003-12-18 10:36:13 +01:00
|
|
|
|
$wp_htmltranswinuni = array(
|
2003-04-21 23:37:11 +02:00
|
|
|
|
'€' => '€', // the Euro sign
|
|
|
|
|
'' => '',
|
|
|
|
|
'‚' => '‚', // these are Windows CP1252 specific characters
|
|
|
|
|
'ƒ' => 'ƒ', // they would look weird on non-Windows browsers
|
|
|
|
|
'„' => '„',
|
|
|
|
|
'…' => '…',
|
|
|
|
|
'†' => '†',
|
|
|
|
|
'‡' => '‡',
|
|
|
|
|
'ˆ' => 'ˆ',
|
|
|
|
|
'‰' => '‰',
|
|
|
|
|
'Š' => 'Š',
|
|
|
|
|
'‹' => '‹',
|
|
|
|
|
'Œ' => 'Œ',
|
|
|
|
|
'' => '',
|
|
|
|
|
'Ž' => 'ž',
|
|
|
|
|
'' => '',
|
|
|
|
|
'' => '',
|
|
|
|
|
'‘' => '‘',
|
|
|
|
|
'’' => '’',
|
|
|
|
|
'“' => '“',
|
|
|
|
|
'”' => '”',
|
|
|
|
|
'•' => '•',
|
|
|
|
|
'–' => '–',
|
|
|
|
|
'—' => '—',
|
|
|
|
|
'˜' => '˜',
|
|
|
|
|
'™' => '™',
|
|
|
|
|
'š' => 'š',
|
|
|
|
|
'›' => '›',
|
|
|
|
|
'œ' => 'œ',
|
|
|
|
|
'' => '',
|
|
|
|
|
'ž' => '',
|
|
|
|
|
'Ÿ' => 'Ÿ'
|
2004-09-15 10:16:58 +02:00
|
|
|
|
);
|
2003-04-21 23:37:11 +02:00
|
|
|
|
|
2004-04-15 21:08:51 +02:00
|
|
|
|
// On which page are we ?
|
|
|
|
|
$PHP_SELF = $_SERVER['PHP_SELF'];
|
2004-09-15 10:16:58 +02:00
|
|
|
|
if (preg_match('#([^/]+.php)#', $PHP_SELF, $self_matches)) {
|
|
|
|
|
$pagenow = $self_matches[1];
|
2004-10-09 04:00:34 +02:00
|
|
|
|
} else if (strstr($PHP_SELF, '?')) {
|
2004-09-15 10:16:58 +02:00
|
|
|
|
$pagenow = explode('/', $PHP_SELF);
|
|
|
|
|
$pagenow = trim($pagenow[(sizeof($pagenow)-1)]);
|
|
|
|
|
$pagenow = explode('?', $pagenow);
|
|
|
|
|
$pagenow = $pagenow[0];
|
|
|
|
|
if (($querystring_start == '/') && ($pagenow != 'post.php')) {
|
|
|
|
|
$pagenow = get_settings('siteurl') . '/' . get_settings('blogfilename');
|
|
|
|
|
}
|
2004-10-09 04:00:34 +02:00
|
|
|
|
} else {
|
|
|
|
|
$pagenow = 'index.php';
|
2003-04-21 23:37:11 +02:00
|
|
|
|
}
|
|
|
|
|
|
2004-04-15 21:08:51 +02:00
|
|
|
|
// Simple browser detection
|
2003-04-21 23:37:11 +02:00
|
|
|
|
$is_lynx = 0; $is_gecko = 0; $is_winIE = 0; $is_macIE = 0; $is_opera = 0; $is_NS4 = 0;
|
|
|
|
|
if (!isset($HTTP_USER_AGENT)) {
|
2004-04-21 00:56:47 +02:00
|
|
|
|
$HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT'];
|
2003-04-21 23:37:11 +02:00
|
|
|
|
}
|
|
|
|
|
if (preg_match('/Lynx/', $HTTP_USER_AGENT)) {
|
|
|
|
|
$is_lynx = 1;
|
|
|
|
|
} elseif (preg_match('/Gecko/', $HTTP_USER_AGENT)) {
|
|
|
|
|
$is_gecko = 1;
|
|
|
|
|
} elseif ((preg_match('/MSIE/', $HTTP_USER_AGENT)) && (preg_match('/Win/', $HTTP_USER_AGENT))) {
|
|
|
|
|
$is_winIE = 1;
|
|
|
|
|
} elseif ((preg_match('/MSIE/', $HTTP_USER_AGENT)) && (preg_match('/Mac/', $HTTP_USER_AGENT))) {
|
|
|
|
|
$is_macIE = 1;
|
|
|
|
|
} elseif (preg_match('/Opera/', $HTTP_USER_AGENT)) {
|
|
|
|
|
$is_opera = 1;
|
|
|
|
|
} elseif ((preg_match('/Nav/', $HTTP_USER_AGENT) ) || (preg_match('/Mozilla\/4\./', $HTTP_USER_AGENT))) {
|
|
|
|
|
$is_NS4 = 1;
|
|
|
|
|
}
|
|
|
|
|
$is_IE = (($is_macIE) || ($is_winIE));
|
|
|
|
|
|
2004-04-15 21:08:51 +02:00
|
|
|
|
// browser-specific javascript corrections
|
2003-12-18 10:36:13 +01:00
|
|
|
|
$wp_macIE_correction['in'] = array(
|
2003-04-21 23:37:11 +02:00
|
|
|
|
'/\%uFFD4/', '/\%uFFD5/', '/\%uFFD2/', '/\%uFFD3/',
|
|
|
|
|
'/\%uFFA5/', '/\%uFFD0/', '/\%uFFD1/', '/\%uFFBD/',
|
|
|
|
|
'/\%uFF83%uFFC0/', '/\%uFF83%uFFC1/', '/\%uFF83%uFFC6/', '/\%uFF83%uFFC9/',
|
|
|
|
|
'/\%uFFB9/', '/\%uFF81%uFF8C/', '/\%uFF81%uFF8D/', '/\%uFF81%uFFDA/',
|
|
|
|
|
'/\%uFFDB/'
|
|
|
|
|
);
|
2003-12-18 10:36:13 +01:00
|
|
|
|
$wp_macIE_correction['out'] = array(
|
2003-04-21 23:37:11 +02:00
|
|
|
|
'‘', '’', '“', '”',
|
|
|
|
|
'•', '–', '—', 'Ω',
|
|
|
|
|
'β', 'γ', 'θ', 'λ',
|
|
|
|
|
'π', '′', '″', '∠',
|
|
|
|
|
'€'
|
|
|
|
|
);
|
2003-12-18 10:36:13 +01:00
|
|
|
|
$wp_gecko_correction['in'] = array(
|
2003-04-21 23:37:11 +02:00
|
|
|
|
'/\‘/', '/\’/', '/\“/', '/\”/',
|
|
|
|
|
'/\•/', '/\–/', '/\—/', '/\Ω/',
|
|
|
|
|
'/\β/', '/\γ/', '/\θ/', '/\λ/',
|
2004-12-16 03:57:05 +01:00
|
|
|
|
'/\π/', '/\′/', '/\″/', '/\/',
|
2003-04-21 23:37:11 +02:00
|
|
|
|
'/\€/', '/\ /'
|
|
|
|
|
);
|
2003-12-18 10:36:13 +01:00
|
|
|
|
$wp_gecko_correction['out'] = array(
|
2003-04-21 23:37:11 +02:00
|
|
|
|
'&8216;', '’', '“', '”',
|
|
|
|
|
'•', '–', '—', 'Ω',
|
|
|
|
|
'β', 'γ', 'θ', 'λ',
|
|
|
|
|
'π', '′', '″', '∠',
|
|
|
|
|
'€', ' '
|
|
|
|
|
);
|
|
|
|
|
|
2004-04-15 21:08:51 +02:00
|
|
|
|
// Server detection
|
2004-04-21 00:56:47 +02:00
|
|
|
|
$is_apache = strstr($_SERVER['SERVER_SOFTWARE'], 'Apache') ? 1 : 0;
|
2003-04-21 23:37:11 +02:00
|
|
|
|
|
2004-04-15 21:08:51 +02:00
|
|
|
|
// if the config file does not provide the smilies array, let's define it here
|
2003-12-18 10:36:13 +01:00
|
|
|
|
if (!isset($wpsmiliestrans)) {
|
|
|
|
|
$wpsmiliestrans = array(
|
2003-10-30 01:46:19 +01:00
|
|
|
|
' :)' => 'icon_smile.gif',
|
|
|
|
|
' :D' => 'icon_biggrin.gif',
|
|
|
|
|
' :-D' => 'icon_biggrin.gif',
|
2003-06-13 00:46:04 +02:00
|
|
|
|
':grin:' => 'icon_biggrin.gif',
|
2003-10-30 01:46:19 +01:00
|
|
|
|
' :)' => 'icon_smile.gif',
|
|
|
|
|
' :-)' => 'icon_smile.gif',
|
2003-06-13 00:46:04 +02:00
|
|
|
|
':smile:' => 'icon_smile.gif',
|
2003-10-30 01:46:19 +01:00
|
|
|
|
' :(' => 'icon_sad.gif',
|
|
|
|
|
' :-(' => 'icon_sad.gif',
|
2003-06-13 00:46:04 +02:00
|
|
|
|
':sad:' => 'icon_sad.gif',
|
2003-10-30 01:46:19 +01:00
|
|
|
|
' :o' => 'icon_surprised.gif',
|
|
|
|
|
' :-o' => 'icon_surprised.gif',
|
2003-06-13 00:46:04 +02:00
|
|
|
|
':eek:' => 'icon_surprised.gif',
|
2003-10-30 01:46:19 +01:00
|
|
|
|
' 8O' => 'icon_eek.gif',
|
|
|
|
|
' 8-O' => 'icon_eek.gif',
|
2003-06-13 00:46:04 +02:00
|
|
|
|
':shock:' => 'icon_eek.gif',
|
2003-10-30 01:46:19 +01:00
|
|
|
|
' :?' => 'icon_confused.gif',
|
|
|
|
|
' :-?' => 'icon_confused.gif',
|
|
|
|
|
' :???:' => 'icon_confused.gif',
|
|
|
|
|
' 8)' => 'icon_cool.gif',
|
|
|
|
|
' 8-)' => 'icon_cool.gif',
|
2003-06-13 00:46:04 +02:00
|
|
|
|
':cool:' => 'icon_cool.gif',
|
|
|
|
|
':lol:' => 'icon_lol.gif',
|
2003-10-30 01:46:19 +01:00
|
|
|
|
' :x' => 'icon_mad.gif',
|
|
|
|
|
' :-x' => 'icon_mad.gif',
|
2003-06-13 00:46:04 +02:00
|
|
|
|
':mad:' => 'icon_mad.gif',
|
2003-10-30 01:46:19 +01:00
|
|
|
|
' :P' => 'icon_razz.gif',
|
|
|
|
|
' :-P' => 'icon_razz.gif',
|
2003-06-13 00:46:04 +02:00
|
|
|
|
':razz:' => 'icon_razz.gif',
|
|
|
|
|
':oops:' => 'icon_redface.gif',
|
|
|
|
|
':cry:' => 'icon_cry.gif',
|
|
|
|
|
':evil:' => 'icon_evil.gif',
|
|
|
|
|
':twisted:' => 'icon_twisted.gif',
|
|
|
|
|
':roll:' => 'icon_rolleyes.gif',
|
|
|
|
|
':wink:' => 'icon_wink.gif',
|
2003-10-30 01:46:19 +01:00
|
|
|
|
' ;)' => 'icon_wink.gif',
|
|
|
|
|
' ;-)' => 'icon_wink.gif',
|
2003-06-13 00:46:04 +02:00
|
|
|
|
':!:' => 'icon_exclaim.gif',
|
|
|
|
|
':?:' => 'icon_question.gif',
|
|
|
|
|
':idea:' => 'icon_idea.gif',
|
|
|
|
|
':arrow:' => 'icon_arrow.gif',
|
2003-10-30 01:46:19 +01:00
|
|
|
|
' :|' => 'icon_neutral.gif',
|
|
|
|
|
' :-|' => 'icon_neutral.gif',
|
2003-06-13 00:46:04 +02:00
|
|
|
|
':neutral:' => 'icon_neutral.gif',
|
|
|
|
|
':mrgreen:' => 'icon_mrgreen.gif',
|
|
|
|
|
);
|
2003-04-21 23:37:11 +02:00
|
|
|
|
}
|
|
|
|
|
|
2004-04-15 21:08:51 +02:00
|
|
|
|
// sorts the smilies' array
|
2003-04-21 23:37:11 +02:00
|
|
|
|
if (!function_exists('smiliescmp')) {
|
|
|
|
|
function smiliescmp ($a, $b) {
|
|
|
|
|
if (strlen($a) == strlen($b)) {
|
|
|
|
|
return strcmp($a, $b);
|
|
|
|
|
}
|
|
|
|
|
return (strlen($a) > strlen($b)) ? -1 : 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
2003-12-18 10:36:13 +01:00
|
|
|
|
uksort($wpsmiliestrans, 'smiliescmp');
|
2003-04-21 23:37:11 +02:00
|
|
|
|
|
2004-04-15 21:08:51 +02:00
|
|
|
|
// generates smilies' search & replace arrays
|
2003-12-18 10:36:13 +01:00
|
|
|
|
foreach($wpsmiliestrans as $smiley => $img) {
|
|
|
|
|
$wp_smiliessearch[] = $smiley;
|
2004-11-28 20:16:14 +01:00
|
|
|
|
$smiley_masked = htmlspecialchars( trim($smiley) , ENT_QUOTES);
|
|
|
|
|
$wp_smiliesreplace[] = " <img src='" . get_settings('siteurl') . "/wp-images/smilies/$img' alt='$smiley_masked' class='wp-smiley' /> ";
|
2003-04-21 23:37:11 +02:00
|
|
|
|
}
|
|
|
|
|
|
2004-05-08 01:21:31 +02:00
|
|
|
|
// Path for cookies
|
2004-06-11 21:34:26 +02:00
|
|
|
|
define('COOKIEPATH', preg_replace('|https?://[^/]+|i', '', get_settings('home') . '/' ) );
|
2003-12-23 21:51:04 +01:00
|
|
|
|
|
|
|
|
|
// Some default filters
|
2004-12-12 21:41:19 +01:00
|
|
|
|
add_filter('bloginfo','wp_specialchars');
|
2004-04-22 17:58:13 +02:00
|
|
|
|
add_filter('category_description', 'wptexturize');
|
|
|
|
|
add_filter('list_cats', 'wptexturize');
|
|
|
|
|
add_filter('comment_author', 'wptexturize');
|
|
|
|
|
add_filter('comment_text', 'wptexturize');
|
|
|
|
|
add_filter('single_post_title', 'wptexturize');
|
|
|
|
|
add_filter('the_title', 'wptexturize');
|
|
|
|
|
add_filter('the_content', 'wptexturize');
|
|
|
|
|
add_filter('the_excerpt', 'wptexturize');
|
2004-12-14 10:10:34 +01:00
|
|
|
|
add_filter('bloginfo', 'wptexturize');
|
|
|
|
|
|
2004-12-16 03:57:05 +01:00
|
|
|
|
// Comments, trackbacks, pingbacks
|
|
|
|
|
add_filter('pre_comment_author_name', 'strip_tags');
|
|
|
|
|
add_filter('pre_comment_author_name', 'trim');
|
|
|
|
|
add_filter('pre_comment_author_name', 'wp_specialchars', 30);
|
|
|
|
|
|
|
|
|
|
add_filter('pre_comment_author_email', 'trim');
|
|
|
|
|
add_filter('pre_comment_author_email', 'sanitize_email');
|
|
|
|
|
|
|
|
|
|
add_filter('pre_comment_author_url', 'strip_tags');
|
|
|
|
|
add_filter('pre_comment_author_url', 'trim');
|
|
|
|
|
add_filter('pre_comment_author_url', 'clean_url');
|
|
|
|
|
|
|
|
|
|
add_filter('pre_comment_content', 'wp_filter_kses');
|
|
|
|
|
add_filter('pre_comment_content', 'format_to_post');
|
|
|
|
|
add_filter('pre_comment_content', 'balanceTags', 30);
|
|
|
|
|
|
|
|
|
|
// Default filters for these functions
|
|
|
|
|
add_filter('comment_author', 'wptexturize');
|
|
|
|
|
add_filter('comment_author', 'convert_chars');
|
2004-12-16 04:08:07 +01:00
|
|
|
|
add_filter('comment_author', 'wp_specialchars');
|
2004-12-16 03:57:05 +01:00
|
|
|
|
|
|
|
|
|
add_filter('comment_email', 'antispambot');
|
|
|
|
|
|
|
|
|
|
add_filter('comment_url', 'clean_url');
|
|
|
|
|
|
|
|
|
|
add_filter('comment_text', 'convert_chars');
|
|
|
|
|
add_filter('comment_text', 'make_clickable');
|
|
|
|
|
add_filter('comment_text', 'wpautop', 30);
|
|
|
|
|
add_filter('comment_text', 'convert_smilies', 20);
|
|
|
|
|
|
2004-12-16 04:08:07 +01:00
|
|
|
|
add_filter('comment_text_rss', 'htmlspecialchars');
|
|
|
|
|
|
2004-12-16 03:57:05 +01:00
|
|
|
|
add_filter('comment_excerpt', 'convert_chars');
|
|
|
|
|
|
|
|
|
|
// Places to balance tags on input
|
|
|
|
|
add_filter('content_save_pre', 'balanceTags', 50);
|
|
|
|
|
add_filter('excerpt_save_pre', 'balanceTags', 50);
|
|
|
|
|
add_filter('comment_save_pre', 'balanceTags', 50);
|
|
|
|
|
|
2004-12-14 10:10:34 +01:00
|
|
|
|
?>
|