https://www.mediawiki.org/wiki/Special:Code/MediaWiki/103350
Revision: 103350
Author: danwe
Date: 2011-11-16 18:47:49 +0000 (Wed, 16 Nov 2011)
Log Message:
-----------
Tag for Variables 2.0
Added Paths:
-----------
tags/extensions/Variables/REL_2_0/
tags/extensions/Variables/REL_2_0/COPYING
tags/extensions/Variables/REL_2_0/README
tags/extensions/Variables/REL_2_0/RELEASE-NOTES
tags/extensions/Variables/REL_2_0/Variables.i18n.magic.php
tags/extensions/Variables/REL_2_0/Variables.i18n.php
tags/extensions/Variables/REL_2_0/Variables.php
tags/extensions/Variables/REL_2_0/Variables_Settings.php
Added: tags/extensions/Variables/REL_2_0/COPYING
===================================================================
--- tags/extensions/Variables/REL_2_0/COPYING (rev 0)
+++ tags/extensions/Variables/REL_2_0/COPYING 2011-11-16 18:47:49 UTC (rev
103350)
@@ -0,0 +1,16 @@
+Copyright (c) 2006 - 2007 by Rob Adams
+Copyright (c) 2007 by Tom Hempel
+Copyright (c) 2008 by Xiloynaha
+Copyright (c) 2009 - 2011 by Daniel Werner < [email protected] >
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Property changes on: tags/extensions/Variables/REL_2_0/COPYING
___________________________________________________________________
Added: svn:eol-style
+ native
Added: tags/extensions/Variables/REL_2_0/README
===================================================================
--- tags/extensions/Variables/REL_2_0/README (rev 0)
+++ tags/extensions/Variables/REL_2_0/README 2011-11-16 18:47:49 UTC (rev
103350)
@@ -0,0 +1,26 @@
+== About ==
+
+The 'Variables' extension for MediaWiki introduces parser functions for
defining page-scoped
+variables within wiki pages.
+
+* Website: http://www.mediawiki.org/wiki/Extension:Variables
+* Authors: Rob Adams, Tom Hempel, Xiloynaha and Daniel Werner
+* License: Public domain
+
+
+== Installation ==
+
+Once you have downloaded the code, place the 'Variables' directory within your
+MediaWiki 'extensions' directory. Then add the following code to your
+[[Manual:LocalSettings.php|LocalSettings.php]] file:
+
+ # Variables
+ require_once( "$IP/extensions/Variables/Variables.php" );
+
+
+== Contributing ==
+
+If you have bug reports or feature requests, please add them to the
''Variables''
+Talk page [0]. You can also send them to Daniel Werner < [email protected] >
+
+[0] http://www.mediawiki.org/w/index.php?title=Extension_talk:Variables
Property changes on: tags/extensions/Variables/REL_2_0/README
___________________________________________________________________
Added: svn:eol-style
+ native
Added: tags/extensions/Variables/REL_2_0/RELEASE-NOTES
===================================================================
--- tags/extensions/Variables/REL_2_0/RELEASE-NOTES
(rev 0)
+++ tags/extensions/Variables/REL_2_0/RELEASE-NOTES 2011-11-16 18:47:49 UTC
(rev 103350)
@@ -0,0 +1,77 @@
+ svn era Changelog:
+ ==================
+
+ * November 16, 2010 -- Version 2.0 by Daniel Werner
+ Version 2.0 almost is a complete rewrite of the extension, just the idea
remains the
+ same. It's the attempt to get rid of several bugs caused by the fact that
MediaWiki
+ is using several Parser objects. Therefore in v2 each Parser has its own
Variables
+ store, so nothing will get mixed up anymore. Full compatbility is given,
except perhaps
+ in cases where bugs were used intentionally.
+
+ New features and bugfixes:
+ - Inclusion of special pages in the middle of the page won't reset all
defined
+ variables anymore.
+ - Variables should now be compatible with all other extensions, except for
those still
+ using Parser::parse() recursivelly in any way (which should never be
done!).
+ - For MW 1.12 and later, '#var' default value no longer gets expanded when
not needed.
+ - Experimental new function '#var_final' which allows to insert the
variables final
+ (last) value after page processing is almost through.
+ - Global configuration variable '$egVariablesDisabledFunctions' added.
+
+ Internal changes:
+ - Parser class member $mExtVariables now contains an instance of
ExtVariables where
+ only variables for that parser are getting stored. They won't be deleted
by other
+ Parser actions anymore (e.g. special page inclusion doesn't reset
variables anymore)
+ - ExtVariables class now has public functions which should be used by other
extensions
+ for getting and setting variables information.
+ - Removed global '$wgExtVariables' variable.
+ - 'Variables_Settings.php' file for configuration settings added.
+
+ Others:
+ - Put under 'ISC License' (public domain before).
+ - In case you are using Extension:Loops, you should update it as well to
remain compatbility.
+
+
+ * November 14, 2011 -- Version 1.3.1.1 (re-pack of 1.3.1 tagged version for
svn)
+ - Although 1.4 is released already and 2.0 in the trunk, ensure one last
version
+ compatible with MW < 1.12 still is available
+ - Some comments cleaned, 'RELEASE-NOTES' and 'README' files added.
+
+
+ * November 13, 2011 -- Version 1.4 by Daniel Werner
+ - Cleanup for use with more current MW versions:
+ + 'ParserFirstCallInit' hook in use and no more global extension
functions.
+ + State of the Art internationalization files added.
+ - Dropped support for MW before 1.12
+ - 'ExtVariables::VARIABLES' constant with version info added.
+ - Put into mediawiki.org svn, 'RELEASE-NOTES' and 'README' files added.
+
+
+ Pre svn Changelog:
+ ==================
+
+ The following pre-svn changelog was composed by Daniel Werner in the hope it
might
+ give an almost complete overview of all major releases of 'Variables'
extension.
+ All changes can still be retrace at
+
+
http://www.mediawiki.org/w/index.php?title=Extension:VariablesExtension&action=history
+
+ * July 20, 2010 -- Version 1.3 by Daniel Werner
+ - Removed critical bug. Some kind of "Superglobal" variables. In some cases
values
+ were passed from one page to another page during page imports and job
queue jobs.
+
+ * March 28, 2009 -- Version 1.2 by Daniel Werner
+ - '#varexists' function introduced
+ - parameter for default value for '#var' function in case the variable
doesn't exist
+ or its value is just an empty string.
+
+ * December 5, 2008 -- Version 1.1 by user 'Xiloynaha'
+ - '#vardefineecho' function introduced
+
+ * June 24, 2007 -- r3, Language file added by unknown contributor
+
+ * October 11, 2006 -- r2, Fixes for MediaWiki 1.8 compatbility by Tom Hempel
+ - '$wgExtensionCredits' and '$wgHooks' being used.
+
+ * October 11, 2006 -- r1, initial release by Rob Adams
+ - First version of 'Variables', introducing '#vardefine' and '#var'
Property changes on: tags/extensions/Variables/REL_2_0/RELEASE-NOTES
___________________________________________________________________
Added: svn:eol-style
+ native
Added: tags/extensions/Variables/REL_2_0/Variables.i18n.magic.php
===================================================================
--- tags/extensions/Variables/REL_2_0/Variables.i18n.magic.php
(rev 0)
+++ tags/extensions/Variables/REL_2_0/Variables.i18n.magic.php 2011-11-16
18:47:49 UTC (rev 103350)
@@ -0,0 +1,22 @@
+<?php
+#coding: utf-8
+
+/**
+ * Internationalization file for magic words of the 'Variables' extension.
+ *
+ * @since 1.4
+ *
+ * @file Variables.i18n.magic.php
+ * @ingroup Variables
+ * @author Daniel Werner < [email protected] >
+ */
+
+$magicWords = array();
+
+$magicWords['en'] = array(
+ 'var' => array( 0, 'var' ),
+ 'var_final' => array( 0, 'var_final' ),
+ 'vardefine' => array( 0, 'vardefine' ),
+ 'vardefineecho' => array( 0, 'vardefineecho' ),
+ 'varexists' => array( 0, 'varexists' ),
+);
Property changes on: tags/extensions/Variables/REL_2_0/Variables.i18n.magic.php
___________________________________________________________________
Added: svn:eol-style
+ native
Added: tags/extensions/Variables/REL_2_0/Variables.i18n.php
===================================================================
--- tags/extensions/Variables/REL_2_0/Variables.i18n.php
(rev 0)
+++ tags/extensions/Variables/REL_2_0/Variables.i18n.php 2011-11-16
18:47:49 UTC (rev 103350)
@@ -0,0 +1,28 @@
+<?php
+#coding: utf-8
+
+/**
+ * Internationalization file of the 'Variables' extension.
+ *
+ * @since 1.4
+ *
+ * @file Variables.i18n.php
+ * @ingroup Variables
+ * @author Daniel Werner < [email protected] >
+ */
+
+$messages = array();
+
+/** English
+ * @author Daniel Werner
+ */
+$messages['en'] = array(
+ 'variables-desc' => 'Parser functions allowing to work with dynamic
variables in an article scoped context',
+);
+
+/** German
+ * @author Daniel Werner
+ */
+$messages['de'] = array(
+ 'variables-desc' => 'Bietet Parser-Funktionen zur Verwendung
dynamischer Variablen in Wiki-Artikeln',
+);
Property changes on: tags/extensions/Variables/REL_2_0/Variables.i18n.php
___________________________________________________________________
Added: svn:eol-style
+ native
Added: tags/extensions/Variables/REL_2_0/Variables.php
===================================================================
--- tags/extensions/Variables/REL_2_0/Variables.php
(rev 0)
+++ tags/extensions/Variables/REL_2_0/Variables.php 2011-11-16 18:47:49 UTC
(rev 103350)
@@ -0,0 +1,381 @@
+<?php
+
+/**
+ * 'Variables' introduces parser functions for defining page-scoped variables
within
+ * wiki pages.
+ * Version 2.0 is a major re-write of the extension by Daniel Werner, as
attempt to
+ * get rid of any problems related to the fact that there are multiple Parser
instances
+ * for which 'Variables' extension should bring separate variable stores.
+ *
+ * Documentation: http://www.mediawiki.org/wiki/Extension:Variables
+ * Support: http://www.mediawiki.org/wiki/Extension_talk:Variables
+ * Source code:
http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/Variables
+ *
+ * @version: 2.0
+ * @license: ISC License
+ * @author: Rob Adams
+ * @author: Tom Hempel
+ * @author: Xiloynaha
+ * @author: Daniel Werner < [email protected] >
+ *
+ * @file Variables.php
+ * @ingroup Variables
+ */
+
+if ( ! defined( 'MEDIAWIKI' ) ) { die( ); }
+
+$wgExtensionCredits['parserhook'][] = array(
+ 'path' => __FILE__,
+ 'name' => 'Variables',
+ 'descriptionmsg' => 'variables-desc',
+ 'version' => ExtVariables::VERSION,
+ 'author' => array( 'Rob Adams', 'Tom Hempel', 'Xiloynaha',
'[http://www.mediawiki.org/wiki/User:Danwe Daniel Werner]' ),
+ 'url' => 'http://www.mediawiki.org/wiki/Extension:Variables',
+);
+
+// language files:
+$wgExtensionMessagesFiles['Variables' ] = ExtVariables::getDir() .
'/Variables.i18n.php';
+$wgExtensionMessagesFiles['VariablesMagic'] = ExtVariables::getDir() .
'/Variables.i18n.magic.php';
+
+// hooks registration:
+$wgHooks['ParserFirstCallInit' ][] = 'ExtVariables::init';
+$wgHooks['ParserClearState' ][] = 'ExtVariables::onParserClearState';
+$wgHooks['InternalParseBeforeLinks'][] =
'ExtVariables::onInternalParseBeforeLinks';
+
+// Include the settings file:
+require_once ExtVariables::getDir() . '/Variables_Settings.php';
+
+
+/**
+ * Extension class with basic extension information. This class serves as
static
+ * class with the static parser functions but also als variables store instance
+ * as object assigned to a Parser object.
+ */
+class ExtVariables {
+
+ /**
+ * Version of the 'Variables' extension.
+ *
+ * @since 1.4
+ *
+ * @var string
+ */
+ const VERSION = '2.0';
+
+ /**
+ * Internal store for variable values
+ *
+ * @private
+ * @var array
+ */
+ var $mVariables = array();
+
+ /**
+ * Array with all names of variables requested by '#var_final'. Key of
the values is the
+ * stripSateId of the strip-item placed where the final var should
appear.
+ *
+ * @since 2.0
+ *
+ * @private
+ * @var Array
+ */
+ var $mFinalizedVars = array();
+
+ /**
+ * Variables extensions own private StripState manager to manage
'#final_var' placeholders
+ * and their replacement with the final var value or a defined default.
+ *
+ * @since 2.0
+ *
+ * @private
+ * @var StripState
+ */
+ var $mFinalizedVarsStripState;
+
+ /**
+ * Sets up parser functions
+ *
+ * @since 1.4
+ */
+ public static function init( Parser &$parser ) {
+
+ /*
+ * store for variables per parser object. This will solve
several bugs related to
+ * 'ParserClearState' hook clearing all variables early in
combination with certain
+ * other extensions. (since v2.0)
+ */
+ $parser->mExtVariables = new self();
+
+ // SFH_OBJECT_ARGS available since MW 1.12
+ self::initFunction( $parser, 'var', array( __CLASS__,
'pfObj_var' ), SFH_OBJECT_ARGS );
+ self::initFunction( $parser, 'var_final' );
+ self::initFunction( $parser, 'vardefine' );
+ self::initFunction( $parser, 'vardefineecho' );
+ self::initFunction( $parser, 'varexists' );
+
+ return true;
+ }
+ private static function initFunction( Parser &$parser, $name,
$functionCallback = null, $flags = 0 ) {
+ if( $functionCallback === null ) {
+ // prefix parser functions with 'pf_'
+ $functionCallback = array( __CLASS__, 'pf_' . $name );
+ }
+ global $egVariablesDisabledFunctions;
+
+ // register function only if not disabled by configuration:
+ if( ! in_array( $name, $egVariablesDisabledFunctions ) ) {
+ $parser->setFunctionHook( $name, $functionCallback,
$flags );
+ }
+ }
+
+ /**
+ * Returns the extensions base installation directory.
+ *
+ * @since 2.0
+ *
+ * @return boolean
+ */
+ public static function getDir() {
+ static $dir = null;
+
+ if( $dir === null ) {
+ $dir = dirname( __FILE__ );
+ }
+ return $dir;
+ }
+
+
+ ####################
+ # Parser Functions #
+ ####################
+
+ static function pf_varexists( Parser &$parser, $varName = '',
$exists=true, $noexists=false ) {
+ if( self::get( $parser )->varExists( $varName ) ) {
+ return $exists;
+ } else {
+ return $noexists;
+ }
+ }
+
+ static function pf_vardefine( Parser &$parser, $varName = '', $value = ''
) {
+ self::get( $parser )->setVarValue( $varName, $value );
+ return '';
+ }
+
+ static function pf_vardefineecho( Parser &$parser, $varName = '', $value =
'' ) {
+ self::get( $parser )->setVarValue( $varName, $value );
+ return $value;
+ }
+
+ static function pfObj_var( Parser &$parser, $frame, $args) {
+ $varName = trim( $frame->expand( $args[0] ) ); // first
argument expanded already but lets do this anyway
+ $varVal = self::get( $parser )->getVarValue( $varName, null );
+
+ // default applies if var doesn't exist but also in case it is
an empty string!
+ if( $varVal === null || $varVal === '' ) {
+ // only expand argument when needed:
+ $defaultVal = isset( $args[1] ) ? trim( $frame->expand(
$args[1] ) ) : '';
+ return $defaultVal;
+ }
+ return $varVal;
+ }
+
+ static function pf_var_final( Parser &$parser, $varName, $defaultVal =
'' ) {
+ $varStore = self::get( $parser );
+
+ return self::get( $parser )->requestFinalizedVar( $parser,
$varName, $defaultVal );
+ }
+
+
+ ##############
+ # Used Hooks #
+ ##############
+
+ static function onInternalParseBeforeLinks( Parser &$parser, &$text ) {
+
+ $varStore = self::get( $parser );
+
+ // only do this if '#var_final' was used
+ if( $varStore->mFinalizedVarsStripState === null ) {
+ return true;
+ }
+
+ /*
+ * all vars are final now, check whether requested vars can be
inserted for '#final_var' or
+ * if the default has to be inserted. In any case, adjust the
strip item value
+ */
+ foreach( $varStore->mFinalizedVars as $stripStateId => $varName
) {
+
+ $varVal = $varStore->getVarValue( $varName, '' );
+ if( $varVal !== '' ) {
+ // replace strip item value with final
variables value or registered default:
+
//$varStore->mFinalizedVarsStripState->general->setPair( $stripStateId, $varVal
);
+
+ $varStore->stripStatePair( $stripStateId,
$varVal );
+ }
+ }
+
+ /**
+ * Unstrip all '#var_final' strip-markers with their final
'#var' or default values.
+ * This HAS to be done here and can't be done thru the normal
unstrip process of MW.
+ * This because the default value as well as the variables
value stil have to be rendered properly since they
+ * may contain links or even category links. On the other hand,
they can't be parsed with Parser::recursiveTagParse()
+ * since this would parse wiki templates and functions which
are intended as normal text, kind of similar to
+ * returning a parser functions value with 'noparse' => true.
+ * Also, there is no way to expand the '#var_final' default
value here, just if needed, since the output could be an
+ * entirely different, e.g. if variables are used.
+ * This method also takes care of recursive '#var_final' calls
(within the default value) quite well.
+ */
+ $text = $varStore->mFinalizedVarsStripState->unstripGeneral(
$text );
+
+ /*
+ * Sanitize the whole thing, otherwise HTML and JS code
injection would be possible.
+ * Basically the same is happening in Parser::internalParse()
right before 'InternalParseBeforeLinks' hook is called.
+ */
+ $text = Sanitizer::removeHTMLtags(
+ $text,
+ array( &$parser, 'attributeStripCallback' ),
+ false,
+ array_keys( $parser->mTransparentTagHooks )
+ );
+ return true;
+ }
+
+ /**
+ * This will clean up the variables store after parsing has finished.
It will prevent strange things to happen
+ * for example during import of several pages or job queue is running
for multiple pages. In these cases variables
+ * would become some kind of superglobals, being passed from one page
to the other.
+ */
+ static function onParserClearState( Parser &$parser ) {
+ /**
+ * MessageCaches Parser clone will mess things up if we don't
reset the entire object.
+ * Only resetting the array would unset it in the original
object as well! This instead
+ * will break the entire reference to the object
+ */
+ $parser->mExtVariables = new self();
+
+ return true;
+ }
+
+
+ ##################
+ # Private Helper #
+ ##################
+
+ /**
+ * Takes care of setting a strip state pair in MW 1.18 as well as in
previous versions
+ */
+ protected function stripStatePair( $marker, $value ) {
+ global $wgVersion;
+ if( version_compare( $wgVersion, '1.17.99', '>' ) ) {
+ // MW 1.18alpha+
+ $this->mFinalizedVarsStripState->addGeneral( $marker,
$value );
+ } else {
+ $this->mFinalizedVarsStripState->general->setPair(
$marker, $value );
+ }
+ }
+
+
+ ####################################
+ # Public functions for interaction #
+ ####################################
+ #
+ # public non-parser functions, accessible for
+ # other extensions doing interactive stuff
+ # with variables (like Extension:Loops)
+ #
+
+ /**
+ * Convenience function to return the variables extensions variables
store connected
+ * to a certain Parser object. Each parser has its own store which will
be reset after
+ * a parsing process [Parser::parse()] has finished.
+ *
+ * @param Parser &$parser
+ *
+ * @return ExtVariables by reference so we still have the right objecdt
after 'ParserClearState'
+ */
+ public static function &get( Parser &$parser ) {
+ return $parser->mExtVariables;
+ }
+
+ /**
+ * Defines a variable, accessible by getVarValue() or '#var' parser
function. Name and
+ * value will be trimmed and converted to string.
+ *
+ * @param string $varName
+ * @param string $value will be converted to string if no string is
given
+ */
+ public function setVarValue( $varName, $value = '' ) {
+ $this->mVariables[ trim( $varName ) ] = trim( $value );
+ }
+
+ /**
+ * Returns a variables value or null if it doesn't exist.
+ *
+ * @param string $varName
+ * @param mixed $defaultVal
+ *
+ * @return string or mixed in case $defaultVal is being returned and
not of type string
+ */
+ public function getVarValue( $varName, $defaultVal = null ) {
+ $varName = trim( $varName );
+ if ( $this->varExists( $varName ) ) {
+ return $this->mVariables[ $varName ];
+ } else {
+ return $defaultVal;
+ }
+ }
+
+ /**
+ * Checks whether a variable exists within the scope.
+ *
+ * @param string $varName
+ *
+ * @return boolean
+ */
+ public function varExists( $varName ) {
+ $varName = trim( $varName );
+ return array_key_exists( $varName, $this->mVariables );
+ }
+
+ /**
+ * Allows to unset a certain variable
+ *
+ * @param type $varName
+ */
+ public function unsetVar( $varName ) {
+ unset( $this->mVariables[ $varName ] );
+ }
+
+ /**
+ * Allows to register the usage of '#var_final'. Meaning a variable can
be set as well
+ * as a default value. The return value, a strip-item then can be
inserted into any
+ * wikitext processed by the same parser. Later that strip-item will be
replaced with
+ * the final var text.
+ * Note: It's not possible to use the returned strip-item within other
stripped text
+ * since 'Variables' unstripping will happen before the general
unstripping!
+ *
+ * @param Parser $parser
+ * @param string $varName
+ * @param string $defaultVal
+ * @return string strip-item
+ */
+ function requestFinalizedVar( Parser &$parser, $varName, $defaultVal =
'' ) {
+ if( $this->mFinalizedVarsStripState === null ) {
+ $this->mFinalizedVarsStripState = new StripState(
$parser->mUniqPrefix );
+ }
+ $id = count( $this->mFinalizedVars );
+ /*
+ * strip-item which will be unstripped in
self::onInternalParseBeforeLinks()
+ * In case the requested final variable has a value in the end,
this strip-item
+ * value will be replaced with that value before unstripping.
+ */
+ $rnd = "{$parser->mUniqPrefix}-finalizedvar-{$id}-" .
Parser::MARKER_SUFFIX;
+
+ $this->stripStatePair( $rnd, trim( $defaultVal ) );
+ $this->mFinalizedVars[ $rnd ] = trim( $varName );
+
+ return $rnd;
+ }
+
+}
Property changes on: tags/extensions/Variables/REL_2_0/Variables.php
___________________________________________________________________
Added: svn:eol-style
+ native
Added: tags/extensions/Variables/REL_2_0/Variables_Settings.php
===================================================================
--- tags/extensions/Variables/REL_2_0/Variables_Settings.php
(rev 0)
+++ tags/extensions/Variables/REL_2_0/Variables_Settings.php 2011-11-16
18:47:49 UTC (rev 103350)
@@ -0,0 +1,29 @@
+<?php
+
+/**
+ * File defining the settings for the 'Variables' extension.
+ * More info can be found at
http://www.mediawiki.org/wiki/Extension:Variables#Configuration
+ *
+ * NOTICE:
+ * =======
+ * Changing one of these settings can be done by copying and placing
+ * it in LocalSettings.php, AFTER the inclusion of 'Variables'.
+ *
+ * @file Variables_Settings.php
+ * @ingroup Variables
+ * @since 2.0
+ *
+ * @author Daniel Werner
+ */
+
+/**
+ * Allows to define functions which should not be available within the wiki.
+ *
+ * @example
+ * # disable '#var_final' and '#vardefineecho' functions:
+ * $egVariablesDisabledFunctions = array( 'var_final', 'vardefineecho' );
+ *
+ * @since 2.0
+ * @var array
+ */
+$egVariablesDisabledFunctions = array();
Property changes on: tags/extensions/Variables/REL_2_0/Variables_Settings.php
___________________________________________________________________
Added: svn:eol-style
+ native
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs