getNamespaces() ; return $ns[-1] ; } function wfSpecialMaintenance( $par=NULL ) { global $wgUser, $wgOut, $wgLang, $wgTitle, $subfunction, $wgLanguageCode, $submitmll; global $wgMiserMode; if ( $wgMiserMode ) { $wgOut->addWikiText( wfMsg( "perfdisabled" ) ); return; } if( $par ) $subfunction = $par; else $subfunction = $_REQUEST['subfunction']; if ( $subfunction == "disambiguations" ) return wfSpecialDisambiguations() ; if ( $subfunction == "doubleredirects" ) return wfSpecialDoubleRedirects() ; if ( $subfunction == "brokenredirects" ) return wfSpecialBrokenRedirects() ; if ( $subfunction == "selflinks" ) return wfSpecialSelfLinks() ; if ( $subfunction == "mispeelings" ) return wfSpecialMispeelings() ; if ( $subfunction == "missinglanguagelinks" ) return wfSpecialMissingLanguageLinks() ; if ( isset ( $submitmll ) ) return wfSpecialMissingLanguageLinks() ; $sk = $wgUser->getSkin(); $ns = $wgLang->getNamespaces() ; $r = wfMsg("maintnancepagetext") ; $r .= "
";
$s .= "{$t} | "; $s .= "{$r} |
".wfMsg( "disambiguationstext", $sk->makeKnownLink( $dp ) )."
{$top}\n" );
$sl = wfViewPrevNext( $offset, $limit, "REPLACETHIS" ) ;
$sl = str_replace ( "REPLACETHIS" , sns().":Maintenance&subfunction=disambiguations" , $sl ) ;
$wgOut->addHTML( "
{$sl}\n" );
$s = "
{$sl}\n" ); } function wfSpecialDoubleRedirects() { global $wgUser, $wgOut, $wgLang, $wgTitle; $fname = "wfSpecialDoubleRedirects"; list( $limit, $offset ) = wfCheckLimits(); die( "wfSpecialDoubleRedirects() is broken for now; link tables are changed." ); $sql = "SELECT l_from,l_to,cb.cur_text AS rt,cb.cur_title AS ti FROM links,cur AS ca, cur AS cb WHERE ca.cur_is_redirect=1 AND cb.cur_is_redirect=1 AND l_to=cb.cur_id AND l_from=ca.cur_title AND ca.cur_namespace=0 LIMIT {$offset}, {$limit}" ; $res = wfQuery( $sql, DB_READ, $fname ); $top = getMaintenancePageBacklink(); $top .= "
".wfMsg("doubleredirectstext")."
{$top}\n" );
$sl = wfViewPrevNext( $offset, $limit, "REPLACETHIS" ) ;
$sl = str_replace ( "REPLACETHIS" , sns().":Maintenance&subfunction=doubleredirects" , $sl ) ;
$wgOut->addHTML( "
{$sl}\n" );
$sk = $wgUser->getSkin();
$s = "
{$sl}\n" ); } function wfSpecialBrokenRedirects() { global $wgUser, $wgOut, $wgLang, $wgTitle; $fname = "wfSpecialBrokenRedirects"; list( $limit, $offset ) = wfCheckLimits(); $sql = "SELECT bl_to,cur_title FROM brokenlinks,cur WHERE cur_is_redirect=1 AND cur_namespace=0 AND bl_from=cur_id LIMIT {$offset}, {$limit}" ; $res = wfQuery( $sql, DB_READ, $fname ); $top = getMaintenancePageBacklink(); $top .= "
".wfMsg("brokenredirectstext")."
{$top}\n" );
$sl = wfViewPrevNext( $offset, $limit, "REPLACETHIS" ) ;
$sl = str_replace ( "REPLACETHIS" , sns().":Maintenance&subfunction=brokenredirects" , $sl ) ;
$wgOut->addHTML( "
{$sl}\n" );
$sk = $wgUser->getSkin();
$s = "
{$sl}\n" ); } function wfSpecialSelfLinks() { global $wgUser, $wgOut, $wgLang, $wgTitle; $fname = "wfSpecialSelfLinks"; list( $limit, $offset ) = wfCheckLimits(); $sql = "SELECT cur_title FROM cur,links WHERE cur_is_redirect=0 AND cur_namespace=0 AND l_from=cur_title AND l_to=cur_id LIMIT {$offset}, {$limit}"; $res = wfQuery( $sql, DB_READ, $fname ); $top = getMaintenancePageBacklink(); $top .= "
".wfMsg("selflinkstext")."
{$top}\n" );
$sl = wfViewPrevNext( $offset, $limit, "REPLACETHIS" ) ;
$sl = str_replace ( "REPLACETHIS" , sns().":Maintenance&subfunction=selflinks" , $sl ) ;
$wgOut->addHTML( "
{$sl}\n" );
$sk = $wgUser->getSkin();
$s = "
{$sl}\n" ); } function wfSpecialMispeelings () { global $wgUser, $wgOut, $wgLang, $wgTitle; $sk = $wgUser->getSkin(); $fname = "wfSpecialMispeelings"; list( $limit, $offset ) = wfCheckLimits(); # Determine page name $ms = wfMsg ( "mispeelingspage" ) ; $mss = wfStrencode( str_replace ( " " , "_" , $ms ) ); $msp = $wgLang->getNsText(4).":".$ms ; $msl = $sk->makeKnownLink ( $msp ) ; # Load list from database $sql = "SELECT cur_text FROM cur WHERE cur_title='{$mss}' AND cur_namespace=4" ; $res = wfQuery( $sql, DB_READ, $fname ); $obj = wfFetchObject ( $res ) ; $l = $obj->cur_text ; $l = explode ( "\n" , $l ) ; $a = array () ; foreach ( $l as $x ) if ( substr ( trim ( $x ) , 0 , 1 ) == "*" ) $a[] = strtolower ( trim ( substr ( trim ( $x ) , 1 ) ) ); asort ( $a ) ; $cnt = 0 ; $b = array () ; foreach ( $a AS $x ) { if ( $cnt < $offset+$limit && $x != "" ) { $y = $x ; $x = preg_replace( '/^(\S+).*$/', '$1', $x ); #$sql = "SELECT DISTINCT cur_title FROM cur WHERE cur_namespace=0 AND cur_is_redirect=0 AND (MATCH(cur_ind_text) AGAINST ('" . wfStrencode( $wgLang->stripForSearch( $x ) ) . "'))" ; $sql = "SELECT DISTINCT cur_title FROM cur,searchindex WHERE cur_id=si_page AND cur_namespace=0 AND cur_is_redirect=0 AND (MATCH(si_text) AGAINST ('" . wfStrencode( $wgLang->stripForSearch( $x ) ) . "'))" ; $res = wfQuery( $sql, DB_READ, $fname ); while ( $obj = wfFetchObject ( $res ) ) { if ( $cnt >= $offset AND $cnt < $offset+$limit ) { if ( $y != "" ) { if ( count ( $b ) > 0 ) $b[] = "\n" ; $b[] = "
".wfMsg( "mispeelingstext", $msl )."
{$top}\n" );
$sl = wfViewPrevNext( $offset, $limit, "REPLACETHIS" ) ;
$sl = str_replace ( "REPLACETHIS" , sns().":Maintenance&subfunction=mispeelings" , $sl ) ;
$wgOut->addHTML( "
{$sl}\n" );
$s = implode ( "" , $b ) ;
if ( count ( $b ) > 0 ) $s .= "
{$sl}\n" ); } function wfSpecialMissingLanguageLinks() { global $wgUser, $wgOut, $wgLang, $wgTitle, $thelang, $subfunction; $fname = "wfSpecialMissingLanguageLinks"; $subfunction = "missinglanguagelinks" ; if ( $thelang == "w" ) $thelang = "en" ; # Fix for international wikis list( $limit, $offset ) = wfCheckLimits(); $sql = "SELECT cur_title FROM cur WHERE cur_namespace=0 AND cur_is_redirect=0 AND cur_title NOT LIKE '%/%' AND cur_text NOT LIKE '%[[{$thelang}:%' LIMIT {$offset}, {$limit}"; $res = wfQuery( $sql, DB_READ, $fname ); $mll = wfMsg( "missinglanguagelinkstext", $wgLang->getLanguageName($thelang) ); $top = getMaintenancePageBacklink(); $top .= "
$mll
{$top}\n" );
$sl = wfViewPrevNext( $offset, $limit, "REPLACETHIS" ) ;
$sl = str_replace ( "REPLACETHIS" , sns().":Maintenance&subfunction=missinglanguagelinks&thelang={$thelang}" , $sl ) ;
$wgOut->addHTML( "
{$sl}\n" );
$sk = $wgUser->getSkin();
$s = "
{$sl}\n" ); } ?>