Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F1804
nppatrol.diff
Public
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Authored By
•
bzimport
Nov 21 2014, 8:10 PM
2014-11-21 20:10:21 (UTC+0)
Size
8 KB
Referenced Files
None
Subscribers
None
nppatrol.diff
View Options
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
Details
Attached
Mime Type
text/x-diff
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1381
Default Alt Text
nppatrol.diff (8 KB)
Attached To
Mode
T3405: Split patrolling into new page patrolling and recent changes patrolling
Attached
Detach File
Event Timeline
Log In to Comment