function showResults() { $changesList = new AbuseFilterChangesList($this->getSkin()); $output = $changesList->beginRecentChangesList(); $this->mCounter = 1; $pager = new AbuseFilterExaminePager($this, $changesList); $output .= $pager->getNavigationBar() . $pager->getBody() . $pager->getNavigationBar(); $output .= $changesList->endRecentChangesList(); $this->getOutput()->addHTML($output); }
function doTest() { // Quick syntax check. $out = $this->getOutput(); $result = AbuseFilter::checkSyntax($this->mFilter); if ($result !== true) { $out->addWikiMsg('abusefilter-test-syntaxerr'); return; } $dbr = wfGetDB(DB_SLAVE); $conds = array('rc_user_text' => $this->mTestUser, 'rc_type != ' . RC_EXTERNAL); if ($this->mTestPeriodStart) { $conds[] = 'rc_timestamp >= ' . $dbr->addQuotes($dbr->timestamp(strtotime($this->mTestPeriodStart))); } if ($this->mTestPeriodEnd) { $conds[] = 'rc_timestamp <= ' . $dbr->addQuotes($dbr->timestamp(strtotime($this->mTestPeriodEnd))); } if ($this->mTestPage) { $title = Title::newFromText($this->mTestPage); if ($title instanceof Title) { $conds['rc_namespace'] = $title->getNamespace(); $conds['rc_title'] = $title->getDBkey(); } else { $out->addWikiMsg('abusefilter-test-badtitle'); return; } } // Get our ChangesList $changesList = new AbuseFilterChangesList($this->getSkin()); $output = $changesList->beginRecentChangesList(); $res = $dbr->select('recentchanges', '*', array_filter($conds), __METHOD__, array('LIMIT' => self::$mChangeLimit, 'ORDER BY' => 'rc_timestamp desc')); $counter = 1; foreach ($res as $row) { $vars = AbuseFilter::getVarsFromRCRow($row); if (!$vars) { continue; } $result = AbuseFilter::checkConditions($this->mFilter, $vars); if ($result || $this->mShowNegative) { // Stash result in RC item $rc = RecentChange::newFromRow($row); $rc->examineParams['testfilter'] = $this->mFilter; $rc->filterResult = $result; $rc->counter = $counter++; $output .= $changesList->recentChangesLine($rc, false); } } $output .= $changesList->endRecentChangesList(); $out->addHTML($output); }