/** * Get number of all wikis queued for WDAC review * @return int $iCount */ public function getCountWikisForReview() { wfProfileIn(__METHOD__); $iCount = WikiFactory::getCountOfWikisWithVar($this->byFounderVarId, 'bool', '=', true); wfProfileOut(__METHOD__); return $iCount; }
function execute() { global $wgOut, $wgUser, $wgRequest, $wgTitle; $gVar = $wgRequest->getText('var'); $gVal = $wgRequest->getVal('val', 'true'); $gLikeVal = $wgRequest->getVal('likeValue', 'true'); $gTypeVal = $wgRequest->getVal('searchType', 'bool'); $wgOut->SetPageTitle(wfMsg('whereisextension')); $wgOut->setRobotpolicy('noindex,nofollow'); if (!$wgUser->isAllowed('WhereIsExtension')) { $this->displayRestrictionError(); return; } $this->values = array(0 => array('true', true, '='), 1 => array('false', false, '='), 2 => array('not empty', '', '!=')); $tagName = $wgRequest->getVal('wikiSelectTagName', null); $tagWikis = $wgRequest->getArray('wikiSelected'); $tagResultInfo = ''; if ($wgRequest->wasPosted() && !empty($tagName) && count($tagWikis)) { $tagResultInfo = $this->tagSelectedWikis($tagName, $tagWikis); } $formData['vars'] = $this->getListOfVars($gVar == ''); $formData['vals'] = $this->values; $formData['selectedVal'] = $gVal; $formData['likeValue'] = $gLikeVal; $formData['searchType'] = $gTypeVal; $formData['selectedGroup'] = $gVar == '' ? 27 : ''; //default group: extensions (or all groups when looking for variable, rt#16953) $formData['groups'] = WikiFactory::getGroups(); $formData['actionURL'] = $wgTitle->getFullURL(); // by default, we don't need a paginator $sPaginator = ''; if (!empty($gVar)) { $formData['selectedVar'] = $gVar; // assume an empty result $formData['count'] = 0; $formData['wikis'] = array(); if (isset($this->values[$gVal][1]) && isset($this->values[$gVal][2])) { // check how many wikis meet the conditions $formData['count'] = WikiFactory::getCountOfWikisWithVar($gVar, $gTypeVal, $this->values[$gVal][2], $this->values[$gVal][1], $gLikeVal); // if there are any, get the list and create a Paginator if (0 < $formData['count']) { // determine the offset (from the requested page) $iPage = $wgRequest->getVal('page', 1); $iOffset = ($iPage - 1) * self::ITEMS_PER_PAGE; // the list $formData['wikis'] = WikiFactory::getListOfWikisWithVar($gVar, $gTypeVal, $this->values[$gVal][2], $this->values[$gVal][1], $gLikeVal, $iOffset, self::ITEMS_PER_PAGE); // the Paginator, if we need more than one page if (self::ITEMS_PER_PAGE < $formData['count']) { $oPaginator = Paginator::newFromArray(array_fill(0, $formData['count'], ''), self::ITEMS_PER_PAGE, 5); $oPaginator->setActivePage($iPage - 1); $sPager = $oPaginator->getBarHTML(sprintf('%s?var=%s&val=%s&likeValue=%s&searchType=%s&page=%%s', $wgTitle->getFullURL(), $gVar, $gVal, $gLikeVal, $gTypeVal)); } } } } $oTmpl = new EasyTemplate(dirname(__FILE__) . '/templates/'); $oTmpl->set_vars(array('formData' => $formData, 'tagResultInfo' => $tagResultInfo, 'sPager' => $sPager)); $wgOut->addHTML($oTmpl->render('list')); }
/** * Return number of communities * and number of communities with curated content wg variable set to not falsy value. * * @responseParam integer totalCommunities * @responseParam integer communitiesWithCuratedContent */ public function getCuratedContentStats() { $data = $this->sendSelfRequest('getWikiaStats')->getData(); $this->getResponse()->setFormat(WikiaResponse::FORMAT_JSON); $communitiesWithCuratedContent = WikiFactory::getCountOfWikisWithVar(CuratedContentController::CURATED_CONTENT_WG_VAR_ID_PROD, "full", "LIKE", null, "true"); $this->setVal('item', intval($communitiesWithCuratedContent)); $this->setVal('min', ['value' => 0]); $this->setVal('max', ['value' => $data['communities']]); }