Index: config_defaults_inc.php =================================================================== RCS file: /var/lib/cvs/mantis/config_defaults_inc.php,v retrieving revision 1.4 diff -u -r1.4 config_defaults_inc.php --- config_defaults_inc.php 22 Sep 2005 01:58:38 -0000 1.4 +++ config_defaults_inc.php 22 Sep 2005 05:52:14 -0000 @@ -1053,6 +1053,11 @@ # insert the URL to your CVSweb or ViewCVS # eg: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/mantisbt/mantisbt/ $g_cvs_web = ''; + + # --- Wiki linking --------------- + # insert the base URL to a (your?) Wiki here + # eg: http://en.wikipedia.org/wiki/ + $g_wiki_link_url = ''; # --- Source Control Integration ------ Index: core/string_api.php =================================================================== RCS file: /var/lib/cvs/mantis/core/string_api.php,v retrieving revision 1.5 diff -u -r1.5 string_api.php --- core/string_api.php 22 Sep 2005 05:31:23 -0000 1.5 +++ core/string_api.php 22 Sep 2005 05:45:46 -0000 @@ -101,6 +101,7 @@ $p_string = string_process_bug_link( $p_string ); $p_string = string_process_bugnote_link( $p_string ); $p_string = string_process_cvs_link( $p_string ); + $p_string = string_process_wiki_link($p_string); return $p_string; } @@ -143,7 +144,7 @@ $p_string = string_process_bug_link( $p_string, false ); $p_string = string_process_bugnote_link( $p_string, false ); $p_string = string_process_cvs_link( $p_string, false ); - + $p_string = string_process_wiki_link($p_string, false); return $p_string; } @@ -192,6 +193,29 @@ $p_string ); } + # Process the string, returning full HTML links to a wiki, if configured. + function string_process_wiki_link($string, $fullHTML = true) { + if (!config_get('wiki_link_url')) return $string; + if ($fullHTML) return preg_replace_callback('/\[\[(([^\]]*?))\]\]/', 'string_process_wiki_link_callback_fullhtml', $string); + return preg_replace_callback('/\[\[(([^\]]*?))\]\]/', 'string_process_wiki_link_callback_nohtml', $string); + } + + # -------------------- + # Subsitution callback for the regexp in string_process_wiki_link(); HTML version. + function string_process_wiki_link_callback_fullhtml($words) { + $p_url_text = $words[2]; + $p_link = config_get('wiki_link_url').$p_url_text; + return '[['. "$p_url_text". ']] '; + } + + # -------------------- + # Subsitution callback for the regexp in string_process_wiki_link(); plaintext version. + function string_process_wiki_link_callback_nohtml($words) { + $p_url_text = $words[2]; + $p_link = config_get('wiki_link_url').$p_url_text; + return "$p_url_text ($p_link)"; + } + # -------------------- # Process $p_string, looking for bug ID references and creating bug view # links for them.