# HG changeset patch # User Dan # Date 1184053099 14400 # Node ID 7c4a851fb5c58ea2c10726db2194d00163dc8a10 # Parent 8f532d8ab5f57c393ed76360357b0b0f527f60e3 Minor IE4 compatibility fix; template parser now properly handles external links in the sidebar diff -r 8f532d8ab5f5 -r 7c4a851fb5c5 includes/clientside/static/enano-lib-basic.js --- a/includes/clientside/static/enano-lib-basic.js Tue Jul 10 00:40:52 2007 -0400 +++ b/includes/clientside/static/enano-lib-basic.js Tue Jul 10 03:38:19 2007 -0400 @@ -275,11 +275,11 @@ { if ( typeof ( func ) == 'function' ) { - try + if ( typeof(onload_hooks.push) == 'function' ) { onload_hooks.push(func); } - catch(e) + else { onload_hooks[onload_hooks.length] = func; } diff -r 8f532d8ab5f5 -r 7c4a851fb5c5 includes/template.php --- a/includes/template.php Tue Jul 10 00:40:52 2007 -0400 +++ b/includes/template.php Tue Jul 10 03:38:19 2007 -0400 @@ -1125,7 +1125,7 @@ for($i=0;$iassign_vars(Array( + $text_parser->assign_vars(Array( 'HREF' => $href, 'FLAGS' => '', 'TEXT' => $il[1][$i] @@ -1146,8 +1146,32 @@ } // External links - $message = preg_replace('#\[(http|ftp|irc):\/\/([a-z0-9\/:_\.\?&%\#@_\\\\-]+?)\\ ([^\]]+)]#', '\\3
', $message); - $message = preg_replace('#\[(http|ftp|irc):\/\/([a-z0-9\/:_\.\?&%\#@_\\\\-]+?)\\]#', '\\1://\\2
', $message); + // $message = preg_replace('#\[(http|ftp|irc):\/\/([a-z0-9\/:_\.\?&%\#@_\\\\-]+?) ([^\]]+)\\]#', '\\3
', $message); + // $message = preg_replace('#\[(http|ftp|irc):\/\/([a-z0-9\/:_\.\?&%\#@_\\\\-]+?)\\]#', '\\1://\\2
', $message); + + preg_match_all('#\[(http|ftp|irc):\/\/([a-z0-9\/:_\.\?&%\#@_\\\\-]+?)\\ ([^\]]+)]#', $message, $ext_link); + + for ( $i = 0; $i < count($ext_link[0]); $i++ ) + { + $text_parser->assign_vars(Array( + 'HREF' => "{$ext_link[1][$i]}://{$ext_link[2][$i]}", + 'FLAGS' => '', + 'TEXT' => $ext_link[3][$i] + )); + $message = str_replace($ext_link[0][$i], $text_parser->run(), $message); + } + + preg_match_all('#\[(http|ftp|irc):\/\/([a-z0-9\/:_\.\?&%\#@_\\\\-]+?)\\]#', $message, $ext_link); + + for ( $i = 0; $i < count($ext_link[0]); $i++ ) + { + $text_parser->assign_vars(Array( + 'HREF' => "{$ext_link[1][$i]}://{$ext_link[2][$i]}", + 'FLAGS' => '', + 'TEXT' => htmlspecialchars("{$ext_link[1][$i]}://{$ext_link[2][$i]}") + )); + $message = str_replace($ext_link[0][$i], $text_parser->run(), $message); + } $parser1 = $this->makeParserText($tplvars['sidebar_section']); $parser2 = $this->makeParserText($tplvars['sidebar_section_raw']);