protected $mSubmitText;
protected $mSubmitTooltip;
- protected $mContext; // <! RequestContext
+ protected $mContext; // <! IContextSource
protected $mTitle;
protected $mMethod = 'post';
/**
* Build a new HTMLForm from an array of field attributes
* @param $descriptor Array of Field constructs, as described above
- * @param $context RequestContext available since 1.18, will become compulsory in 1.18.
+ * @param $context IContextSource available since 1.18, will become compulsory in 1.18.
* Obviates the need to call $form->setTitle()
* @param $messagePrefix String a prefix to go in front of default messages
*/
- public function __construct( $descriptor, /*RequestContext*/ $context = null, $messagePrefix = '' ) {
- if( $context instanceof RequestContext ){
+ public function __construct( $descriptor, /*IContextSource*/ $context = null, $messagePrefix = '' ) {
+ if( $context instanceof IContextSource ){
$this->mContext = $context;
$this->mTitle = false; // We don't need them to set a title
$this->mMessagePrefix = $messagePrefix;
}
/**
- * @return RequestContext
+ * @return IContextSource
*/
public function getContext(){
- return $this->mContext instanceof RequestContext
+ return $this->mContext instanceof IContextSource
? $this->mContext
: RequestContext::getMain();
}
/**
* TODO: Document
- * @param $fields
+ * @param $fields array of fields (either arrays or objects)
+ * @param $sectionName string ID attribute of the <table> tag for this section, ignored if empty
+ * @param $fieldsetIDPrefix string ID prefix for the <fieldset> tag of each subsection, ignored if empty
*/
- function displaySection( $fields, $sectionName = '', $displayTitle = false ) {
+ function displaySection( $fields, $sectionName = '', $fieldsetIDPrefix = '' ) {
$tableHtml = '';
$subsectionHtml = '';
$hasLeftColumn = false;
$section .= $this->mSectionFooters[$key];
}
$attributes = array();
- if ( $displayTitle ) {
- $attributes["id"] = 'prefsection-' . Sanitizer::escapeId( $key, 'noninitial' );
+ if ( $fieldsetIDPrefix ) {
+ $attributes['id'] = Sanitizer::escapeId( "$fieldsetIDPrefix$key" );
}
$subsectionHtml .= Xml::fieldset( $legend, $section, $attributes ) . "\n";
}