<?php
/**
- * This file contain a class to easily build HTML forms as well as custom
- * functions used by SpecialUserrights.php and SpecialGroups.php
- * @package MediaWiki
+ * This file contain a class to easily build HTML forms
*/
/**
* Class to build various forms
*
- * @package MediaWiki
* @author jeluf, hashar
*/
class HTMLForm {
}
/**
- * @access private
- * @param string $name Name of the fieldset.
- * @param string $content HTML content to put in.
+ * @private
+ * @param $name String: name of the fieldset.
+ * @param $content String: HTML content to put in.
* @return string HTML fieldset
*/
function fieldset( $name, $content ) {
}
/**
- * @access private
- * @param string $varname Name of the checkbox.
- * @param boolean $checked Set true to check the box (default False).
+ * @private
+ * @param $varname String: name of the checkbox.
+ * @param $checked Boolean: set true to check the box (default False).
*/
function checkbox( $varname, $checked=false ) {
if ( $this->mRequest->wasPosted() && !is_null( $this->mRequest->getVal( $varname ) ) ) {
"</label></div>\n";
}
- /**
- * @access private
- * @param string $varname Name of the textbox.
- * @param string $value Optional value (default empty)
- * @param integer $size Optional size of the textbox (default 20)
+ /**
+ * @private
+ * @param $varname String: name of the textbox.
+ * @param $value String: optional value (default empty)
+ * @param $size Integer: optional size of the textbox (default 20)
*/
function textbox( $varname, $value='', $size=20 ) {
if ( $this->mRequest->wasPosted() ) {
"<input type='text' name=\"{$varname}\" value=\"{$value}\" size=\"{$size}\" /></label></div>\n";
}
- /**
- * @access private
- * @param string $varname Name of the radiobox.
- * @param array $fields Various fields.
+ /**
+ * @private
+ * @param $varname String: name of the radiobox.
+ * @param $fields Array: Various fields.
*/
function radiobox( $varname, $fields ) {
foreach ( $fields as $value => $checked ) {
( $checked ? ' checked="checked"' : '' ) . " />" . wfMsg( $this->mName.'-'.$varname.'-'.$value ) .
"</label></div>\n";
}
- return $this->fieldset( $this->mName.'-'.$varname, $s );
+ return $this->fieldset( $varname, $s );
}
-
- /**
- * @access private
- * @param string $varname Name of the textareabox.
- * @param string $value Optional value (default empty)
- * @param integer $size Optional size of the textarea (default 20)
+
+ /**
+ * @private
+ * @param $varname String: name of the textareabox.
+ * @param $value String: optional value (default empty)
+ * @param $size Integer: optional size of the textarea (default 20)
*/
function textareabox ( $varname, $value='', $size=20 ) {
if ( $this->mRequest->wasPosted() ) {
$value = $this->mRequest->getText( $varname, $value );
- }
+ }
$value = htmlspecialchars( $value );
return '<div><label>'.wfMsg( $this->mName.'-'.$varname ).
"<textarea name=\"{$varname}\" rows=\"5\" cols=\"{$size}\">$value</textarea></label></div>\n";
}
- /**
- * @access private
- * @param string $varname Name of the arraybox.
- * @param integer $size Optional size of the textarea (default 20)
+ /**
+ * @private
+ * @param $varname String: name of the arraybox.
+ * @param $size Integer: Optional size of the textarea (default 20)
*/
function arraybox( $varname , $size=20 ) {
$s = '';
if ( $this->mRequest->wasPosted() ) {
$arr = $this->mRequest->getArray( $varname );
if ( is_array( $arr ) ) {
- foreach ( $_POST[$varname] as $index=>$element ) {
+ foreach ( $_POST[$varname] as $element ) {
$s .= htmlspecialchars( $element )."\n";
}
}
"<textarea name=\"{$varname}\" rows=\"5\" cols=\"{$size}\">{$s}</textarea>\n";
}
} // end class
-
-
-// functions used by SpecialUserrights.php and SpecialGroups.php
-
-/** Build a select with all defined groups
- * @param string $selectname Name of this element. Name of form is automaticly prefixed.
- * @param array $selected Array of element selected when posted. Only multiples will show them.
- * @param boolean $multiple A multiple elements select.
- * @param integer $size Number of elements to be shown ignored for non-multiple (default 6).
- * @param boolean $reverse If true, multiple select will hide selected elements (default false).
-*/
-function HTMLSelectGroups($selectname, $selectmsg, $selected=array(), $multiple=false, $size=6, $reverse=false) {
- $groups = User::getAllGroups();
- $out = htmlspecialchars( wfMsg( $selectmsg ) );
-
- if( $multiple ) {
- $attribs = array(
- 'name' => $selectname . '[]',
- 'multiple'=> 'multiple',
- 'size' => $size );
- } else {
- $attribs = array( 'name' => $selectname );
- }
- $out .= wfElement( 'select', $attribs, null );
-
- foreach( $groups as $group ) {
- $attribs = array( 'value' => $group );
- if( $multiple ) {
- // for multiple will only show the things we want
- if( !in_array( $group, $selected ) xor $reverse ) {
- continue;
- }
- } else {
- if( in_array( $group, $selected ) ) {
- $attribs['selected'] = 'selected';
- }
- }
- $out .= wfElement( 'option', $attribs, User::getGroupName( $group ) ) . "\n";
- }
-
- $out .= "</select>\n";
- return $out;
-}
-
-/** Build a select with all existent rights
- * @param array $selected Names(?) of user rights that should be selected.
- * @return string HTML select.
- */
-function HTMLSelectRights($selected='') {
- global $wgAvailableRights;
- $out = '<select name="editgroup-getrights[]" multiple="multiple">';
- $groupRights = explode(',',$selected);
-
- foreach($wgAvailableRights as $right) {
-
- // check box when right exist
- if(in_array($right, $groupRights)) { $selected = 'selected="selected" '; }
- else { $selected = ''; }
-
- $out .= '<option value="'.$right.'" '.$selected.'>'.$right."</option>\n";
- }
- $out .= "</select>\n";
- return $out;
-}
-?>