Extension:InterwikiList/Interwikilist body.php

From MediaWiki.org

Jump to: navigation, search
<?php
class InterwikiList extends SpecialPage
{
        function Interwikilist() {
                SpecialPage::SpecialPage("InterwikiList");
                self::loadMessages();
        }
 
        function execute( $par ) {
                global $wgOut;
 
                $wgOut->setPagetitle( wfMsg( 'interwikilist' ) );
                $selfTitle = Title::makeTitle( NS_SPECIAL, 'Interwikilist' );
                $wgOut->addHTML( $this->getInterwikis() );
        }
 
        /** Load all messages for this
        */
        function loadMessages() {
                static $messagesLoaded = false;
                global $wgMessageCache;
                if ( $messagesLoaded ) return true;
                $messagesLoaded = true;
 
                require( dirname( __FILE__ ) . '/Interwikilist.i18n.php' );
                foreach ( $allMessages as $lang => $langMessages ) {
                        $wgMessageCache->addMessages( $langMessages, $lang );
                }
 
                return true;
        }
 
        /** Get all Interwiki Links - the heart of the function
        * 
        */
        function getInterwikis() {
                $dbr = wfGetDB( DB_SLAVE );
 
                $results = $dbr->select( 'interwiki', '*' );
                $resultCount = $dbr->numRows( $results );
 
                $text = Xml::openElement( 'table', array( 'id' => 'sv-software' ) ) .
                                "<tr>
                                        <th>" . wfMsg( 'interwikilist-linkname' ) . "</th>
                                        <th>" . wfMsg( 'interwikilist-target' ) . "</th>
                                </tr>\n";
 
                while ( $row = $dbr->fetchObject( $results ) ) {                      
                        $text .= "<tr>
                                        <td>" . $row->iw_prefix . "</td>
                                        <td>" . $row->iw_url . "</td>
                                </tr>\n";
                }
                $text .= Xml::closeElement( 'table' );
 
                return $text;
        }
}
Personal tools