array( 'categorylinks', 'page' ), 'fields' => array( 'namespace' => NS_CATEGORY, 'title' => 'cl_to', 'value' => 'COUNT(*)' ), 'conds' => array( 'page_title IS NULL' ), 'options' => array( 'GROUP BY' => 'cl_to' ), 'join_conds' => array( 'page' => array( 'LEFT JOIN', array( 'page_title = cl_to', 'page_namespace' => NS_CATEGORY ) ) ) ); } /** * @param Skin $skin * @param object $result Result row * @return string */ function formatResult( $skin, $result ) { global $wgContLang; $nt = Title::makeTitle( $result->namespace, $result->title ); $text = htmlspecialchars( $wgContLang->convert( $nt->getText() ) ); $plink = $this->isCached() ? Linker::link( $nt, $text ) : Linker::link( $nt, $text, array(), array(), array( 'broken' ) ); $nlinks = $this->msg( 'nmembers' )->numParams( $result->value )->escaped(); return $this->getLanguage()->specialList( $plink, $nlinks ); } protected function getGroupName() { return 'maintenance'; } }