$1', // Formatting tags '$1', '$1', '$1', '$2', '$2', '$2', '', // Image '$1', // URL '$2', # "''.antispambot('\\1').''", // E-mail # '$2' ); #GreyMatter formatting search and replace arrays $b2_gmcode['in'] = array( '#\\*\*(.+?)\\*\*#is', // **bold** '#\\\\(.+?)\\\\#is', // \\italic\\ '#\__(.+?)\__#is' // __underline__ ); $b2_gmcode['out'] = array( '$1', '$1', '$1' ); #Translation of HTML entities and special characters $b2_htmltrans = array_flip(get_html_translation_table(HTML_ENTITIES)); $b2_htmltrans['<'] = '<'; # preserve HTML $b2_htmltrans['>'] = '>'; # preserve HTML $b2_htmltransbis = array( '' => '–', '' => '—', '' => '‘', '' => '’', '' => '“', '' => '”', '' => '•', '' => '€', '<' => '<', # preserve fake HTML '>' => '>', # preserve fake HTML '&sp;' => ' ', '!' => '!', '"' => '"', '#' => '#', '$' => '$', '%' => '%', '&' => '&', ''' => ''', '(' => '(', ')' => ')', '*' => '*', '+' => '+', ',' => ',', '‐' => '-', '−' => '-', '.' => '.', '/' => '/', ':' => ':', ';' => ';', '<' => '<', '=' => '=', '>' => '>', '?' => '?', '@' => '@', '[' => '[', '\' => '\', ']' => ']', 'ˆ' => '^', '_' => '_', '―' => '_', '`' => '`', '{' => '{', '|' => '|', '}' => '}', '˜' => '~', '‚' => '‚', '„' => '„', '&ldots;' => '…', 'Š' => 'Š', '‹' => '‹', 'Œ' => 'Œ', '‘' => '‘', '’' => '‘', '’' => '’', '“' => '“', '”' => '“', '”' => '”', '•' => '•', '–' => '–', '&endash;' => '–', '—' => '—', '&emdash;' => '—', '˜' => '˜', '™' => '™', 'š' => 'š', '›' => '›', 'œ' => 'œ', 'Ÿ' => 'Ÿ', ' ' => ' ', '¡' => '¡', '¢' => '¢', '£' => '£', '¤' => '¤', '¥' => '¥', '¦' => '¦', '&brkbar;' => '¦', '§' => '§', '¨' => '¨', '¨' => '¨', '©' => '©', 'ª' => 'ª', '«' => '«', '¬' => '¬', '­' => '­', '®' => '®', '¯' => '¯', '&hibar;' => '¯', '°' => '°', '±' => '±', '²' => '²', '³' => '³', '´' => '´', 'µ' => 'µ', '¶' => '¶', '·' => '·', '¸' => '¸', '¹' => '¹', 'º' => 'º', '»' => '»', '¼' => '¼', '½' => '½', '½' => '½', '¾' => '¾', '¿' => '¿', 'À' => 'À', 'Á' => 'Á', 'Â' => 'Â', 'Ã' => 'Ã', 'Ä' => 'Ä', 'Å' => 'Å', 'Æ' => 'Æ', 'Ç' => 'Ç', 'È' => 'È', 'É' => 'É', 'Ê' => 'Ê', 'Ë' => 'Ë', 'Ì' => 'Ì', 'Í' => 'Í', 'Î' => 'Î', 'Ï' => 'Ï', 'Ð' => 'Ð', 'Ñ' => 'Ñ', 'Ò' => 'Ò', 'Ó' => 'Ó', 'Ô' => 'Ô', 'Õ' => 'Õ', 'Ö' => 'Ö', '×' => '×', 'Ø' => 'Ø', 'Ù' => 'Ù', 'Ú' => 'Ú', 'Û' => 'Û', 'Ü' => 'Ü', 'Ý' => 'Ý', 'Þ' => 'Þ', 'ß' => 'ß', 'à' => 'à', 'á' => 'á', 'â' => 'â', 'ã' => 'ã', 'ä' => 'ä', 'å' => 'å', 'æ' => 'æ', 'ç' => 'ç', 'è' => 'è', 'é' => 'é', 'ê' => 'ê', 'ë' => 'ë', 'ì' => 'ì', 'í' => 'í', 'î' => 'î', 'ï' => 'ï', 'ð' => 'ð', 'ñ' => 'ñ', 'ò' => 'ò', 'ó' => 'ó', 'ô' => 'ô', 'õ' => 'õ', 'ö' => 'ö', '÷' => '÷', 'ø' => 'ø', 'ù' => 'ù', 'ú' => 'ú', 'û' => 'û', 'ü' => 'ü', 'ý' => 'ý', 'þ' => 'þ', 'ÿ' => 'ÿ', 'Œ' => 'Œ', 'œ' => 'œ', 'Š' => 'Š', 'š' => 'š', 'Ÿ' => 'Ÿ', 'ƒ' => 'ƒ', 'ˆ' => 'ˆ', '˜' => '˜', 'Α' => 'Α', 'Β' => 'Β', 'Γ' => 'Γ', 'Δ' => 'Δ', 'Ε' => 'Ε', 'Ζ' => 'Ζ', 'Η' => 'Η', 'Θ' => 'Θ', 'Ι' => 'Ι', 'Κ' => 'Κ', 'Λ' => 'Λ', 'Μ' => 'Μ', 'Ν' => 'Ν', 'Ξ' => 'Ξ', 'Ο' => 'Ο', 'Π' => 'Π', 'Ρ' => 'Ρ', 'Σ' => 'Σ', 'Τ' => 'Τ', 'Υ' => 'Υ', 'Φ' => 'Φ', 'Χ' => 'Χ', 'Ψ' => 'Ψ', 'Ω' => 'Ω', 'α' => 'α', 'β' => 'β', 'γ' => 'γ', 'δ' => 'δ', 'ε' => 'ε', 'ζ' => 'ζ', 'η' => 'η', 'θ' => 'θ', 'ι' => 'ι', 'κ' => 'κ', 'λ' => 'λ', 'μ' => 'μ', 'ν' => 'ν', 'ξ' => 'ξ', 'ο' => 'ο', 'π' => 'π', 'ρ' => 'ρ', 'ς' => 'ς', 'σ' => 'σ', 'τ' => 'τ', 'υ' => 'υ', 'φ' => 'φ', 'χ' => 'χ', 'ψ' => 'ψ', 'ω' => 'ω', 'ϑ' => 'ϑ', 'ϒ' => 'ϒ', 'ϖ' => 'ϖ', ' ' => ' ', ' ' => ' ', ' ' => ' ', '‌' => '‌', '‍' => '‍', '‎' => '‎', '‏' => '‏', '–' => '–', '—' => '—', '‘' => '‘', '’' => '’', '‚' => '‚', '“' => '“', '”' => '”', '„' => '„', '†' => '†', '‡' => '‡', '•' => '•', '…' => '…', '‰' => '‰', '′' => '′', '″' => '″', '‹' => '‹', '›' => '›', '‾' => '‾', '⁄' => '⁄', '€' => '€', 'ℑ' => 'ℑ', '℘' => '℘', 'ℜ' => 'ℜ', '™' => '™', 'ℵ' => 'ℵ', '←' => '←', '↑' => '↑', '→' => '→', '↓' => '↓', '↔' => '↔', '↵' => '↵', '⇐' => '⇐', '⇑' => '⇑', '⇒' => '⇒', '⇓' => '⇓', '⇔' => '⇔', '∀' => '∀', '∂' => '∂', '∃' => '∃', '∅' => '∅', '∇' => '∇', '∈' => '∈', '∉' => '∉', '∋' => '∋', '∏' => '∏', '∑' => '∑', '−' => '−', '∗' => '∗', '√' => '√', '∝' => '∝', '∞' => '∞', '∠' => '∠', '∧' => '∧', '∨' => '∨', '∩' => '∩', '∪' => '∪', '∫' => '∫', '∴' => '∴', '∼' => '∼', '≅' => '≅', '≈' => '≈', '≠' => '≠', '≡' => '≡', '≤' => '≤', '≥' => '≥', '⊂' => '⊂', '⊃' => '⊃', '⊄' => '⊄', '⊆' => '⊆', '⊇' => '⊇', '⊕' => '⊕', '⊗' => '⊗', '⊥' => '⊥', '⋅' => '⋅', '⌈' => '⌈', '⌉' => '⌉', '⌊' => '⌊', '⌋' => '⌋', '⟨' => '〈', '⟩' => '〉', '◊' => '◊', '♠' => '♠', '♣' => '♣', '♥' => '♥', '♦' => '♦' ); $b2_htmltrans = array_merge($b2_htmltrans,$b2_htmltransbis); #Translation of invalid Unicode references range to valid range $b2_htmltranswinuni = array( '€' => '€', // the Euro sign '' => '', '‚' => '‚', // these are Windows CP1252 specific characters 'ƒ' => 'ƒ', // they would look weird on non-Windows browsers '„' => '„', '…' => '…', '†' => '†', '‡' => '‡', 'ˆ' => 'ˆ', '‰' => '‰', 'Š' => 'Š', '‹' => '‹', 'Œ' => 'Œ', '' => '', 'Ž' => 'ž', '' => '', '' => '', '‘' => '‘', '’' => '’', '“' => '“', '”' => '”', '•' => '•', '–' => '–', '—' => '—', '˜' => '˜', '™' => '™', 'š' => 'š', '›' => '›', 'œ' => 'œ', '' => '', 'ž' => '', 'Ÿ' => 'Ÿ' ); # these are used for b2's interface design $tabletop = "\t\n\t\n\t
\n\t\t\n\t\t\n\t
\n"; $tablebottom = "\t\t
\n\t
\n"; $blankline = '
'; # on which page are we ? $PHP_SELF = $HTTP_SERVER_VARS['PHP_SELF']; $pagenow = explode('/', $PHP_SELF); $pagenow = trim($pagenow[(sizeof($pagenow)-1)]); $pagenow = explode('?', $pagenow); $pagenow = $pagenow[0]; if (($querystring_start == '/') && ($pagenow != 'b2edit.php')) { $pagenow = $siteurl.'/'.$blogfilename; } # browser detection $is_lynx = 0; $is_gecko = 0; $is_winIE = 0; $is_macIE = 0; $is_opera = 0; $is_NS4 = 0; if (!isset($HTTP_USER_AGENT)) { $HTTP_USER_AGENT = $HTTP_SERVER_VARS['HTTP_USER_AGENT']; } 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)); # browser-specific javascript corrections $b2_macIE_correction['in'] = array( '/\%uFFD4/', '/\%uFFD5/', '/\%uFFD2/', '/\%uFFD3/', '/\%uFFA5/', '/\%uFFD0/', '/\%uFFD1/', '/\%uFFBD/', '/\%uFF83%uFFC0/', '/\%uFF83%uFFC1/', '/\%uFF83%uFFC6/', '/\%uFF83%uFFC9/', '/\%uFFB9/', '/\%uFF81%uFF8C/', '/\%uFF81%uFF8D/', '/\%uFF81%uFFDA/', '/\%uFFDB/' ); $b2_macIE_correction['out'] = array( '‘', '’', '“', '”', '•', '–', '—', 'Ω', 'β', 'γ', 'θ', 'λ', 'π', '′', '″', '∠', '€' ); $b2_gecko_correction['in'] = array( '/\‘/', '/\’/', '/\“/', '/\”/', '/\•/', '/\–/', '/\—/', '/\Ω/', '/\β/', '/\γ/', '/\θ/', '/\λ/', '/\π/', '/\′/', '/\″/', '/\/', '/\€/', '/\ /' ); $b2_gecko_correction['out'] = array( '&8216;', '’', '“', '”', '•', '–', '—', 'Ω', 'β', 'γ', 'θ', 'λ', 'π', '′', '″', '∠', '€', ' ' ); # server detection $is_Apache = strstr($HTTP_SERVER_VARS['SERVER_SOFTWARE'], 'Apache') ? 1 : 0; $is_IIS = strstr($HTTP_SERVER_VARS['SERVER_SOFTWARE'], 'Microsoft-IIS') ? 1 : 0; # if the config file does not provide the smilies array, let's define it here if (!isset($b2smiliestrans)) { $b2smiliestrans = array( ':)' => 'icon_smile.gif', ':D' => 'icon_biggrin.gif', ':-D' => 'icon_biggrin.gif', ':grin:' => 'icon_biggrin.gif', ':)' => 'icon_smile.gif', ':-)' => 'icon_smile.gif', ':smile:' => 'icon_smile.gif', ':(' => 'icon_sad.gif', ':-(' => 'icon_sad.gif', ':sad:' => 'icon_sad.gif', ':o' => 'icon_surprised.gif', ':-o' => 'icon_surprised.gif', ':eek:' => 'icon_surprised.gif', '8O' => 'icon_eek.gif', '8-O' => 'icon_eek.gif', ':shock:' => 'icon_eek.gif', ':?' => 'icon_confused.gif', ':-?' => 'icon_confused.gif', ':???:' => 'icon_confused.gif', '8)' => 'icon_cool.gif', '8-)' => 'icon_cool.gif', ':cool:' => 'icon_cool.gif', ':lol:' => 'icon_lol.gif', ':x' => 'icon_mad.gif', ':-x' => 'icon_mad.gif', ':mad:' => 'icon_mad.gif', ':P' => 'icon_razz.gif', ':-P' => 'icon_razz.gif', ':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', ';)' => 'icon_wink.gif', ';-)' => 'icon_wink.gif', ':!:' => 'icon_exclaim.gif', ':?:' => 'icon_question.gif', ':idea:' => 'icon_idea.gif', ':arrow:' => 'icon_arrow.gif', ':|' => 'icon_neutral.gif', ':-|' => 'icon_neutral.gif', ':neutral:' => 'icon_neutral.gif', ':mrgreen:' => 'icon_mrgreen.gif', ); } # sorts the smilies' array if (!function_exists('smiliescmp')) { function smiliescmp ($a, $b) { if (strlen($a) == strlen($b)) { return strcmp($a, $b); } return (strlen($a) > strlen($b)) ? -1 : 1; } } uksort($b2smiliestrans, 'smiliescmp'); # generates smilies' search & replace arrays foreach($b2smiliestrans as $smiley => $img) { $b2_smiliessearch[] = $smiley; $smiley_masked = ''; for ($i = 0; $i < strlen($smiley); $i = $i + 1) { $smiley_masked .= substr($smiley, $i, 1).chr(160); } $b2_smiliesreplace[] = "$smiley_masked"; } add_filter('all', 'wptexturize'); add_filter('the_content', 'wpautop'); add_filter('comment_text', 'wpautop'); // Uncomment the following for Textile support //include_once('textile.php'); //add_filter('the_content', 'textile'); // There is some duplication of effort so textile.php really should be tweaked to eliminate that. ?>