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