From fc7369835258467bf97eb64f184b93691f9a9fd5 Mon Sep 17 00:00:00 2001 From: Yaco Date: Thu, 4 Jun 2020 11:01:00 -0300 Subject: first commit --- www/wiki/extensions/RegexFunctions/.gitignore | 7 + www/wiki/extensions/RegexFunctions/.gitreview | 6 + .../extensions/RegexFunctions/CODE_OF_CONDUCT.md | 1 + www/wiki/extensions/RegexFunctions/Gruntfile.js | 29 +++ .../RegexFunctions/RegexFunctions.i18n.magic.php | 114 +++++++++++ .../RegexFunctions/RegexFunctions.i18n.php | 35 ++++ .../extensions/RegexFunctions/RegexFunctions.php | 228 +++++++++++++++++++++ www/wiki/extensions/RegexFunctions/gitinfo.json | 1 + www/wiki/extensions/RegexFunctions/i18n/ar.json | 8 + www/wiki/extensions/RegexFunctions/i18n/arz.json | 8 + www/wiki/extensions/RegexFunctions/i18n/ast.json | 8 + .../extensions/RegexFunctions/i18n/be-tarask.json | 8 + www/wiki/extensions/RegexFunctions/i18n/br.json | 8 + www/wiki/extensions/RegexFunctions/i18n/bs.json | 8 + www/wiki/extensions/RegexFunctions/i18n/ca.json | 8 + www/wiki/extensions/RegexFunctions/i18n/cs.json | 9 + www/wiki/extensions/RegexFunctions/i18n/de.json | 4 + www/wiki/extensions/RegexFunctions/i18n/dsb.json | 8 + www/wiki/extensions/RegexFunctions/i18n/el.json | 8 + www/wiki/extensions/RegexFunctions/i18n/en.json | 6 + www/wiki/extensions/RegexFunctions/i18n/es.json | 8 + www/wiki/extensions/RegexFunctions/i18n/eu.json | 8 + www/wiki/extensions/RegexFunctions/i18n/fa.json | 8 + www/wiki/extensions/RegexFunctions/i18n/fi.json | 9 + www/wiki/extensions/RegexFunctions/i18n/fr.json | 9 + www/wiki/extensions/RegexFunctions/i18n/frp.json | 8 + www/wiki/extensions/RegexFunctions/i18n/gl.json | 8 + www/wiki/extensions/RegexFunctions/i18n/gsw.json | 8 + www/wiki/extensions/RegexFunctions/i18n/he.json | 8 + www/wiki/extensions/RegexFunctions/i18n/hil.json | 8 + www/wiki/extensions/RegexFunctions/i18n/hr.json | 8 + www/wiki/extensions/RegexFunctions/i18n/hsb.json | 8 + www/wiki/extensions/RegexFunctions/i18n/hu.json | 9 + www/wiki/extensions/RegexFunctions/i18n/ia.json | 8 + www/wiki/extensions/RegexFunctions/i18n/id.json | 8 + www/wiki/extensions/RegexFunctions/i18n/it.json | 8 + www/wiki/extensions/RegexFunctions/i18n/ja.json | 8 + www/wiki/extensions/RegexFunctions/i18n/ko.json | 8 + www/wiki/extensions/RegexFunctions/i18n/ksh.json | 8 + www/wiki/extensions/RegexFunctions/i18n/lb.json | 8 + www/wiki/extensions/RegexFunctions/i18n/li.json | 8 + www/wiki/extensions/RegexFunctions/i18n/lij.json | 8 + www/wiki/extensions/RegexFunctions/i18n/min.json | 8 + www/wiki/extensions/RegexFunctions/i18n/mk.json | 8 + www/wiki/extensions/RegexFunctions/i18n/ms.json | 8 + www/wiki/extensions/RegexFunctions/i18n/nb.json | 4 + www/wiki/extensions/RegexFunctions/i18n/nds.json | 8 + www/wiki/extensions/RegexFunctions/i18n/nl.json | 8 + www/wiki/extensions/RegexFunctions/i18n/nn.json | 9 + www/wiki/extensions/RegexFunctions/i18n/oc.json | 8 + www/wiki/extensions/RegexFunctions/i18n/pl.json | 9 + www/wiki/extensions/RegexFunctions/i18n/pms.json | 8 + www/wiki/extensions/RegexFunctions/i18n/pt-br.json | 8 + www/wiki/extensions/RegexFunctions/i18n/pt.json | 9 + www/wiki/extensions/RegexFunctions/i18n/qqq.json | 11 + www/wiki/extensions/RegexFunctions/i18n/ro.json | 8 + .../extensions/RegexFunctions/i18n/roa-tara.json | 8 + www/wiki/extensions/RegexFunctions/i18n/ru.json | 8 + www/wiki/extensions/RegexFunctions/i18n/sk.json | 8 + www/wiki/extensions/RegexFunctions/i18n/sr-ec.json | 9 + www/wiki/extensions/RegexFunctions/i18n/sr-el.json | 9 + www/wiki/extensions/RegexFunctions/i18n/sv.json | 8 + www/wiki/extensions/RegexFunctions/i18n/tl.json | 8 + www/wiki/extensions/RegexFunctions/i18n/tr.json | 8 + www/wiki/extensions/RegexFunctions/i18n/uk.json | 8 + www/wiki/extensions/RegexFunctions/i18n/vi.json | 8 + .../extensions/RegexFunctions/i18n/zh-hans.json | 8 + .../extensions/RegexFunctions/i18n/zh-hant.json | 4 + www/wiki/extensions/RegexFunctions/package.json | 12 ++ www/wiki/extensions/RegexFunctions/version | 4 + 70 files changed, 915 insertions(+) create mode 100644 www/wiki/extensions/RegexFunctions/.gitignore create mode 100644 www/wiki/extensions/RegexFunctions/.gitreview create mode 100644 www/wiki/extensions/RegexFunctions/CODE_OF_CONDUCT.md create mode 100644 www/wiki/extensions/RegexFunctions/Gruntfile.js create mode 100644 www/wiki/extensions/RegexFunctions/RegexFunctions.i18n.magic.php create mode 100644 www/wiki/extensions/RegexFunctions/RegexFunctions.i18n.php create mode 100644 www/wiki/extensions/RegexFunctions/RegexFunctions.php create mode 100644 www/wiki/extensions/RegexFunctions/gitinfo.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/ar.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/arz.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/ast.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/be-tarask.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/br.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/bs.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/ca.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/cs.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/de.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/dsb.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/el.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/en.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/es.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/eu.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/fa.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/fi.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/fr.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/frp.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/gl.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/gsw.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/he.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/hil.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/hr.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/hsb.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/hu.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/ia.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/id.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/it.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/ja.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/ko.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/ksh.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/lb.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/li.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/lij.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/min.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/mk.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/ms.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/nb.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/nds.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/nl.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/nn.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/oc.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/pl.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/pms.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/pt-br.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/pt.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/qqq.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/ro.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/roa-tara.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/ru.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/sk.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/sr-ec.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/sr-el.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/sv.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/tl.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/tr.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/uk.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/vi.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/zh-hans.json create mode 100644 www/wiki/extensions/RegexFunctions/i18n/zh-hant.json create mode 100644 www/wiki/extensions/RegexFunctions/package.json create mode 100644 www/wiki/extensions/RegexFunctions/version (limited to 'www/wiki/extensions/RegexFunctions') diff --git a/www/wiki/extensions/RegexFunctions/.gitignore b/www/wiki/extensions/RegexFunctions/.gitignore new file mode 100644 index 00000000..e62fc28b --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/.gitignore @@ -0,0 +1,7 @@ +node_modules/ +vendor/ + +.svn +*~ +*.kate-swp +.*.swp diff --git a/www/wiki/extensions/RegexFunctions/.gitreview b/www/wiki/extensions/RegexFunctions/.gitreview new file mode 100644 index 00000000..1d685bc8 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/.gitreview @@ -0,0 +1,6 @@ +[gerrit] +host=gerrit.wikimedia.org +port=29418 +project=mediawiki/extensions/RegexFunctions.git +track=1 +defaultrebase=0 \ No newline at end of file diff --git a/www/wiki/extensions/RegexFunctions/CODE_OF_CONDUCT.md b/www/wiki/extensions/RegexFunctions/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..d8e5d087 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/CODE_OF_CONDUCT.md @@ -0,0 +1 @@ +The development of this software is covered by a [Code of Conduct](https://www.mediawiki.org/wiki/Code_of_Conduct). diff --git a/www/wiki/extensions/RegexFunctions/Gruntfile.js b/www/wiki/extensions/RegexFunctions/Gruntfile.js new file mode 100644 index 00000000..2db815fa --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/Gruntfile.js @@ -0,0 +1,29 @@ +/*jshint node:true */ +module.exports = function ( grunt ) { + grunt.loadNpmTasks( 'grunt-jsonlint' ); + grunt.loadNpmTasks( 'grunt-contrib-jshint' ); + grunt.loadNpmTasks( 'grunt-banana-checker' ); + + grunt.initConfig( { + banana: { + all: 'i18n/' + }, + jshint: { + all: [ + '**/*.js', + '!node_modules/**', + '!vendor/**' + ] + }, + jsonlint: { + all: [ + '**/*.json', + '!node_modules/**', + '!vendor/**' + ] + } + } ); + + grunt.registerTask( 'test', [ 'jsonlint', 'banana', 'jshint' ] ); + grunt.registerTask( 'default', 'test' ); +}; diff --git a/www/wiki/extensions/RegexFunctions/RegexFunctions.i18n.magic.php b/www/wiki/extensions/RegexFunctions/RegexFunctions.i18n.magic.php new file mode 100644 index 00000000..8cb3e9b6 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/RegexFunctions.i18n.magic.php @@ -0,0 +1,114 @@ + array( 0, 'rmatch' ), + 'rsplit' => array( 0, 'rsplit' ), + 'rreplace' => array( 0, 'rreplace' ), +); + +/** Arabic (العربية) */ +$magicWords['ar'] = array( + 'rmatch' => array( 0, 'مطابقة_ريجيكس' ), + 'rsplit' => array( 0, 'فصل_ريجيكس' ), + 'rreplace' => array( 0, 'استبدال_ريجيكس' ), +); + +/** Egyptian Arabic (مصرى) */ +$magicWords['arz'] = array( + 'rmatch' => array( 0, 'مطابقه_ريجيكس' ), + 'rsplit' => array( 0, 'فصل_ريجيكس' ), + 'rreplace' => array( 0, 'استبدال_ريجيكس' ), +); + +/** Chuvash (Чӑвашла) */ +$magicWords['cv'] = array( + 'rmatch' => array( 0, 'rmatch' ), + 'rsplit' => array( 0, 'rsplit' ), + 'rreplace' => array( 0, 'rreplace' ), +); + +/** German (Deutsch) */ +$magicWords['de'] = array( + 'rmatch' => array( 0, 'r_zuordnen' ), + 'rsplit' => array( 0, 'r_aufteilen' ), + 'rreplace' => array( 0, 'r_ersetzen' ), +); + +/** Japanese (日本語) */ +$magicWords['ja'] = array( + 'rmatch' => array( 0, '正規表現一致' ), + 'rsplit' => array( 0, '正規表現分割' ), + 'rreplace' => array( 0, '正規表現置き換え' ), +); + +/** Korean (한국어) */ +$magicWords['ko'] = array( + 'rmatch' => array( 0, 'r찾기' ), + 'rsplit' => array( 0, 'r분할' ), + 'rreplace' => array( 0, 'r바꾸기' ), +); + +/** Macedonian (македонски) */ +$magicWords['mk'] = array( + 'rmatch' => array( 0, 'рсовпадни' ), + 'rsplit' => array( 0, 'родвој' ), + 'rreplace' => array( 0, 'рзамени' ), +); + +/** Malayalam (മലയാളം) */ +$magicWords['ml'] = array( + 'rmatch' => array( 0, 'ചേരുമ്പടി' ), + 'rsplit' => array( 0, 'വിഘടിപ്പിക്കൽ' ), + 'rreplace' => array( 0, 'മാറ്റിച്ചേർക്കൽ' ), +); + +/** Marathi (मराठी) */ +$magicWords['mr'] = array( + 'rmatch' => array( 0, 'रिजुळवा', 'रजुळवा' ), + 'rsplit' => array( 0, 'रितोडा', 'रतोडा' ), + 'rreplace' => array( 0, 'रिबदला', 'रबदला' ), +); + +/** Low Saxon (Netherlands) (Nedersaksies) */ +$magicWords['nds-nl'] = array( + 'rmatch' => array( 0, 'rvergelieken' ), +); + +/** Dutch (Nederlands) */ +$magicWords['nl'] = array( + 'rmatch' => array( 0, 'rvergelijken' ), + 'rsplit' => array( 0, 'rsplitsen' ), + 'rreplace' => array( 0, 'rvervangen' ), +); + +/** Serbian (Cyrillic script) (српски (ћирилица)‎) */ +$magicWords['sr-ec'] = array( + 'rmatch' => array( 0, 'рпоклопи' ), + 'rsplit' => array( 0, 'рраздвоји', 'рподели' ), + 'rreplace' => array( 0, 'рзамени' ), +); + +/** Serbian (Latin script) (srpski (latinica)‎) */ +$magicWords['sr-el'] = array( + 'rmatch' => array( 0, 'rpoklopi' ), + 'rsplit' => array( 0, 'rrazdvoji', 'rpodeli' ), + 'rreplace' => array( 0, 'rzameni' ), +); + +/** Simplified Chinese (中文(简体)‎) */ +$magicWords['zh-hans'] = array( + 'rmatch' => array( 0, '重新匹配' ), + 'rsplit' => array( 0, '重新分解' ), + 'rreplace' => array( 0, '重新取代' ), +); + +/** Traditional Chinese (中文(繁體)‎) */ +$magicWords['zh-hant'] = array( + 'rmatch' => array( 0, '重新分配' ), +); \ No newline at end of file diff --git a/www/wiki/extensions/RegexFunctions/RegexFunctions.i18n.php b/www/wiki/extensions/RegexFunctions/RegexFunctions.i18n.php new file mode 100644 index 00000000..64828741 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/RegexFunctions.i18n.php @@ -0,0 +1,35 @@ + __FILE__, + 'name' => 'RegexFunctions', + 'author' => 'Ryan Schmidt', + 'version' => '1.5.0', + 'descriptionmsg' => 'regexfunctions-desc', + 'url' => 'https://www.mediawiki.org/wiki/Extension:RegexFunctions', +); + +$dir = dirname( __FILE__ ) . '/'; +$wgMessagesDirs['RegexFunctions'] = __DIR__ . '/i18n'; +$wgExtensionMessagesFiles['RegexFunctions'] = $dir . 'RegexFunctions.i18n.php'; +$wgExtensionMessagesFiles['RegexFunctionsMagic'] = $dir . 'RegexFunctions.i18n.magic.php'; + +$wgHooks['ParserFirstCallInit'][] = 'ExtRegexFunctions::onParserFirstCallInit'; +$wgHooks['ParserClearState'][] = 'ExtRegexFunctions::onParserClearState'; + +// default globals +// how many functions are allowed in a single page? Keep this at least above 3 for usability +$wgRegexFunctionsPerPage = 10; +// should we allow modifiers in the functions, e.g. the /i modifier for case-insensitive? +$wgRegexFunctionsAllowModifiers = true; +// should we allow internal options to be set (e.g. (?opts) or (?opts:some regex)) +$wgRegexFunctionsAllowOptions = true; +// limit for rsplit and rreplace functions. -1 is unlimited +$wgRegexFunctionsLimit = -1; +// array of functions to disable, aka these functions cannot be used :) +$wgRegexFunctionsDisable = array(); + +class ExtRegexFunctions { + private static $num = 0; + private static $modifiers = array( + 'i', 'm', 's', 'x', 'A', 'D', 'S', 'U', 'X', 'J', 'u', 'e' + ); + private static $options = array( 'i', 'm', 's', 'x', 'U', 'X', 'J' ); + + public static function onParserFirstCallInit( $parser ) { + $parser->setFunctionHook( 'rmatch', array( __CLASS__, 'rmatch' ) ); + $parser->setFunctionHook( 'rsplit', array( __CLASS__, 'rsplit' ) ); + $parser->setFunctionHook( 'rreplace', array( __CLASS__, 'rreplace' ) ); + return true; + } + + public static function onParserClearState( $parser ) { + self::$num = 0; + return true; + } + + public static function rmatch( &$parser, $string = '', $pattern = '', $return = '', $notfound = '', $offset = 0 ) { + global $wgRegexFunctionsPerPage, $wgRegexFunctionsAllowModifiers, $wgRegexFunctionsDisable; + if( in_array( 'rmatch', $wgRegexFunctionsDisable ) ) { + return; + } + self::$num++; + if( self::$num > $wgRegexFunctionsPerPage ) { + return; + } + $pattern = self::sanitize( + $pattern, + $wgRegexFunctionsAllowModifiers + ); + $num = preg_match( + $pattern, $string, $matches, PREG_OFFSET_CAPTURE, (int) $offset + ); + if ( $num === false ) { + return; + } + if ( $num === 0 ) { + if ( $notfound == '$0' ) { + //Return the original string if specified to display it with $0. + return $string; + } + return $notfound; + } + + // change all backslashes to $ + $return = str_replace( '\\', '%$', $return ); + $return = preg_replace_callback( + '/%?\$%?\$([0-9]+)/', + function ( $_callbackMatches ) use ( $matches ) { + return array_key_exists($_callbackMatches[1], $matches) ? $matches[$_callbackMatches[1]][1] : ''; + }, + $return + ); + $return = preg_replace_callback( + '/%?\$%?\$\{([0-9]+)\}/', + function ( $_callbackMatches ) use ( $matches ) { + return array_key_exists($_callbackMatches[1], $matches) ? $matches[$_callbackMatches[1]][1] : ''; + }, + $return + ); + $return = preg_replace_callback( + '/%?\$([0-9]+)/', + function ( $_callbackMatches ) use ( $matches ) { + return array_key_exists($_callbackMatches[1], $matches) ? $matches[$_callbackMatches[1]][0] : ''; + }, + $return + ); + $return = preg_replace_callback( + '/%?\$\{([0-9]+)\}/', + function ( $_callbackMatches ) use ( $matches ) { + return array_key_exists($_callbackMatches[1], $matches) ? $matches[$_callbackMatches[1]][0] : ''; + }, + $return + ); + $return = str_replace( '%$', '\\', $return ); + + return $return; + } + + public static function rsplit( &$parser, $string = '', $pattern = '', $piece = 0 ) { + global $wgRegexFunctionsPerPage, $wgRegexFunctionsAllowModifiers, $wgRegexFunctionsLimit, $wgRegexFunctionsDisable; + if( in_array( 'rsplit', $wgRegexFunctionsDisable ) ) { + return; + } + self::$num++; + if( self::$num > $wgRegexFunctionsPerPage ) { + return; + } + $pattern = self::sanitize( + $pattern, + $wgRegexFunctionsAllowModifiers + ); + $res = preg_split( $pattern, $string, $wgRegexFunctionsLimit ); + $p = (int) $piece; + // allow negative pieces to work from the end of the array + if( $p < 0 ) { + $p = $p + count( $res ); + } + // sanitation for pieces that don't exist + if( $p < 0 ) { + $p = 0; + } + if( $p >= count( $res ) ) { + $p = count( $res ) - 1; + } + return $res[$p]; + } + + public static function rreplace( &$parser, $string = '', $pattern = '', $replace = '' ) { + global $wgRegexFunctionsPerPage, $wgRegexFunctionsAllowModifiers, $wgRegexFunctionsLimit, $wgRegexFunctionsDisable; + if( in_array( 'rreplace', $wgRegexFunctionsDisable ) ) { + return; + } + self::$num++; + if( self::$num > $wgRegexFunctionsPerPage ) { + return; + } + $pattern = self::sanitize( + str_replace(chr(0), '', $pattern), + $wgRegexFunctionsAllowModifiers + ); + $res = preg_replace( + $pattern, + $replace, + $string, + $wgRegexFunctionsLimit + ); + return $res; + } + + // santizes a regex pattern + private static function sanitize( $pattern, $m = false ) { + if( preg_match( '/^\/(.*)([^\\\\])\/(.*?)$/', $pattern, $matches ) ) { + $pat = preg_replace_callback( + '/([^\\\\])?\(\?(.*\:)?(.*)\)/U', + function ( $_callbackMatches ) { + return "{$_callbackMatches[1]}(" . self::cleanupInternal( $_callbackMatches[2] ) . "{$_callbackMatches[3]})"; + }, + $matches[1] . $matches[2] + ); + $ret = '/' . $pat . '/'; + if( $m ) { + $mod = ''; + foreach( self::$modifiers as $val ) { + if( strpos( $matches[3], $val ) !== false ) { + $mod .= $val; + } + } + $mod = str_replace( 'e', '', $mod ); //Get rid of eval modifier. + $ret .= $mod; + } + } else { + $pat = preg_replace_callback( + '/([^\\\\])?\(\?(.*\:)?(.*)\)/U', + function ( $_callbackMatches ) { + return "{$_callbackMatches[1]}(" . self::cleanupInternal( $_callbackMatches[2] ) . "{$_callbackMatches[3]})"; + }, + $pattern + ); + $pat = preg_replace( '!([^\\\\])/!', '$1\\/', $pat ); + $ret = '/' . $pat . '/'; + } + return $ret; + } + + // cleans up internal options, making sure they are valid + private static function cleanupInternal( $str ) { + global $wgRegexFunctionsAllowOptions; + $ret = ''; + if ( !$wgRegexFunctionsAllowOptions ) { + return ''; + } + foreach ( self::$options as $opt ) { + if( strpos( $str, $opt ) !== false ) { + $ret .= $opt; + } + } + return $ret; + } +} diff --git a/www/wiki/extensions/RegexFunctions/gitinfo.json b/www/wiki/extensions/RegexFunctions/gitinfo.json new file mode 100644 index 00000000..742093cc --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/gitinfo.json @@ -0,0 +1 @@ +{"headSHA1": "46808899e85f4ff465c28cb7553588002283970b\n", "head": "46808899e85f4ff465c28cb7553588002283970b\n", "remoteURL": "https://gerrit.wikimedia.org/r/mediawiki/extensions/RegexFunctions", "branch": "46808899e85f4ff465c28cb7553588002283970b\n", "headCommitDate": "1496833865"} \ No newline at end of file diff --git a/www/wiki/extensions/RegexFunctions/i18n/ar.json b/www/wiki/extensions/RegexFunctions/i18n/ar.json new file mode 100644 index 00000000..237c539c --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/ar.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Meno25" + ] + }, + "regexfunctions-desc": "دوال محلل تعبيرات منتظمة" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/arz.json b/www/wiki/extensions/RegexFunctions/i18n/arz.json new file mode 100644 index 00000000..237c539c --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/arz.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Meno25" + ] + }, + "regexfunctions-desc": "دوال محلل تعبيرات منتظمة" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/ast.json b/www/wiki/extensions/RegexFunctions/i18n/ast.json new file mode 100644 index 00000000..1e215400 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/ast.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Xuacu" + ] + }, + "regexfunctions-desc": "Funciones de analís d'espresiones regulares" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/be-tarask.json b/www/wiki/extensions/RegexFunctions/i18n/be-tarask.json new file mode 100644 index 00000000..d3e51f45 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/be-tarask.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "EugeneZelenko" + ] + }, + "regexfunctions-desc": "Функцыі парсэра для працы з рэгулярнымі выразамі" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/br.json b/www/wiki/extensions/RegexFunctions/i18n/br.json new file mode 100644 index 00000000..666e00c0 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/br.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Fulup" + ] + }, + "regexfunctions-desc": "Arc'hwelioù parser lavarennoù reoliek" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/bs.json b/www/wiki/extensions/RegexFunctions/i18n/bs.json new file mode 100644 index 00000000..04edb263 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/bs.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "CERminator" + ] + }, + "regexfunctions-desc": "Regularni izraz parserskih funkcija" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/ca.json b/www/wiki/extensions/RegexFunctions/i18n/ca.json new file mode 100644 index 00000000..c64318ab --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/ca.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "SMP" + ] + }, + "regexfunctions-desc": "Funcions parser amb expressions regulars (regexp)" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/cs.json b/www/wiki/extensions/RegexFunctions/i18n/cs.json new file mode 100644 index 00000000..023f6163 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/cs.json @@ -0,0 +1,9 @@ +{ + "@metadata": { + "authors": [ + "Vks", + "Matěj Grabovský" + ] + }, + "regexfunctions-desc": "Funkce syntaktického analyzátoru pro regulární výrazy" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/de.json b/www/wiki/extensions/RegexFunctions/i18n/de.json new file mode 100644 index 00000000..42c33f3e --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/de.json @@ -0,0 +1,4 @@ +{ + "@metadata": [], + "regexfunctions-desc": "Parserfunktionen für reguläre Ausdrücke" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/dsb.json b/www/wiki/extensions/RegexFunctions/i18n/dsb.json new file mode 100644 index 00000000..e309d277 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/dsb.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Michawiki" + ] + }, + "regexfunctions-desc": "Parserowe funkcije za regularne wuraze" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/el.json b/www/wiki/extensions/RegexFunctions/i18n/el.json new file mode 100644 index 00000000..16488c39 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/el.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Omnipaedista" + ] + }, + "regexfunctions-desc": "Λεξιαναλυτικές συναρτήσεις τακτικών εκφράσεων" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/en.json b/www/wiki/extensions/RegexFunctions/i18n/en.json new file mode 100644 index 00000000..e001cad6 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/en.json @@ -0,0 +1,6 @@ +{ + "@metadata": { + "authors": [] + }, + "regexfunctions-desc": "Regular expression parser functions" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/es.json b/www/wiki/extensions/RegexFunctions/i18n/es.json new file mode 100644 index 00000000..bf41985b --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/es.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Sanbec" + ] + }, + "regexfunctions-desc": "Funciones sintácticas de expresiones regulares" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/eu.json b/www/wiki/extensions/RegexFunctions/i18n/eu.json new file mode 100644 index 00000000..37765165 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/eu.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Theklan" + ] + }, + "regexfunctions-desc": "Espresio erregularra parser funtzioa" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/fa.json b/www/wiki/extensions/RegexFunctions/i18n/fa.json new file mode 100644 index 00000000..bb01f12f --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/fa.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "ZxxZxxZ" + ] + }, + "regexfunctions-desc": "توابع تجزیه‌گر عبارت باقاعده" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/fi.json b/www/wiki/extensions/RegexFunctions/i18n/fi.json new file mode 100644 index 00000000..ad586d9d --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/fi.json @@ -0,0 +1,9 @@ +{ + "@metadata": { + "authors": [ + "Nike", + "Vililikku" + ] + }, + "regexfunctions-desc": "Säännöllisten lausekkeiden jäsennysfunktioita" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/fr.json b/www/wiki/extensions/RegexFunctions/i18n/fr.json new file mode 100644 index 00000000..6b79d152 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/fr.json @@ -0,0 +1,9 @@ +{ + "@metadata": { + "authors": [ + "Grondin", + "Urhixidur" + ] + }, + "regexfunctions-desc": "Fonctions d’analyse syntaxique concernant les expressions rationnelles" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/frp.json b/www/wiki/extensions/RegexFunctions/i18n/frp.json new file mode 100644 index 00000000..1d124c57 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/frp.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "ChrisPtDe" + ] + }, + "regexfunctions-desc": "Fonccions du parsor de les èxprèssions racionèles" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/gl.json b/www/wiki/extensions/RegexFunctions/i18n/gl.json new file mode 100644 index 00000000..9ed4a51c --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/gl.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Toliño" + ] + }, + "regexfunctions-desc": "Funcións de análise de expresións regulares" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/gsw.json b/www/wiki/extensions/RegexFunctions/i18n/gsw.json new file mode 100644 index 00000000..76bfb647 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/gsw.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Als-Holder" + ] + }, + "regexfunctions-desc": "Parserfunktione fir reguläri Uusdrick" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/he.json b/www/wiki/extensions/RegexFunctions/i18n/he.json new file mode 100644 index 00000000..bdce8810 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/he.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Rotemliss" + ] + }, + "regexfunctions-desc": "פונקציות פענוח לביטויים רגולריים" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/hil.json b/www/wiki/extensions/RegexFunctions/i18n/hil.json new file mode 100644 index 00000000..63decaec --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/hil.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Tagimata" + ] + }, + "regexfunctions-desc": "Regular nga ekspresyon parser panksiyon" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/hr.json b/www/wiki/extensions/RegexFunctions/i18n/hr.json new file mode 100644 index 00000000..564e1bac --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/hr.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Dalibor Bosits" + ] + }, + "regexfunctions-desc": "Parserske funkcije s regularnim izrazom" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/hsb.json b/www/wiki/extensions/RegexFunctions/i18n/hsb.json new file mode 100644 index 00000000..fd8edbbc --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/hsb.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Michawiki" + ] + }, + "regexfunctions-desc": "Analyzowanske funkcije za regularne wurazy" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/hu.json b/www/wiki/extensions/RegexFunctions/i18n/hu.json new file mode 100644 index 00000000..1fd62d88 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/hu.json @@ -0,0 +1,9 @@ +{ + "@metadata": { + "authors": [ + "Dani", + "Glanthor Reviol" + ] + }, + "regexfunctions-desc": "Értelmezőfüggvények reguláris kifejezések használatához" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/ia.json b/www/wiki/extensions/RegexFunctions/i18n/ia.json new file mode 100644 index 00000000..a95bfbce --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/ia.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "McDutchie" + ] + }, + "regexfunctions-desc": "Functiones del analysator syntactic pro expressiones regular" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/id.json b/www/wiki/extensions/RegexFunctions/i18n/id.json new file mode 100644 index 00000000..a8de809e --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/id.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Bennylin" + ] + }, + "regexfunctions-desc": "Fungsi parser untuk \"regular expression\" (regex)" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/it.json b/www/wiki/extensions/RegexFunctions/i18n/it.json new file mode 100644 index 00000000..515adb1c --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/it.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Darth Kule" + ] + }, + "regexfunctions-desc": "Funzioni parser di espressioni regolari" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/ja.json b/www/wiki/extensions/RegexFunctions/i18n/ja.json new file mode 100644 index 00000000..c5d98c55 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/ja.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Fryed-peach" + ] + }, + "regexfunctions-desc": "正規表現パーサー関数" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/ko.json b/www/wiki/extensions/RegexFunctions/i18n/ko.json new file mode 100644 index 00000000..e369201d --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/ko.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Kwj2772" + ] + }, + "regexfunctions-desc": "정규 표현식 파서 함수" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/ksh.json b/www/wiki/extensions/RegexFunctions/i18n/ksh.json new file mode 100644 index 00000000..af6abb9e --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/ksh.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Purodha" + ] + }, + "regexfunctions-desc": "Paaser-Fungxjuhne met rejolähre Ußdrök dren." +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/lb.json b/www/wiki/extensions/RegexFunctions/i18n/lb.json new file mode 100644 index 00000000..b370606b --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/lb.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Robby" + ] + }, + "regexfunctions-desc": "Parserfunktioune fir regulär Ausdréck" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/li.json b/www/wiki/extensions/RegexFunctions/i18n/li.json new file mode 100644 index 00000000..ab0879ca --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/li.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Ooswesthoesbes" + ] + }, + "regexfunctions-desc": "Regelierexpressieparserfunksje" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/lij.json b/www/wiki/extensions/RegexFunctions/i18n/lij.json new file mode 100644 index 00000000..05622de8 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/lij.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Giromin Cangiaxo" + ] + }, + "regexfunctions-desc": "Fonçioin parser d'esprescioin regolæ" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/min.json b/www/wiki/extensions/RegexFunctions/i18n/min.json new file mode 100644 index 00000000..8bb76185 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/min.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Iwan Novirion" + ] + }, + "regexfunctions-desc": "Fungsi parser untuak \"regular expression\" (regex)" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/mk.json b/www/wiki/extensions/RegexFunctions/i18n/mk.json new file mode 100644 index 00000000..a198bc60 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/mk.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Bjankuloski06" + ] + }, + "regexfunctions-desc": "Расчленувачки функции со регуларен израз" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/ms.json b/www/wiki/extensions/RegexFunctions/i18n/ms.json new file mode 100644 index 00000000..5566c8f6 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/ms.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Anakmalaysia" + ] + }, + "regexfunctions-desc": "Fungsi penghurai ungkapan nalar" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/nb.json b/www/wiki/extensions/RegexFunctions/i18n/nb.json new file mode 100644 index 00000000..1db0c474 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/nb.json @@ -0,0 +1,4 @@ +{ + "@metadata": [], + "regexfunctions-desc": "Parserfunksjon for regulære uttrykk" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/nds.json b/www/wiki/extensions/RegexFunctions/i18n/nds.json new file mode 100644 index 00000000..03f49a0c --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/nds.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Slomox" + ] + }, + "regexfunctions-desc": "Parserfunktionen för reguläre Utdrück" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/nl.json b/www/wiki/extensions/RegexFunctions/i18n/nl.json new file mode 100644 index 00000000..4c6205f3 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/nl.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Siebrand" + ] + }, + "regexfunctions-desc": "Parserfuncties voor reguliere expressies" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/nn.json b/www/wiki/extensions/RegexFunctions/i18n/nn.json new file mode 100644 index 00000000..7a3a8171 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/nn.json @@ -0,0 +1,9 @@ +{ + "@metadata": { + "authors": [ + "Harald Khan", + "Njardarlogar" + ] + }, + "regexfunctions-desc": "Parserfunksjonar for regulære uttrykk" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/oc.json b/www/wiki/extensions/RegexFunctions/i18n/oc.json new file mode 100644 index 00000000..d1650b9b --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/oc.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Cedric31" + ] + }, + "regexfunctions-desc": "Foncions parsers de las expressions regularas" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/pl.json b/www/wiki/extensions/RegexFunctions/i18n/pl.json new file mode 100644 index 00000000..d22d497e --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/pl.json @@ -0,0 +1,9 @@ +{ + "@metadata": { + "authors": [ + "Matma Rex", + "Sp5uhe" + ] + }, + "regexfunctions-desc": "Funkcje parsera obsługi wyrażeń regularnych" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/pms.json b/www/wiki/extensions/RegexFunctions/i18n/pms.json new file mode 100644 index 00000000..51bfe702 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/pms.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Dragonòt" + ] + }, + "regexfunctions-desc": "Fonsion ëd parser d'espression regolar" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/pt-br.json b/www/wiki/extensions/RegexFunctions/i18n/pt-br.json new file mode 100644 index 00000000..6afe9aa1 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/pt-br.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Eduardo.mps" + ] + }, + "regexfunctions-desc": "Funções de análise (parser) para expressões regulares" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/pt.json b/www/wiki/extensions/RegexFunctions/i18n/pt.json new file mode 100644 index 00000000..3f669380 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/pt.json @@ -0,0 +1,9 @@ +{ + "@metadata": { + "authors": [ + "Hamilton Abreu", + "Waldir" + ] + }, + "regexfunctions-desc": "Funções do analisador sintático para expressões regulares" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/qqq.json b/www/wiki/extensions/RegexFunctions/i18n/qqq.json new file mode 100644 index 00000000..ca711229 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/qqq.json @@ -0,0 +1,11 @@ +{ + "@metadata": { + "authors": [ + "Purodha", + "Shirayuki", + "The Evil IP address", + "Umherirrender" + ] + }, + "regexfunctions-desc": "{{desc|name=Regex Functions|url=https://www.mediawiki.org/wiki/Extension:RegexFunctions}}" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/ro.json b/www/wiki/extensions/RegexFunctions/i18n/ro.json new file mode 100644 index 00000000..70dd334c --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/ro.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "KlaudiuMihaila" + ] + }, + "regexfunctions-desc": "Funcții de parsare a expresiilor regulate" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/roa-tara.json b/www/wiki/extensions/RegexFunctions/i18n/roa-tara.json new file mode 100644 index 00000000..1764c032 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/roa-tara.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Joetaras" + ] + }, + "regexfunctions-desc": "Funziune d'u 'nderprete de le espressiune regolere" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/ru.json b/www/wiki/extensions/RegexFunctions/i18n/ru.json new file mode 100644 index 00000000..c3ffa327 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/ru.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Ferrer" + ] + }, + "regexfunctions-desc": "Функции парсера с регулярными выражениями" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/sk.json b/www/wiki/extensions/RegexFunctions/i18n/sk.json new file mode 100644 index 00000000..e6224f1e --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/sk.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Helix84" + ] + }, + "regexfunctions-desc": "Funkcie syntaktického analyzátora regulárnych výrazov" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/sr-ec.json b/www/wiki/extensions/RegexFunctions/i18n/sr-ec.json new file mode 100644 index 00000000..64809beb --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/sr-ec.json @@ -0,0 +1,9 @@ +{ + "@metadata": { + "authors": [ + "Rancher", + "Михајло Анђелковић" + ] + }, + "regexfunctions-desc": "Рашчлањивачке функције с регуларним изразом" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/sr-el.json b/www/wiki/extensions/RegexFunctions/i18n/sr-el.json new file mode 100644 index 00000000..f698f4b6 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/sr-el.json @@ -0,0 +1,9 @@ +{ + "@metadata": { + "authors": [ + "Michaello", + "Rancher" + ] + }, + "regexfunctions-desc": "Raščlanjivačke funkcije s regularnim izrazom" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/sv.json b/www/wiki/extensions/RegexFunctions/i18n/sv.json new file mode 100644 index 00000000..f8b8a5b5 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/sv.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Boivie" + ] + }, + "regexfunctions-desc": "Parserfunktioner för Reguljära uttryck" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/tl.json b/www/wiki/extensions/RegexFunctions/i18n/tl.json new file mode 100644 index 00000000..6c46238b --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/tl.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "AnakngAraw" + ] + }, + "regexfunctions-desc": "Mga tungkuling pambanghay ng pangkaraniwang pagsasaad" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/tr.json b/www/wiki/extensions/RegexFunctions/i18n/tr.json new file mode 100644 index 00000000..31beb8cf --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/tr.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Vito Genovese" + ] + }, + "regexfunctions-desc": "Kurallı ifade ayrıştırıcı fonksiyonları" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/uk.json b/www/wiki/extensions/RegexFunctions/i18n/uk.json new file mode 100644 index 00000000..f06e9310 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/uk.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "AS" + ] + }, + "regexfunctions-desc": "Парсерні функції регулярних виразів" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/vi.json b/www/wiki/extensions/RegexFunctions/i18n/vi.json new file mode 100644 index 00000000..70e8533a --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/vi.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Vinhtantran" + ] + }, + "regexfunctions-desc": "Hàm phân tích biểu thức chính quy" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/zh-hans.json b/www/wiki/extensions/RegexFunctions/i18n/zh-hans.json new file mode 100644 index 00000000..478cfd52 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/zh-hans.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Hydra" + ] + }, + "regexfunctions-desc": "正则表达式解析器功能" +} diff --git a/www/wiki/extensions/RegexFunctions/i18n/zh-hant.json b/www/wiki/extensions/RegexFunctions/i18n/zh-hant.json new file mode 100644 index 00000000..41c4cc31 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/i18n/zh-hant.json @@ -0,0 +1,4 @@ +{ + "@metadata": [], + "regexfunctions-desc": "正則表達式解析器功能" +} diff --git a/www/wiki/extensions/RegexFunctions/package.json b/www/wiki/extensions/RegexFunctions/package.json new file mode 100644 index 00000000..e87548ca --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/package.json @@ -0,0 +1,12 @@ +{ + "private": true, + "scripts": { + "test": "grunt test" + }, + "devDependencies": { + "grunt": "1.0.1", + "grunt-banana-checker": "0.5.0", + "grunt-contrib-jshint": "1.1.0", + "grunt-jsonlint": "1.1.0" + } +} diff --git a/www/wiki/extensions/RegexFunctions/version b/www/wiki/extensions/RegexFunctions/version new file mode 100644 index 00000000..15c1d3b3 --- /dev/null +++ b/www/wiki/extensions/RegexFunctions/version @@ -0,0 +1,4 @@ +RegexFunctions: REL1_30 +2017-09-21T22:17:51 + +4680889 -- cgit v1.2.1