Example #1
0
 public function execute($parameter)
 {
     global $wgUser, $wgOut, $wgRequest, $wgAbuseFilterStyleVersion;
     AbuseFilter::addNavigationLinks($wgOut, $wgUser->getSkin(), 'log');
     $this->setHeaders();
     $this->outputHeader('abusefilter-log-summary');
     $this->loadParameters();
     $wgOut->setPageTitle(wfMsg('abusefilter-log'));
     $wgOut->setRobotPolicy("noindex,nofollow");
     $wgOut->setArticleRelated(false);
     $wgOut->enableClientCache(false);
     global $wgScriptPath;
     $wgOut->addScript('<style type="text/css" media="all">/*<![CDATA[*/ @import "/extensions/AbuseFilter/abusefilter.css"/*]]>*/</style>');
     // Are we allowed?
     $errors = $this->getTitle()->getUserPermissionsErrors('abusefilter-log', $wgUser, true, array('ns-specialprotected'));
     if (count($errors)) {
         // Go away.
         $wgOut->showPermissionsErrorPage($errors, 'abusefilter-log');
         return;
     }
     $detailsid = $wgRequest->getIntOrNull('details');
     if ($detailsid) {
         $this->showDetails($detailsid);
     } else {
         // Show the search form.
         $this->searchForm();
         // Show the log itself.
         $this->showList();
     }
 }
 public function execute($parameter)
 {
     $out = $this->getOutput();
     $request = $this->getRequest();
     AbuseFilter::addNavigationLinks($this->getContext(), 'log');
     $this->setHeaders();
     $this->outputHeader('abusefilter-log-summary');
     $this->loadParameters();
     $out->setPageTitle($this->msg('abusefilter-log'));
     $out->setRobotPolicy("noindex,nofollow");
     $out->setArticleRelated(false);
     $out->enableClientCache(false);
     $out->addModuleStyles('ext.abuseFilter');
     // Are we allowed?
     $errors = $this->getPageTitle()->getUserPermissionsErrors('abusefilter-log', $this->getUser(), true, array('ns-specialprotected'));
     if (count($errors)) {
         // Go away.
         $out->showPermissionsErrorPage($errors, 'abusefilter-log');
         return;
     }
     $detailsid = $request->getIntOrNull('details');
     $hideid = $request->getIntOrNull('hide');
     if ($parameter) {
         $detailsid = $parameter;
     }
     if ($detailsid) {
         $this->showDetails($detailsid);
     } elseif ($hideid) {
         $this->showHideForm($hideid);
     } else {
         // Show the search form.
         $this->searchForm();
         // Show the log itself.
         $this->showList();
     }
 }
Example #3
0
 public function execute($subpage)
 {
     global $wgUser, $wgOut, $wgRequest, $wgAbuseFilterStyleVersion, $wgScriptPath;
     $wgOut->addScript('<style type="text/css" media="all">/*<![CDATA[*/ @import "/extensions/AbuseFilter/abusefilter.css"/*]]>*/</style>');
     $view = 'AbuseFilterViewList';
     $this->setHeaders();
     $this->loadParameters($subpage);
     $wgOut->setPageTitle(wfMsg('abusefilter-management'));
     // Are we allowed?
     if (!$wgUser->isAllowed('abusefilter-view')) {
         $this->displayRestrictionError();
         return;
     }
     if ($wgRequest->getVal('result') == 'success') {
         $wgOut->setSubtitle(wfMsg('abusefilter-edit-done-subtitle'));
         $changedFilter = intval($wgRequest->getVal('changedfilter'));
         $wgOut->wrapWikiMsg('<p class="success">$1</p>', array('abusefilter-edit-done', $changedFilter));
     }
     $this->mSkin = $wgUser->getSkin();
     $this->mHistoryID = null;
     $pageType = 'home';
     $params = explode('/', $subpage);
     // Filter by removing blanks.
     foreach ($params as $index => $param) {
         if ($param === '') {
             unset($params[$index]);
         }
     }
     $params = array_values($params);
     if ($subpage == 'tools') {
         $view = 'AbuseFilterViewTools';
         $pageType = 'tools';
     }
     if (count($params) == 2 && $params[0] == 'revert' && is_numeric($params[1])) {
         $this->mFilter = $params[1];
         $view = 'AbuseFilterViewRevert';
         $pageType = 'revert';
     }
     if (count($params) && $params[0] == 'test') {
         $view = 'AbuseFilterViewTestBatch';
         $pageType = 'test';
     }
     if (count($params) && $params[0] == 'examine') {
         $view = 'AbuseFilterViewExamine';
         $pageType = 'examine';
     }
     if (!empty($params[0]) && ($params[0] == 'history' || $params[0] == 'log')) {
         $pageType = '';
         if (count($params) == 1) {
             $view = 'AbuseFilterViewHistory';
             $pageType = 'recentchanges';
         } elseif (count($params) == 2) {
             # # Second param is a filter ID
             $view = 'AbuseFilterViewHistory';
             $this->mFilter = $params[1];
         } elseif (count($params) == 4 && $params[2] == 'item') {
             $this->mFilter = $params[1];
             $this->mHistoryID = $params[3];
             $view = 'AbuseFilterViewEdit';
         } elseif (count($params) == 5 && $params[2] == 'diff') {
             // Special:AbuseFilter/history/<filter>/diff/<oldid>/<newid>
             $view = 'AbuseFilterViewDiff';
         }
     }
     if (is_numeric($subpage) || $subpage == 'new') {
         $this->mFilter = $subpage;
         $view = 'AbuseFilterViewEdit';
         $pageType = 'edit';
     }
     if ($subpage == 'import') {
         $view = 'AbuseFilterViewImport';
         $pageType = 'import';
     }
     // Links at the top
     AbuseFilter::addNavigationLinks($wgOut, $this->mSkin, $pageType);
     $v = new $view($this, $params);
     $v->show();
 }
