getVal( 'target' ); list( $limit, $offset ) = $wgRequest->getLimitOffset(); if (is_null($target)) { $wgOut->errorpage( 'notargettitle', 'notargettext' ); return; } $nt = Title::newFromURL( $target ); if( !$nt ) { $wgOut->errorpage( 'notargettitle', 'notargettext' ); return; } $wgOut->setPagetitle( $nt->getPrefixedText() ); $wgOut->setSubtitle( wfMsg( 'linklistsub' ) ); $sk = $wgUser->getSkin(); $isredir = ' (' . wfMsg( 'isredirect' ) . ")\n"; $wgOut->addHTML('< '.$sk->makeKnownLinkObj($nt, '', 'redirect=no' )."
\n"); wfShowIndirectLinks( 0, $nt, $limit, $offset ); } /** * @param int $level * @param Title $target * @param int $limit * @param int $offset * @access private */ function wfShowIndirectLinks( $level, $target, $limit, $offset = 0 ) { global $wgOut, $wgUser; $fname = 'wfShowIndirectLinks'; $dbr =& wfGetDB( DB_READ ); // Read one extra row as an at-end check $queryLimit = $limit + 1; $limitSql = ( $level == 0 ) ? "$offset,$queryLimit" : $queryLimit; $res = $dbr->select( array( 'pagelinks', 'page' ), array( 'page_id', 'page_namespace', 'page_title', 'page_is_redirect' ), array( 'pl_from=page_id', 'pl_namespace' => $target->getNamespace(), 'pl_title' => $target->getDbKey() ), $fname, array( 'LIMIT' => $limitSql ) ); if ( 0 == $dbr->numRows( $res ) ) { if ( 0 == $level ) { $wgOut->addWikiText( wfMsg( 'nolinkshere' ) ); } return; } if ( 0 == $level ) { $wgOut->addWikiText( wfMsg( 'linkshere' ) ); } $sk = $wgUser->getSkin(); $isredir = ' (' . wfMsg( 'isredirect' ) . ")\n"; if( $dbr->numRows( $res ) == 0 ) { return; } $atend = ( $dbr->numRows( $res ) <= $limit ); if( $level == 0 ) { $specialTitle = Title::makeTitle( NS_SPECIAL, 'Whatlinkshere' ); $prevnext = wfViewPrevNext( $offset, $limit, $specialTitle, 'target=' . urlencode( $target->getPrefixedDbKey() ), $atend ); $wgOut->addHTML( $prevnext ); } $wgOut->addHTML( '\n" ); if( $level == 0 ) { $wgOut->addHTML( $prevnext ); } } ?>