Page MenuHomePhabricator

nppatrol.diff

Authored By
bzimport
Nov 21 2014, 8:10 PM
Size
8 KB
Referenced Files
None
Subscribers
None

nppatrol.diff

Kun i mediawiki-1.4beta5: config
diff -ur mediawiki-1.4beta5/includes/Article.php /var/www/wiki/includes/Article.php
--- mediawiki-1.4beta5/includes/Article.php 2005-01-11 01:04:21.000000000 +0100
+++ /var/www/wiki/includes/Article.php 2005-01-25 16:23:08.000000000 +0100
@@ -683,7 +683,7 @@
*/
function view() {
global $wgUser, $wgOut, $wgRequest, $wgOnlySysopsCanPatrol, $wgLang;
- global $wgLinkCache, $IP, $wgEnableParserCache, $wgStylePath, $wgUseRCPatrol;
+ global $wgLinkCache, $IP, $wgEnableParserCache, $wgStylePath;
$sk = $wgUser->getSkin();
$fname = 'Article::view';
@@ -792,7 +792,7 @@
$wgOut->setPageTitle( $this->mTitle->getPrefixedText() );
# If we have been passed an &rcid= parameter, we want to give the user a
# chance to mark this new article as patrolled.
- if ( $wgUseRCPatrol && !is_null ( $rcid ) && $rcid != 0 && $wgUser->getID() != 0 &&
+ if (!is_null ( $rcid ) && $rcid != 0 && $wgUser->getID() != 0 &&
( $wgUser->isAllowed('patrol') || !$wgOnlySysopsCanPatrol ) )
{
$wgOut->addHTML( wfMsg ( 'markaspatrolledlink',
@@ -1176,17 +1176,34 @@
}
/**
- * Mark this particular edit as patrolled
+ * Mark this particular edit/page as patrolled
*/
function markpatrolled() {
- global $wgOut, $wgRequest, $wgOnlySysopsCanPatrol, $wgUseRCPatrol, $wgUser;
+ global $wgOut, $wgRequest, $wgOnlySysopsCanPatrol, $wgUseRCPatrol, $wgUseNPPatrol, $wgUser;
$wgOut->setRobotpolicy( 'noindex,follow' );
- if ( !$wgUseRCPatrol )
+
+ $rcid = (int) $wgRequest->getVal( 'rcid' );
+ $rc = $rcid ? RecentChange::newFromId( $rcid ) : null;
+ if ( is_null ( $rc ) )
{
- $wgOut->errorpage( 'rcpatroldisabled', 'rcpatroldisabledtext' );
+ $wgOut->errorpage( 'markedaspatrollederror', 'markedaspatrollederrortext' );
return;
}
+
+ if ( !$wgUseRCPatrol )
+ {
+ if ( $rc->mAttribs['rc_type'] == RC_NEW && !$wgUseNPPatrol ) {
+ $wgOut->errorpage( 'nppatroldisabled', 'nppatroldisabledtext' );
+ return;
+ }
+
+ if ( $rc->mAttribs['rc_type'] != RC_NEW) {
+ $wgOut->errorpage( 'rcpatroldisabled', 'rcpatroldisabledtext' );
+ return;
+ }
+ }
+
if ( $wgUser->getID() == 0 )
{
$wgOut->loginToUse();
@@ -1197,20 +1214,16 @@
$wgOut->sysopRequired();
return;
}
- $rcid = $wgRequest->getVal( 'rcid' );
- if ( !is_null ( $rcid ) )
- {
- RecentChange::markPatrolled( $rcid );
- $wgOut->setPagetitle( wfMsg( 'markedaspatrolled' ) );
- $wgOut->addWikiText( wfMsg( 'markedaspatrolledtext' ) );
- $rcTitle = Title::makeTitle( NS_SPECIAL, 'Recentchanges' );
- $wgOut->returnToMain( false, $rcTitle->getPrefixedText() );
- }
- else
- {
- $wgOut->errorpage( 'markedaspatrollederror', 'markedaspatrollederrortext' );
- }
+ RecentChange::markPatrolled( $rcid );
+ $wgOut->setPagetitle( wfMsg( 'markedaspatrolled' ) );
+ $wgOut->addWikiText( wfMsg( 'markedaspatrolledtext' ) );
+
+ #It would be nice to see where the user had actually come from, but for now just guess
+ $returnto = $rc->mAttribs['rc_type'] == RC_NEW ? 'Newpages' : 'Recentchanges';
+
+ $rcTitle = Title::makeTitle( NS_SPECIAL, $returnto );
+ $wgOut->returnToMain( false, $rcTitle->getPrefixedText() );
}
Kun i /var/www/wiki/includes: ChangesList.php~
diff -ur mediawiki-1.4beta5/includes/DefaultSettings.php /var/www/wiki/includes/DefaultSettings.php
--- mediawiki-1.4beta5/includes/DefaultSettings.php 2005-01-17 09:26:21.000000000 +0100
+++ /var/www/wiki/includes/DefaultSettings.php 2005-01-25 16:02:26.000000000 +0100
@@ -782,6 +782,9 @@
# Use RC Patrolling to check for vandalism
$wgUseRCPatrol = true;
+# Use patrolling to check for vandalism on special:newpages
+$wgUseNPPatrol = true;
+
# Set maximum number of results to return in syndication feeds
# (RSS, Atom) for eg Recentchanges, Newpages.
$wgFeedLimit = 50;
Kun i /var/www/wiki/includes: QueryPage.php.orig
Kun i /var/www/wiki/includes: QueryPage.php.rej
diff -ur mediawiki-1.4beta5/includes/RecentChange.php /var/www/wiki/includes/RecentChange.php
--- mediawiki-1.4beta5/includes/RecentChange.php 2004-12-04 19:59:12.000000000 +0100
+++ /var/www/wiki/includes/RecentChange.php 2005-01-25 16:17:59.000000000 +0100
@@ -64,6 +64,26 @@
return $rc;
}
+ /* static*/ function newFromId( $rc_id ) {
+ $fname = 'RecentChange::newFromId';
+
+ $dbr =& wfGetDB( DB_SLAVE );
+ extract( $dbr->tableNames( 'recentchanges', 'watchlist' ) );
+
+ $sql = "SELECT $recentchanges.* FROM $recentchanges " .
+ "WHERE rc_id = $rc_id";
+ $res = $dbr->query($sql, $fname );
+ $row = $dbr->fetchObject( $res );
+
+ if ( $row != null ) {
+ $rc = new RecentChange;
+ $rc->loadFromRow( $row );
+ return $rc;
+ } else {
+ return null;
+ }
+ }
+
# Accessors
function setAttribs( $attribs )
Kun i /var/www/wiki/includes: RecentChange.php~
diff -ur mediawiki-1.4beta5/includes/SpecialNewpages.php /var/www/wiki/includes/SpecialNewpages.php
--- mediawiki-1.4beta5/includes/SpecialNewpages.php 2004-10-24 21:14:46.000000000 +0200
+++ /var/www/wiki/includes/SpecialNewpages.php 2005-01-25 13:40:21.000000000 +0100
@@ -28,8 +28,8 @@
}
function getSQL() {
- global $wgUser, $wgOnlySysopsCanPatrol, $wgUseRCPatrol;
- $usepatrol = ( $wgUseRCPatrol && $wgUser->getID() != 0 &&
+ global $wgUser, $wgOnlySysopsCanPatrol, $wgUseNPPatrol;
+ $usepatrol = ( $wgUseNPPatrol && $wgUser->getID() != 0 &&
( $wgUser->isAllowed('patrol') || !$wgOnlySysopsCanPatrol ) ) ? 1 : 0;
$dbr =& wfGetDB( DB_SLAVE );
extract( $dbr->tableNames( 'recentchanges', 'cur' ) );
@@ -54,7 +54,7 @@
}
function formatResult( $skin, $result ) {
- global $wgLang, $wgContLang, $wgUser, $wgOnlySysopsCanPatrol, $wgUseRCPatrol;
+ global $wgLang, $wgContLang, $wgUser, $wgOnlySysopsCanPatrol, $wgUseNPPatrol;
$u = $result->user;
$ut = $result->user_text;
@@ -72,7 +72,7 @@
# Since there is no diff link, we need to give users a way to
# mark the article as patrolled if it isn't already
- if ( $wgUseRCPatrol && !is_null ( $result->usepatrol ) && $result->usepatrol &&
+ if ( $wgUseNPPatrol && !is_null ( $result->usepatrol ) && $result->usepatrol &&
$result->patrolled == 0 && $wgUser->getID() != 0 &&
( $wgUser->isAllowed('patrol') || !$wgOnlySysopsCanPatrol ) )
$link = $skin->makeKnownLink( $result->title, '', "rcid={$result->rcid}" );
Kun i /var/www/wiki/includes: SpecialRecentchanges.php~
diff -ur mediawiki-1.4beta5/includes/SpecialSitesettings.php /var/www/wiki/includes/SpecialSitesettings.php
--- mediawiki-1.4beta5/includes/SpecialSitesettings.php 2004-10-19 20:02:11.000000000 +0200
+++ /var/www/wiki/includes/SpecialSitesettings.php 2005-01-25 13:43:44.000000000 +0100
@@ -81,7 +81,8 @@
$this->checkbox( 'wgUseGeoMode' ) .
$this->checkbox( 'wgUseValidation' ) .
$this->checkbox( 'wgUseExternalDiffEngine' ) .
- $this->checkbox( 'wgUseRCPatrol' )
+ $this->checkbox( 'wgUseRCPatrol' ) .
+ $this->checkbox( 'wgUseNPPatrol' )
) );
$wgOut->addHTML( $this->fieldset( "sitesettings-permissions",
$this->fieldset( 'sitesettings-permissions-readonly' ,
diff -ur mediawiki-1.4beta5/languages/Language.php /var/www/wiki/languages/Language.php
--- mediawiki-1.4beta5/languages/Language.php 2005-01-16 01:59:54.000000000 +0100
+++ /var/www/wiki/languages/Language.php 2005-01-25 16:21:39.000000000 +0100
@@ -1543,8 +1543,12 @@
'markaspatrolledtext' => "Mark this article as patrolled",
'markedaspatrolled' => "Marked as patrolled",
'markedaspatrolledtext' => "The selected revision has been marked as patrolled.",
+'markedaspatrollederror' => "Patrol error",
+'markedaspatrollederrortext' => "The specified revision could not be found in the database.",
'rcpatroldisabled' => "Recent Changes Patrol disabled",
'rcpatroldisabledtext' => "The Recent Changes Patrol feature is currently disabled.",
+'nppatroldisabled' => "New Pages Patrol disabled",
+'nppatroldisabledtext' => "The New Pages Patrol feature is currently disabled.",
# Monobook.js: tooltips and access keys for monobook
'Monobook.js' => '/* tooltips and access keys */
Kun i /var/www/wiki/languages: Language.php~
Kun i /var/www/wiki: LocalSettings.php

File Metadata

Mime Type
text/x-diff
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1381
Default Alt Text
nppatrol.diff (8 KB)

Event Timeline