SiteConfiguration Class Reference

The include paths change after this file is included from commandLine.inc, meaning that require_once() fails to detect that it is including the same file again. More...

List of all members.

Public Member Functions

 get ($settingName, $wiki, $suffix=null, $params=array(), $wikiTags=array())
 Retrieves a configuration setting for a given wiki.
 doReplace ($from, $to, $in)
 Type-safe string replace; won't do replacements on non-strings private?
 getAll ($wiki, $suffix=null, $params=array(), $wikiTags=array())
 Gets all settings for a wiki.
 getBool ($setting, $wiki, $suffix=null, $wikiTags=array())
 Retrieves a configuration setting for a given wiki, forced to a boolean.
getLocalDatabases ()
 Retrieves an array of local databases.
 initialise ()
 A no-op.
 extractVar ($setting, $wiki, $suffix, &$var, $params=array(), $wikiTags=array())
 Retrieves the value of a given setting, and places it in a variable passed by reference.
 extractGlobal ($setting, $wiki, $suffix=null, $params=array(), $wikiTags=array())
 Retrieves the value of a given setting, and places it in its corresponding global variable.
 extractGlobalSetting ($setting, $wiki, $params)
 extractAllGlobals ($wiki, $suffix=null, $params=array(), $wikiTags=array())
 Retrieves the values of all settings, and places them in their corresponding global variables.
 siteFromDB ($db)
 Work out the site and language name from a database name.
 isLocalVHost ($vhost)
 Returns true if the given vhost is handled locally.
 loadFullData ()

Static Public Member Functions

static arrayMerge ($array1)
 Merge multiple arrays together.

Public Attributes

 $suffixes = array()
 Array of suffixes, for self::siteFromDB().
 $wikis = array()
 Array of wikis, should be the same as $wgLocalDatabases.
 $settings = array()
 The whole array of settings.
 $localVHosts = array()
 Array of domains that are local and can be handled by the same server.
 $fullLoadCallback = null
 Optional callback to load full configuration data.
 $fullLoadDone = false
 Whether or not all data has been loaded.
 $siteParamsCallback = null
 A callback function that returns an array with the following keys (all optional):
  • suffix: site's suffix
  • lang: site's lang
  • tags: array of wiki tags
  • params: array of parameters to be replaced The function will receive the SiteConfiguration instance in the first argument and the wiki in the second one.


Protected Member Functions

 getSetting ($settingName, $wiki, $params)
 Really retrieves a configuration setting for a given wiki.
 getWikiParams ($wiki)
 Return specific settings for $wiki See the documentation of self::$siteParamsCallback for more in-depth documentation about this function.
 mergeParams ($wiki, $suffix, $params, $wikiTags)
 Merge params beetween the ones passed to the function and the ones given by self::$siteParamsCallback for backward compatibility Values returned by self::getWikiParams() have the priority.


Detailed Description

The include paths change after this file is included from commandLine.inc, meaning that require_once() fails to detect that it is including the same file again.

We use DIY C-style protection as a workaround. This is a class used to hold configuration settings, particularly for multi-wiki sites.

Definition at line 18 of file SiteConfiguration.php.


Member Function Documentation

static SiteConfiguration::arrayMerge ( array1  )  [static]

Merge multiple arrays together.

On encountering duplicate keys, merge the two, but ONLY if they're arrays. PHP's array_merge_recursive() merges ANY duplicate values into arrays, which is not fun

Definition at line 381 of file SiteConfiguration.php.

References $i, and $out.

Referenced by extractGlobalSetting(), getAll(), and getSetting().

SiteConfiguration::doReplace ( from,
to,
in 
)

Type-safe string replace; won't do replacements on non-strings private?

Definition at line 153 of file SiteConfiguration.php.

References $in.

Referenced by getSetting().

SiteConfiguration::extractAllGlobals ( wiki,
suffix = null,
params = array(),
wikiTags = array() 
)

Retrieves the values of all settings, and places them in their corresponding global variables.

Parameters:
$wiki String Wiki ID of the wiki in question.
$suffix String The suffix of the wiki in question.
$params Array List of parameters. $.'key' is replaced by $value in all returned data.
$wikiTags Array The tags assigned to the wiki.

Definition at line 269 of file SiteConfiguration.php.

References extractGlobalSetting(), and mergeParams().

SiteConfiguration::extractGlobal ( setting,
wiki,
suffix = null,
params = array(),
wikiTags = array() 
)

Retrieves the value of a given setting, and places it in its corresponding global variable.

Parameters:
$settingName String ID of the setting name to retrieve
$wiki String Wiki ID of the wiki in question.
$suffix String The suffix of the wiki in question.
$params Array List of parameters. $.'key' is replaced by $value in all returned data.
$wikiTags Array The tags assigned to the wiki.

Definition at line 241 of file SiteConfiguration.php.

References extractGlobalSetting(), and mergeParams().

SiteConfiguration::extractGlobalSetting ( setting,
wiki,
params 
)

Definition at line 246 of file SiteConfiguration.php.

References arrayMerge(), and getSetting().

Referenced by extractAllGlobals(), and extractGlobal().

SiteConfiguration::extractVar ( setting,
wiki,
suffix,
&$  var,
params = array(),
wikiTags = array() 
)

Retrieves the value of a given setting, and places it in a variable passed by reference.

Parameters:
$settingName String ID of the setting name to retrieve
$wiki String Wiki ID of the wiki in question.
$suffix String The suffix of the wiki in question.
$var Reference The variable to insert the value into.
$params Array List of parameters. $.'key' is replaced by $value in all returned data.
$wikiTags Array The tags assigned to the wiki.

Definition at line 226 of file SiteConfiguration.php.

SiteConfiguration::get ( settingName,
wiki,
suffix = null,
params = array(),
wikiTags = array() 
)

Retrieves a configuration setting for a given wiki.

Parameters:
$settingName String ID of the setting name to retrieve
$wiki String Wiki ID of the wiki in question.
$suffix String The suffix of the wiki in question.
$params Array List of parameters. $.'key' is replaced by $value in all returned data.
$wikiTags Array The tags assigned to the wiki.
Returns:
Mixed the value of the setting requested.

Definition at line 71 of file SiteConfiguration.php.

References getSetting(), and mergeParams().

SiteConfiguration::getAll ( wiki,
suffix = null,
params = array(),
wikiTags = array() 
)

Gets all settings for a wiki.

Parameters:
$wiki String Wiki ID of the wiki in question.
$suffix String The suffix of the wiki in question.
$params Array List of parameters. $.'key' is replaced by $value in all returned data.
$wikiTags Array The tags assigned to the wiki.
Returns:
Array Array of settings requested.

Definition at line 174 of file SiteConfiguration.php.

References arrayMerge(), getSetting(), and mergeParams().

SiteConfiguration::getBool ( setting,
wiki,
suffix = null,
wikiTags = array() 
)

Retrieves a configuration setting for a given wiki, forced to a boolean.

Parameters:
$settingName String ID of the setting name to retrieve
$wiki String Wiki ID of the wiki in question.
$suffix String The suffix of the wiki in question.
$params Array List of parameters. $.'key' is replaced by $value in all returned data.
$wikiTags Array The tags assigned to the wiki.
Returns:
bool The value of the setting requested.

Definition at line 204 of file SiteConfiguration.php.

& SiteConfiguration::getLocalDatabases (  ) 

Retrieves an array of local databases.

Definition at line 209 of file SiteConfiguration.php.

SiteConfiguration::getSetting ( settingName,
wiki,
params 
) [protected]

Really retrieves a configuration setting for a given wiki.

Parameters:
$settingName String ID of the setting name to retrieve.
$wiki String Wiki ID of the wiki in question.
$params Array: array of parameters.
Returns:
Mixed the value of the setting requested.

Definition at line 84 of file SiteConfiguration.php.

References arrayMerge(), and doReplace().

Referenced by extractGlobalSetting(), get(), and getAll().

SiteConfiguration::getWikiParams ( wiki  )  [protected]

Return specific settings for $wiki See the documentation of self::$siteParamsCallback for more in-depth documentation about this function.

Parameters:
$wiki String
Returns:
array

Definition at line 284 of file SiteConfiguration.php.

References $name.

Referenced by mergeParams(), and siteFromDB().

SiteConfiguration::initialise (  ) 

A no-op.

Definition at line 214 of file SiteConfiguration.php.

SiteConfiguration::isLocalVHost ( vhost  ) 

Returns true if the given vhost is handled locally.

Parameters:
$vhost String
Returns:
bool

Definition at line 371 of file SiteConfiguration.php.

SiteConfiguration::loadFullData (  ) 

Definition at line 399 of file SiteConfiguration.php.

SiteConfiguration::mergeParams ( wiki,
suffix,
params,
wikiTags 
) [protected]

Merge params beetween the ones passed to the function and the ones given by self::$siteParamsCallback for backward compatibility Values returned by self::getWikiParams() have the priority.

Parameters:
$wiki String Wiki ID of the wiki in question.
$suffix String The suffix of the wiki in question.
$params Array List of parameters. $.'key' is replaced by $value in all returned data.
$wikiTags Array The tags assigned to the wiki.
Returns:
array

Definition at line 320 of file SiteConfiguration.php.

References getWikiParams().

Referenced by extractAllGlobals(), extractGlobal(), get(), and getAll().

SiteConfiguration::siteFromDB ( db  ) 

Work out the site and language name from a database name.

Parameters:
$db 

Definition at line 343 of file SiteConfiguration.php.

References getWikiParams().


Member Data Documentation

SiteConfiguration::$fullLoadCallback = null

Optional callback to load full configuration data.

Definition at line 43 of file SiteConfiguration.php.

SiteConfiguration::$fullLoadDone = false

Whether or not all data has been loaded.

Definition at line 46 of file SiteConfiguration.php.

SiteConfiguration::$localVHosts = array()

Array of domains that are local and can be handled by the same server.

Definition at line 38 of file SiteConfiguration.php.

SiteConfiguration::$settings = array()

The whole array of settings.

Definition at line 33 of file SiteConfiguration.php.

SiteConfiguration::$siteParamsCallback = null

A callback function that returns an array with the following keys (all optional):

  • suffix: site's suffix
  • lang: site's lang
  • tags: array of wiki tags
  • params: array of parameters to be replaced The function will receive the SiteConfiguration instance in the first argument and the wiki in the second one.

if suffix and lang are passed they will be used for the return value of self::siteFromDB() and self::$suffixes will be ignored

Definition at line 60 of file SiteConfiguration.php.

SiteConfiguration::$suffixes = array()

Array of suffixes, for self::siteFromDB().

Definition at line 23 of file SiteConfiguration.php.

SiteConfiguration::$wikis = array()

Array of wikis, should be the same as $wgLocalDatabases.

Definition at line 28 of file SiteConfiguration.php.


The documentation for this class was generated from the following file:

Generated on Sat Apr 30 22:57:48 2011 for MediaWiki by  doxygen 1.5.9