Example #4
0
 public function execute($subpage)
 {
     $out = $this->getOutput();
     $request = $this->getRequest();
     $out->addModuleStyles('ext.abuseFilter');
     $view = 'AbuseFilterViewList';
     $this->setHeaders();
     $this->loadParameters($subpage);
     $out->setPageTitle($this->msg('abusefilter-management'));
     // Are we allowed?
     $this->checkPermissions();
     if ($request->getVal('result') == 'success') {
         $out->setSubtitle(wfMsg('abusefilter-edit-done-subtitle'));
         $changedFilter = intval($request->getVal('changedfilter'));
         $out->wrapWikiMsg('<p class="success">$1</p>', array('abusefilter-edit-done', $changedFilter));
     }
     $this->mHistoryID = null;
     $pageType = 'home';
     $params = explode('/', $subpage);
     // Filter by removing blanks.
     foreach ($params as $index => $param) {
         if ($param === '') {
             unset($params[$index]);
         }
     }
     $params = array_values($params);
     if ($subpage == 'tools') {
         $view = 'AbuseFilterViewTools';
         $pageType = 'tools';
     }
     if (count($params) == 2 && $params[0] == 'revert' && is_numeric($params[1])) {
         $this->mFilter = $params[1];
         $view = 'AbuseFilterViewRevert';
         $pageType = 'revert';
     }
     if (count($params) && $params[0] == 'test') {
         $view = 'AbuseFilterViewTestBatch';
         $pageType = 'test';
     }
     if (count($params) && $params[0] == 'examine') {
         $view = 'AbuseFilterViewExamine';
         $pageType = 'examine';
     }
     if (!empty($params[0]) && ($params[0] == 'history' || $params[0] == 'log')) {
         $pageType = '';
         if (count($params) == 1) {
             $view = 'AbuseFilterViewHistory';
             $pageType = 'recentchanges';
         } elseif (count($params) == 2) {
             # Second param is a filter ID
             $view = 'AbuseFilterViewHistory';
             $this->mFilter = $params[1];
         } elseif (count($params) == 4 && $params[2] == 'item') {
             $this->mFilter = $params[1];
             $this->mHistoryID = $params[3];
             $view = 'AbuseFilterViewEdit';
         } elseif (count($params) == 5 && $params[2] == 'diff') {
             // Special:AbuseFilter/history/<filter>/diff/<oldid>/<newid>
             $view = 'AbuseFilterViewDiff';
         }
     }
     if (is_numeric($subpage) || $subpage == 'new') {
         $this->mFilter = $subpage;
         $view = 'AbuseFilterViewEdit';
         $pageType = 'edit';
     }
     if ($subpage == 'import') {
         $view = 'AbuseFilterViewImport';
         $pageType = 'import';
     }
     // Links at the top
     AbuseFilter::addNavigationLinks($this->getContext(), $pageType);
     $v = new $view($this, $params);
     $v->show();
 }