https://www.mediawiki.org/wiki/Special:Code/MediaWiki/112544

Revision: 112544
Author:   jeroendedauw
Date:     2012-02-28 00:05:07 +0000 (Tue, 28 Feb 2012)
Log Message:
-----------
prevent people from moving stuff in and out the education namespaces

Modified Paths:
--------------
    trunk/extensions/EducationProgram/EducationProgram.hooks.php
    trunk/extensions/EducationProgram/EducationProgram.i18n.php
    trunk/extensions/EducationProgram/EducationProgram.php

Modified: trunk/extensions/EducationProgram/EducationProgram.hooks.php
===================================================================
--- trunk/extensions/EducationProgram/EducationProgram.hooks.php        
2012-02-27 23:52:06 UTC (rev 112543)
+++ trunk/extensions/EducationProgram/EducationProgram.hooks.php        
2012-02-28 00:05:07 UTC (rev 112544)
@@ -340,4 +340,29 @@
                return true;
        }
        
+       /**
+        * Allows canceling the move of one title to another.
+        * @see https://www.mediawiki.org/wiki/Manual:Hooks/AbortMove
+        * 
+        * @since 0.1
+        * 
+        * @param Title $oldTitle
+        * @param Title $newTitle
+        * @param User $user
+        * @param string $error
+        * @param string $reason
+        * 
+        * @return boolean
+        */
+       public static function onAbortMove( Title $oldTitle, Title $newTitle, 
User $user, &$error, $reason ) {
+               $nss = array( EP_NS_COURSE, EP_NS_INSTITUTION, 
EP_NS_COURSE_TALK, EP_NS_INSTITUTION_TALK );
+               $allowed = !in_array( $oldTitle->getNamespace(), $nss ) && 
!in_array( $newTitle->getNamespace(), $nss );
+               
+               if ( !$allowed ) {
+                       $error = wfMsg( 'ep-move-error' );
+               }
+               
+               return $allowed;
+       }
+       
 }

Modified: trunk/extensions/EducationProgram/EducationProgram.i18n.php
===================================================================
--- trunk/extensions/EducationProgram/EducationProgram.i18n.php 2012-02-27 
23:52:06 UTC (rev 112543)
+++ trunk/extensions/EducationProgram/EducationProgram.i18n.php 2012-02-28 
00:05:07 UTC (rev 112544)
@@ -27,6 +27,7 @@
        'ep-org-course-delete' => "Deleted institution $1 and all it's courses",
        'ep-form-summary' => 'Summary:',
        'ep-form-minor' => 'This is a minor edit',
+       'ep-move-error' => 'You are not allowed to move articles in or out of 
the education namespaces.',
 
        // Tabs
        'ep-tab-view' => 'Read',

Modified: trunk/extensions/EducationProgram/EducationProgram.php
===================================================================
--- trunk/extensions/EducationProgram/EducationProgram.php      2012-02-27 
23:52:06 UTC (rev 112543)
+++ trunk/extensions/EducationProgram/EducationProgram.php      2012-02-28 
00:05:07 UTC (rev 112544)
@@ -187,6 +187,7 @@
 $wgHooks['ArticleFromTitle'][]                                                 
= 'EPHooks::onArticleFromTitle';
 $wgHooks['CanonicalNamespaces'][]                                      = 
'EPHooks::onCanonicalNamespaces';
 $wgHooks['TitleIsAlwaysKnown'][]                                       = 
'EPHooks::onTitleIsAlwaysKnown';
+$wgHooks['AbortMove'][]                                                        
= 'EPHooks::onAbortMove';
 
 // Actions
 $wgActions['epremarticle'] = 'EPRemoveArticleAction';


_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to