-function code2utf($num){
- if ( $num<128 )
- return chr($num);
- if ( $num<2048 )
- return chr(($num>>6)+192).chr(($num&63)+128);
- if ( $num<65536 )
- return chr(($num>>12)+224).chr((($num>>6)&63)+128).chr(($num&63)+128);
- if ( $num<2097152 )
- return chr(($num>>18)+240).chr((($num>>12)&63)+128).chr((($num>>6)&63)+128) .chr(($num&63)+128);
- return '';
-}
-
-function wfSajaxSearch( $term ) {
- global $wgContLang, $wgOut;
- $limit = 16;
-
- $l = new Linker;
-
- $term = str_replace( ' ', '_', $wgContLang->ucfirst(
- $wgContLang->checkTitleEncoding( $wgContLang->recodeInput( js_unescape( $term ) ) )
- ) );
-
- if ( strlen( str_replace( '_', '', $term ) )<3 )
- return;
-
- $db = wfGetDB( DB_SLAVE );
- $res = $db->select( 'page', 'page_title',
- array( 'page_namespace' => 0,
- "page_title LIKE '". $db->strencode( $term) ."%'" ),
- "wfSajaxSearch",
- array( 'LIMIT' => $limit+1 )
- );
-
- $r = "";
-
- $i=0;
- while ( ( $row = $db->fetchObject( $res ) ) && ( ++$i <= $limit ) ) {
- $nt = Title::newFromDBkey( $row->page_title );
- $r .= '<li>' . $l->makeKnownLinkObj( $nt ) . "</li>\n";
- }
- if ( $i > $limit ) {
- $more = '<i>' . $l->makeKnownLink( $wgContLang->specialPage( "Allpages" ),
- wfMsg('moredotdotdot'),
- "namespace=0&from=" . wfUrlEncode ( $term ) ) .
- '</i>';
- } else {
- $more = '';