public function testPageIsUnderReview() { $page = 110; FRUserActivity::clearAllReviewingPage($page); // clear $this->assertEquals(false, FRUserActivity::pageIsUnderReview($page), "Not reviewing page"); FRUserActivity::setUserReviewingPage($this->user, $page); $this->assertEquals(true, FRUserActivity::pageIsUnderReview($page), "Now reviewing page"); }
private function run($resultPageSet = null) { global $wgMemc; $params = $this->extractRequestParams(); // Construct SQL Query $this->addTables(array('page', 'flaggedpages')); $this->addWhereFld('page_namespace', $params['namespace']); if ($params['filterredir'] == 'redirects') { $this->addWhereFld('page_is_redirect', 1); } if ($params['filterredir'] == 'nonredirects') { $this->addWhereFld('page_is_redirect', 0); } $dir = $params['dir'] == 'descending' ? 'older' : 'newer'; $this->addWhereRange('page_title', $dir, $params['start'], $params['end']); $this->addJoinConds(array('flaggedpages' => array('LEFT JOIN', 'fp_page_id=page_id'))); $this->addWhere('fp_page_id IS NULL OR fp_quality < ' . intval($params['filterlevel'])); $this->addOption('USE INDEX', array('page' => 'name_title', 'flaggedpages' => 'PRIMARY')); if (is_null($resultPageSet)) { $this->addFields(array('page_id', 'page_namespace', 'page_title', 'page_len', 'page_latest')); } else { $this->addFields($resultPageSet->getPageTableFields()); } $limit = $params['limit']; $this->addOption('LIMIT', $limit + 1); $res = $this->select(__METHOD__); $data = array(); $count = 0; foreach ($res as $row) { if (++$count > $limit) { // We've reached the one extra which shows that there are // additional pages to be had. Stop here... $this->setContinueEnumParameter('start', $row->page_title); break; } if (is_null($resultPageSet)) { $title = Title::newFromRow($row); $data[] = array('pageid' => intval($row->page_id), 'ns' => intval($title->getNamespace()), 'title' => $title->getPrefixedText(), 'revid' => intval($row->page_latest), 'under_review' => FRUserActivity::pageIsUnderReview($row->page_id)); } else { $resultPageSet->processDbRow($row); } } if (is_null($resultPageSet)) { $result = $this->getResult(); $result->setIndexedTagName($data, 'p'); $result->addValue('query', $this->getModuleName(), $data); } }