diff options
Diffstat (limited to 'extensions/TitleBlacklist/TitleBlacklist.library.php')
-rw-r--r-- | extensions/TitleBlacklist/TitleBlacklist.library.php | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/extensions/TitleBlacklist/TitleBlacklist.library.php b/extensions/TitleBlacklist/TitleBlacklist.library.php new file mode 100644 index 00000000..0c2a599c --- /dev/null +++ b/extensions/TitleBlacklist/TitleBlacklist.library.php @@ -0,0 +1,33 @@ +<?php + +class Scribunto_LuaTitleBlacklistLibrary extends Scribunto_LuaLibraryBase { + public function register() { + $lib = array( + 'test' => array( $this, 'test' ), + ); + + $this->getEngine()->registerInterface( __DIR__ . '/mw.ext.TitleBlacklist.lua', $lib, array() ); + } + + public function test( $action = null, $title = null ) { + $this->checkType( 'mw.ext.TitleBlacklist.test', 1, $action, 'string' ); + $this->checkTypeOptional( 'mw.ext.TitleBlacklist.test', 2, $title, 'string', '' ); + $this->incrementExpensiveFunctionCount(); + if ( $title == '' ) { + $title = $this->getParser()->mTitle->getPrefixedText(); + } + $entry = TitleBlacklist::singleton()->isBlacklisted( $title, $action ); + if ( $entry ) { + return array( array( + 'params' => $entry->getParams(), + 'regex' => $entry->getRegex(), + 'raw' => $entry->getRaw(), + 'version' => $entry->getFormatVersion(), + 'message' => $entry->getErrorMessage( $action ), + 'custommessage' => $entry->getCustomMessage() + ) ); + } + return array( null ); + } + +} |