http://www.mediawiki.org/wiki/Special:Code/MediaWiki/56433
Revision: 56433 Author: ialex Date: 2009-09-16 19:04:16 +0000 (Wed, 16 Sep 2009) Log Message: ----------- svn:eol-style native Modified Paths: -------------- trunk/extensions/ReaderFeedback/specialpages/RatedPages_body.php Property Changed: ---------------- trunk/extensions/IPAuth/IPAuth.php trunk/extensions/Lockout/Lockout.php trunk/extensions/MetavidWiki/mv_embed_iframe.php trunk/extensions/ReaderFeedback/language/RatedPages.i18n.php trunk/extensions/ReaderFeedback/specialpages/RatedPages_body.php Property changes on: trunk/extensions/IPAuth/IPAuth.php ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/extensions/Lockout/Lockout.php ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/extensions/MetavidWiki/mv_embed_iframe.php ___________________________________________________________________ Added: svn:eol-style + native Property changes on: trunk/extensions/ReaderFeedback/language/RatedPages.i18n.php ___________________________________________________________________ Added: svn:eol-style + native Modified: trunk/extensions/ReaderFeedback/specialpages/RatedPages_body.php =================================================================== --- trunk/extensions/ReaderFeedback/specialpages/RatedPages_body.php 2009-09-16 18:59:29 UTC (rev 56432) +++ trunk/extensions/ReaderFeedback/specialpages/RatedPages_body.php 2009-09-16 19:04:16 UTC (rev 56433) @@ -1,160 +1,160 @@ -<?php -if ( !defined( 'MEDIAWIKI' ) ) { - echo "ReaderFeedback extension\n"; - exit( 1 ); -} - -class RatedPages extends SpecialPage -{ - public function __construct() { - parent::__construct( 'RatedPages' ); - wfLoadExtensionMessages( 'RatedPages' ); - wfLoadExtensionMessages( 'ReaderFeedback' ); - } - - public function execute( $par ) { - global $wgRequest, $wgOut, $wgUser; - $this->setHeaders(); - if( $wgUser->isAllowed( 'feedback' ) ) { - if( $wgUser->isBlocked() ) { - return $wgOut->blockedPage(); - } - } else { - return $wgOut->permissionRequired( 'feedback' ); - } - if( wfReadOnly() ) { - return $wgOut->readOnlyPage(); - } - $this->skin = $wgUser->getSkin(); - # Check if there is a featured level - $this->namespace = $wgRequest->getInt( 'namespace' ); - $this->tag = $wgRequest->getVal( 'ratingtag' ); - $this->tier = $wgRequest->getInt( 'ratingtier' ); - $this->showForm(); - $this->showPageList(); - } - - protected function showForm() { - global $wgOut, $wgScript, $wgFeedbackNamespaces; - $form = Xml::openElement( 'form', - array( 'name' => 'reviewedpages', 'action' => $wgScript, 'method' => 'get' ) ); - $form .= "<fieldset><legend>".wfMsgHtml('ratedpages-leg')."</legend>\n"; - $form .= Xml::hidden( 'title', $this->getTitle()->getPrefixedDBKey() ); - $form .= ReaderFeedbackXML::getRatingTierMenu($this->tier) . ' '; - if( count($wgFeedbackNamespaces) > 1 ) { - $form .= ReaderFeedbackXML::getNamespaceMenu( $this->namespace ) . ' '; - } - if( count( ReaderFeedback::getFeedbackTags() ) > 0 ) { - $form .= ReaderFeedbackXML::getTagMenu( $this->tag ); - } - $form .= " ".Xml::submitButton( wfMsg( 'go' ) ); - $form .= "</fieldset></form>\n"; - $wgOut->addHTML( $form ); - } - - protected function showPageList() { - global $wgOut; - $tags = ReaderFeedback::getFeedbackTags(); - $pager = new LikedPagesPager( $this, array(), $this->namespace, $this->tag, $this->tier ); - if( isset($tags[$this->tag]) && $pager->getNumRows() ) { - $wgOut->addHTML( wfMsgExt('ratedpages-list', array('parse') ) ); - $wgOut->addHTML( $pager->getNavigationBar() ); - $wgOut->addHTML( $pager->getBody() ); - $wgOut->addHTML( $pager->getNavigationBar() ); - } elseif( $this->tag ) { // must select first... - $wgOut->addHTML( wfMsgExt('ratedpages-none', array('parse') ) ); - } - } - - public function formatRow( $row ) { - global $wgLang; - $title = Title::makeTitle( $row->page_namespace, $row->page_title ); - $link = $this->skin->makeKnownLinkObj( $title, $title->getPrefixedText() ); - $hist = $this->skin->makeKnownLinkObj( $title, wfMsgHtml('hist'), 'action=history' ); - $stxt = ''; - if( !is_null($size = $row->page_len) ) { - if( $size == 0 ) - $stxt = ' <small>' . wfMsgHtml('historyempty') . '</small>'; - else - $stxt = ' <small>' . wfMsgExt('historysize', array('parsemag'), - $wgLang->formatNum( $size ) ) . '</small>'; - } - $ratinghist = SpecialPage::getTitleFor( 'RatingHistory' ); - $graph = $this->skin->makeKnownLinkObj( $ratinghist, wfMsg('likedpages-graphs'), - 'target='.$title->getPrefixedUrl() ); - return "<li>$link $stxt ($hist) ($graph)</li>"; - } -} - -/** - * Query to list out well recieved pages - */ -class LikedPagesPager extends AlphabeticPager { - public $mForm, $mConds, $namespace, $tag; - - function __construct( $form, $conds = array(), $namespace=0, $tag, $tier ) { - $this->mForm = $form; - $this->mConds = $conds; - # Must be a content page... - global $wgFeedbackNamespaces; - if( !is_null($namespace) ) { - $namespace = intval($namespace); - } - if( is_null($namespace) || !in_array($namespace,$wgFeedbackNamespaces) ) { - $namespace = empty($wgFeedbackNamespaces) ? -1 : $wgFeedbackNamespaces[0]; - } - $this->namespace = $namespace; - $this->tag = $tag; - $this->tier = (int)$tier; - parent::__construct(); - } - - function formatRow( $row ) { - return $this->mForm->formatRow( $row ); - } - - function getQueryInfo() { - $conds = $this->mConds; - $conds[] = 'rfp_page_id = page_id'; - $conds['rfp_tag'] = $this->tag; - $conds['page_namespace'] = $this->namespace; - // Has to be good/crappy enough - switch( $this->tier ) { - case 3: $conds[] = "rfp_ave_val > 3.5"; break; - case 1: $conds[] = "rfp_ave_val < 2"; break; - default: $conds[] = "rfp_ave_val >= 2 AND rfp_ave_val <= 3.5"; break; - } - // Reasonable samples only - $conds[] = 'rfp_count >= '.ReaderFeedback::getFeedbackSize(); - return array( - 'tables' => array('reader_feedback_pages','page'), - 'fields' => 'page_namespace,page_title,page_len,rfp_ave_val', - 'conds' => $conds, - 'options' => array( 'USE INDEX' => array('reader_feedback_pages' => 'rfp_tag_val_page') ) - ); - } - - function getDefaultDirections() { - return false; - } - - function getIndexField() { - return 'rfp_ave_val'; - } - - function getStartBody() { - wfProfileIn( __METHOD__ ); - # Do a link batch query... - $lb = new LinkBatch(); - while( $row = $this->mResult->fetchObject() ) { - $lb->add( $row->page_namespace, $row->page_title ); - } - $lb->execute(); - wfProfileOut( __METHOD__ ); - return '<ul>'; - } - - function getEndBody() { - return '</ul>'; - } -} +<?php +if ( !defined( 'MEDIAWIKI' ) ) { + echo "ReaderFeedback extension\n"; + exit( 1 ); +} + +class RatedPages extends SpecialPage +{ + public function __construct() { + parent::__construct( 'RatedPages' ); + wfLoadExtensionMessages( 'RatedPages' ); + wfLoadExtensionMessages( 'ReaderFeedback' ); + } + + public function execute( $par ) { + global $wgRequest, $wgOut, $wgUser; + $this->setHeaders(); + if( $wgUser->isAllowed( 'feedback' ) ) { + if( $wgUser->isBlocked() ) { + return $wgOut->blockedPage(); + } + } else { + return $wgOut->permissionRequired( 'feedback' ); + } + if( wfReadOnly() ) { + return $wgOut->readOnlyPage(); + } + $this->skin = $wgUser->getSkin(); + # Check if there is a featured level + $this->namespace = $wgRequest->getInt( 'namespace' ); + $this->tag = $wgRequest->getVal( 'ratingtag' ); + $this->tier = $wgRequest->getInt( 'ratingtier' ); + $this->showForm(); + $this->showPageList(); + } + + protected function showForm() { + global $wgOut, $wgScript, $wgFeedbackNamespaces; + $form = Xml::openElement( 'form', + array( 'name' => 'reviewedpages', 'action' => $wgScript, 'method' => 'get' ) ); + $form .= "<fieldset><legend>".wfMsgHtml('ratedpages-leg')."</legend>\n"; + $form .= Xml::hidden( 'title', $this->getTitle()->getPrefixedDBKey() ); + $form .= ReaderFeedbackXML::getRatingTierMenu($this->tier) . ' '; + if( count($wgFeedbackNamespaces) > 1 ) { + $form .= ReaderFeedbackXML::getNamespaceMenu( $this->namespace ) . ' '; + } + if( count( ReaderFeedback::getFeedbackTags() ) > 0 ) { + $form .= ReaderFeedbackXML::getTagMenu( $this->tag ); + } + $form .= " ".Xml::submitButton( wfMsg( 'go' ) ); + $form .= "</fieldset></form>\n"; + $wgOut->addHTML( $form ); + } + + protected function showPageList() { + global $wgOut; + $tags = ReaderFeedback::getFeedbackTags(); + $pager = new LikedPagesPager( $this, array(), $this->namespace, $this->tag, $this->tier ); + if( isset($tags[$this->tag]) && $pager->getNumRows() ) { + $wgOut->addHTML( wfMsgExt('ratedpages-list', array('parse') ) ); + $wgOut->addHTML( $pager->getNavigationBar() ); + $wgOut->addHTML( $pager->getBody() ); + $wgOut->addHTML( $pager->getNavigationBar() ); + } elseif( $this->tag ) { // must select first... + $wgOut->addHTML( wfMsgExt('ratedpages-none', array('parse') ) ); + } + } + + public function formatRow( $row ) { + global $wgLang; + $title = Title::makeTitle( $row->page_namespace, $row->page_title ); + $link = $this->skin->makeKnownLinkObj( $title, $title->getPrefixedText() ); + $hist = $this->skin->makeKnownLinkObj( $title, wfMsgHtml('hist'), 'action=history' ); + $stxt = ''; + if( !is_null($size = $row->page_len) ) { + if( $size == 0 ) + $stxt = ' <small>' . wfMsgHtml('historyempty') . '</small>'; + else + $stxt = ' <small>' . wfMsgExt('historysize', array('parsemag'), + $wgLang->formatNum( $size ) ) . '</small>'; + } + $ratinghist = SpecialPage::getTitleFor( 'RatingHistory' ); + $graph = $this->skin->makeKnownLinkObj( $ratinghist, wfMsg('likedpages-graphs'), + 'target='.$title->getPrefixedUrl() ); + return "<li>$link $stxt ($hist) ($graph)</li>"; + } +} + +/** + * Query to list out well recieved pages + */ +class LikedPagesPager extends AlphabeticPager { + public $mForm, $mConds, $namespace, $tag; + + function __construct( $form, $conds = array(), $namespace=0, $tag, $tier ) { + $this->mForm = $form; + $this->mConds = $conds; + # Must be a content page... + global $wgFeedbackNamespaces; + if( !is_null($namespace) ) { + $namespace = intval($namespace); + } + if( is_null($namespace) || !in_array($namespace,$wgFeedbackNamespaces) ) { + $namespace = empty($wgFeedbackNamespaces) ? -1 : $wgFeedbackNamespaces[0]; + } + $this->namespace = $namespace; + $this->tag = $tag; + $this->tier = (int)$tier; + parent::__construct(); + } + + function formatRow( $row ) { + return $this->mForm->formatRow( $row ); + } + + function getQueryInfo() { + $conds = $this->mConds; + $conds[] = 'rfp_page_id = page_id'; + $conds['rfp_tag'] = $this->tag; + $conds['page_namespace'] = $this->namespace; + // Has to be good/crappy enough + switch( $this->tier ) { + case 3: $conds[] = "rfp_ave_val > 3.5"; break; + case 1: $conds[] = "rfp_ave_val < 2"; break; + default: $conds[] = "rfp_ave_val >= 2 AND rfp_ave_val <= 3.5"; break; + } + // Reasonable samples only + $conds[] = 'rfp_count >= '.ReaderFeedback::getFeedbackSize(); + return array( + 'tables' => array('reader_feedback_pages','page'), + 'fields' => 'page_namespace,page_title,page_len,rfp_ave_val', + 'conds' => $conds, + 'options' => array( 'USE INDEX' => array('reader_feedback_pages' => 'rfp_tag_val_page') ) + ); + } + + function getDefaultDirections() { + return false; + } + + function getIndexField() { + return 'rfp_ave_val'; + } + + function getStartBody() { + wfProfileIn( __METHOD__ ); + # Do a link batch query... + $lb = new LinkBatch(); + while( $row = $this->mResult->fetchObject() ) { + $lb->add( $row->page_namespace, $row->page_title ); + } + $lb->execute(); + wfProfileOut( __METHOD__ ); + return '<ul>'; + } + + function getEndBody() { + return '</ul>'; + } +} Property changes on: trunk/extensions/ReaderFeedback/specialpages/RatedPages_body.php ___________________________________________________________________ Added: svn:eol-style + native _______________________________________________ MediaWiki-CVS mailing list MediaWiki-CVS@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs