From ca32f08966f1b51fcb19460f0996bb0c4048e6fe Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Sat, 3 Dec 2011 13:29:22 +0100 Subject: Update to MediaWiki 1.18.0 * also update ArchLinux skin to chagnes in MonoBook * Use only css to hide our menu bar when printing --- includes/FormOptions.php | 121 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 109 insertions(+), 12 deletions(-) (limited to 'includes/FormOptions.php') diff --git a/includes/FormOptions.php b/includes/FormOptions.php index 2442a330..b668ff46 100644 --- a/includes/FormOptions.php +++ b/includes/FormOptions.php @@ -1,19 +1,38 @@ options[$name] ); } + /** + * Used to find out which type the data is. + * All types are defined in the 'Type constants' section of this class + * Please note we do not support detection of INTNULL MediaWiki type + * which will be assumed as INT if the data is an integer. + * + * @param $data Mixed: value to guess type for + * @exception MWException Unsupported datatype + * @return Type constant + */ public static function guessType( $data ) { if ( is_bool( $data ) ) { return self::BOOL; @@ -52,6 +81,13 @@ class FormOptions implements ArrayAccess { # Handling values + /** + * Verify the given option name exist. + * + * @param $name String: option name + * @param $strict Boolean: throw an exception when the option does not exist (default false) + * @return Boolean: true if option exist, false otherwise + */ public function validateName( $name, $strict = false ) { if ( !isset( $this->options[$name] ) ) { if ( $strict ) { @@ -63,6 +99,14 @@ class FormOptions implements ArrayAccess { return true; } + /** + * Use to set the value of an option. + * + * @param $name String: option name + * @param $value Mixed: value for the option + * @param $force Boolean: whether to set the value when it is equivalent to the default value for this option (default false). + * @return null + */ public function setValue( $name, $value, $force = false ) { $this->validateName( $name, true ); @@ -74,12 +118,24 @@ class FormOptions implements ArrayAccess { } } + /** + * Get the value for the given option name. + * Internally use getValueReal() + * + * @param $name String: option name + * @return Mixed + */ public function getValue( $name ) { $this->validateName( $name, true ); return $this->getValueReal( $this->options[$name] ); } + /** + * @todo Document + * @param $option Array: array structure describing the option + * @return Mixed. Value or the default value if it is null + */ protected function getValueReal( $option ) { if ( $option['value'] !== null ) { return $option['value']; @@ -88,11 +144,22 @@ class FormOptions implements ArrayAccess { } } + /** + * Delete the option value. + * This will make future calls to getValue() return the default value. + * @param $name String: option name + * @return null + */ public function reset( $name ) { $this->validateName( $name, true ); $this->options[$name]['value'] = null; } + /** + * @todo Document + * @param $name String: option name + * @return null + */ public function consumeValue( $name ) { $this->validateName( $name, true ); $this->options[$name]['consumed'] = true; @@ -100,6 +167,11 @@ class FormOptions implements ArrayAccess { return $this->getValueReal( $this->options[$name] ); } + /** + * @todo Document + * @param $names Array: array of option names + * @return null + */ public function consumeValues( /*Array*/ $names ) { $out = array(); @@ -112,8 +184,16 @@ class FormOptions implements ArrayAccess { return $out; } - # Validating values - + /** + * Validate and set an option integer value + * The value will be altered to fit in the range. + * + * @param $name String: option name + * @param $min Int: minimum value + * @param $max Int: maximum value + * @exception MWException Option is not of type int + * @return null + */ public function validateIntBounds( $name, $min, $max ) { $this->validateName( $name, true ); @@ -127,8 +207,11 @@ class FormOptions implements ArrayAccess { $this->setValue( $name, $value ); } - # Getting the data out for use - + /** + * Getting the data out for use + * @param $all Boolean: whether to include unchanged options (default: false) + * @return Array + */ public function getUnconsumedValues( $all = false ) { $values = array(); @@ -143,6 +226,10 @@ class FormOptions implements ArrayAccess { return $values; } + /** + * Return options modified as an array ( name => value ) + * @return Array + */ public function getChangedValues() { $values = array(); @@ -155,6 +242,10 @@ class FormOptions implements ArrayAccess { return $values; } + /** + * Format options to an array ( name => value) + * @return Array + */ public function getAllValues() { $values = array(); @@ -195,20 +286,26 @@ class FormOptions implements ArrayAccess { } } - /* ArrayAccess methods */ + /** @name ArrayAccess functions + * Those function implements PHP ArrayAccess interface + * @see http://php.net/manual/en/class.arrayaccess.php + */ + /* @{ */ + /** Whether option exist*/ public function offsetExists( $name ) { return isset( $this->options[$name] ); } - + /** Retrieve an option value */ public function offsetGet( $name ) { return $this->getValue( $name ); } - + /** Set an option to given value */ public function offsetSet( $name, $value ) { $this->setValue( $name, $value ); } - + /** Delete the option */ public function offsetUnset( $name ) { $this->delete( $name ); } + /* @} */ } -- cgit v1.2.3-54-g00ecf