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

Revision: 102099
Author:   petrb
Date:     2011-11-05 14:57:47 +0000 (Sat, 05 Nov 2011)
Log Message:
-----------
new extension created initial folder + some stuff, it's work in progress

Added Paths:
-----------
    trunk/extensions/InteractiveBlockMessage/
    trunk/extensions/InteractiveBlockMessage/InteractiveBlockMessage.i18n.php
    trunk/extensions/InteractiveBlockMessage/InteractiveBlockMessage.php
    trunk/extensions/InteractiveBlockMessage/InteractiveBlockMessageHooks.php

Added: trunk/extensions/InteractiveBlockMessage/InteractiveBlockMessage.i18n.php
===================================================================
--- trunk/extensions/InteractiveBlockMessage/InteractiveBlockMessage.i18n.php   
                        (rev 0)
+++ trunk/extensions/InteractiveBlockMessage/InteractiveBlockMessage.i18n.php   
2011-11-05 14:57:47 UTC (rev 102099)
@@ -0,0 +1,25 @@
+<?php
+/**
+ * Internationalisation file for Interactive block message extension.
+ *
+ * @file
+ * @ingroup Extensions
+ */
+
+$messages = array();
+
+/**
+ * English
+ * @author Petr Bena
+ */
+$messages['en'] = array(
+       // Description 
+       'interactiveblockmessage-desc' => 'Creates magic word {{userblocked}} 
which if on userspace indicates if user is blocked or not.',
+);
+
+/** Message documentation (Message documentation)
+ * @author Petr Bena
+ */
+$messages['qqq'] = array(
+       'interactiveblockmessage-desc' => '{{desc}}',
+);


Property changes on: 
trunk/extensions/InteractiveBlockMessage/InteractiveBlockMessage.i18n.php
___________________________________________________________________
Added: svn:eol-style
   + native

Added: trunk/extensions/InteractiveBlockMessage/InteractiveBlockMessage.php
===================================================================
--- trunk/extensions/InteractiveBlockMessage/InteractiveBlockMessage.php        
                        (rev 0)
+++ trunk/extensions/InteractiveBlockMessage/InteractiveBlockMessage.php        
2011-11-05 14:57:47 UTC (rev 102099)
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Insert a new magic word
+ *
+ * @file
+ * @ingroup Extensions
+ * @author Petr Bena <[email protected]>
+ * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 
2.0 or later
+ * @link http://www.mediawiki.org/wiki/Extension:OnlineStatusBar Documentation
+ */
+
+if ( !defined( 'MEDIAWIKI' ) ) {
+       echo "This is a part of mediawiki and can't be started separately";
+       die();
+}
+
+$wgExtensionCredits[version_compare( $wgVersion, '1.17', '>=' ) ? 'userpage 
tools' : 'other'][] = array(
+       'path' => __FILE__,
+       'name' => 'Interactive block message',
+       'version' => '1.0.0',
+       'author' => array( 'Petr Bena' ),
+       'descriptionmsg' => 'interactiveblockmessage-desc',
+       'url' => 
'http://www.mediawiki.org/wiki/Extension:InteractiveBlockMessage',
+);
+
+$wgAutoloadClasses['InteractiveBlockMessage'] = 
"$dir/InteractiveBlockMessage.php";
+$wgAutoloadClasses['InteractiveBlockMessageHooks'] = 
"$dir/InteractiveBlockMessageHooks.php";
+
+$dir = dirname( __FILE__ );
+$wgExtensionMessagesFiles['InteractiveBlockMessage'] = 
"$dir/InteractiveBlockMessage.i18n.php";
+
+
+$wgHooks['LanguageGetMagic'][] = 'InteractiveBlockMessageHooks::magicWordVar';
+$wgHooks['MagicWordwgVariableIDs'][] = 
'InteractiveBlockMessageHooks::magicWordSet';
+$wgHooks['ParserGetVariableValueSwitch'][] = 
'InteractiveBlockMessageHooks::parserGetVariable';


Property changes on: 
trunk/extensions/InteractiveBlockMessage/InteractiveBlockMessage.php
___________________________________________________________________
Added: svn:eol-style
   + native

Added: trunk/extensions/InteractiveBlockMessage/InteractiveBlockMessageHooks.php
===================================================================
--- trunk/extensions/InteractiveBlockMessage/InteractiveBlockMessageHooks.php   
                        (rev 0)
+++ trunk/extensions/InteractiveBlockMessage/InteractiveBlockMessageHooks.php   
2011-11-05 14:57:47 UTC (rev 102099)
@@ -0,0 +1,61 @@
+<?php
+
+/**
+ * Hooks for Interactive block message
+ *
+ * @group Extensions
+ */
+class InteractiveBlockMessageHooks {
+       /**
+        * @param $magicWords array
+        * @param $ln string (language)
+        * @return bool
+        */
+       public static function magicWordVar( array &$magicWords, $ln ) {
+               $magicWords['userblocked'] = array( 0, 'userblocked' );
+               return true;
+       }
+
+       /**
+        * @param $vars array
+        * @return bool
+        */
+       public static function magicWordSet( &$vars ) {
+               $vars[] = 'userblocked';
+               return true;
+       }
+
+       /**
+        * @param $parser Parser
+        * @param $varCache ??
+        * @param $index ??
+        * @param $ret string?
+        * @return bool
+        */
+       public static function parserGetVariable( &$parser, &$varCache, 
&$index, &$ret ) {
+               if ( $index != 'userblocked' ) {
+                       return true;
+               }
+               
+               if ( $parser->getTitle->getNamespace() != NS_USER && 
$parser->getTitle->getNamespace() != NS_USER_TALK ) {
+                       $ret = "unknown";
+                        return true;
+                }
+
+               $user = User::newFromName( $parser->getTitle()->getBaseText() 
); 
+               if ($user instanceof User) {
+                       if ($user->isBlocked()) {
+                               $ret = "true";
+                               return true;
+                       } else {
+                               $ret = "false";
+                               return true;
+                       }
+               } else {
+                       $ret = "unknown";
+                       return true;
+               }
+               $ret = "unknown";       
+               return true;
+       }
+}


Property changes on: 
trunk/extensions/InteractiveBlockMessage/InteractiveBlockMessageHooks.php
___________________________________________________________________
Added: svn:eol-style
   + native


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

Reply via email to