本文整理汇总了PHP中XmlSelect::addOptions方法的典型用法代码示例。如果您正苦于以下问题:PHP XmlSelect::addOptions方法的具体用法?PHP XmlSelect::addOptions怎么用?PHP XmlSelect::addOptions使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XmlSelect
的用法示例。
在下文中一共展示了XmlSelect::addOptions方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getInputHTML
function getInputHTML($value)
{
$datalist = new XmlSelect(false, $this->mName . '-datalist');
$datalist->setTagName('datalist');
$datalist->addOptions($this->getOptions());
return parent::getInputHTML($value) . $datalist->getHTML();
}
示例2: getInputHTML
function getInputHTML($value)
{
$valInSelect = false;
if ($value !== false) {
$value = strval($value);
$valInSelect = in_array($value, HTMLFormField::flattenOptions($this->getOptions()), true);
}
$selected = $valInSelect ? $value : 'other';
$select = new XmlSelect($this->mName, $this->mID, $selected);
$select->addOptions($this->getOptions());
$select->setAttribute('class', 'mw-htmlform-select-or-other');
$tbAttribs = array('id' => $this->mID . '-other', 'size' => $this->getSize());
if (!empty($this->mParams['disabled'])) {
$select->setAttribute('disabled', 'disabled');
$tbAttribs['disabled'] = 'disabled';
}
if (isset($this->mParams['tabindex'])) {
$select->setAttribute('tabindex', $this->mParams['tabindex']);
$tbAttribs['tabindex'] = $this->mParams['tabindex'];
}
$select = $select->getHTML();
if (isset($this->mParams['maxlength'])) {
$tbAttribs['maxlength'] = $this->mParams['maxlength'];
}
if ($this->mClass !== '') {
$tbAttribs['class'] = $this->mClass;
}
$textbox = Html::input($this->mName . '-other', $valInSelect ? '' : $value, 'text', $tbAttribs);
return "{$select}<br />\n{$textbox}";
}
示例3: getInputHTML
function getInputHTML($value)
{
$select = new XmlSelect($this->mName, $this->mID, strval($value));
if (!empty($this->mParams['disabled'])) {
$select->setAttribute('disabled', 'disabled');
}
if (isset($this->mParams['tabindex'])) {
$select->setAttribute('tabindex', $this->mParams['tabindex']);
}
if ($this->mClass !== '') {
$select->setAttribute('class', $this->mClass);
}
$select->addOptions($this->getOptions());
return $select->getHTML();
}
示例4: execute
/**
* Executes the special page
*
* @param $param string the parameter passed in the url
*/
public function execute($param)
{
$out = $this->getOutput();
$title = Title::newFromText($param);
if ($title) {
$pageId = $title->getArticleID();
} else {
$out->addWikiMsg('articlefeedbackv5-invalid-page-id');
return;
}
$ratings = $this->fetchOverallRating($pageId);
$found = isset($ratings['found']) ? $ratings['found'] : null;
$rating = isset($ratings['rating']) ? $ratings['rating'] : null;
$out->setPagetitle($this->msg('articlefeedbackv5-special-pagetitle', $title)->escaped());
if (!$pageId) {
$out->addWikiMsg('articlefeedbackv5-invalid-page-id');
} else {
# TODO: Fix links.
$out->addHTML(Html::openElement('div', array('id' => 'articleFeedbackv5-header-links')) . Linker::link(Title::newFromText($param), $this->msg('articlefeedbackv5-go-to-article')->escaped()) . ' | ' . Linker::link(Title::newFromText($param), $this->msg('articlefeedbackv5-discussion-page')->escaped()) . ' | ' . Linker::link(Title::newFromText($param), $this->msg('articlefeedbackv5-whats-this')->escaped()) . Html::closeElement('div'));
}
$out->addHTML(Html::openElement('div', array('id' => 'articleFeedbackv5-showing-count-wrap')) . $this->msg('articlefeedbackv5-special-showing', Html::element('span', array('id' => 'articleFeedbackv5-feedback-count-total'), '0')) . Html::closeElement('div'));
if ($found) {
$out->addHtml(Html::openElement('div', array('id' => 'articleFeedbackv5-percent-found-wrap')) . $this->msg('articlefeedbackv5-percent-found', $found)->escaped() . Html::closeElement('div'));
}
# if ( $rating ) {
# $out->addWikiMsg( 'articlefeedbackv5-overall-rating', $rating );
# }
$out->addWikiMsg('articlefeedbackv5-special-title');
$out->addJsConfigVars('afPageId', $pageId);
$out->addModules('jquery.articleFeedbackv5.special');
$sortLabels = array();
$sortOpts = array('newest', 'oldest');
foreach ($sortOpts as $sort) {
$sortLabels[] = Html::element('a', array('href' => '#', 'id' => 'articleFeedbackv5-special-sort-' . $sort, 'class' => 'articleFeedbackv5-sort-link'), $this->msg('articlefeedbackv5-special-sort-' . $sort)->text());
}
$opts = array();
$counts = $this->getFilterCounts($pageId);
foreach ($this->filters as $filter) {
$count = isset($counts[$filter]) ? $counts[$filter] : 0;
$key = $this->msg('articlefeedbackv5-special-filter-' . $filter, $count)->escaped();
$opts[(string) $key] = $filter;
}
$filterSelect = new XmlSelect(false, 'articleFeedbackv5-filter');
$filterSelect->addOptions($opts);
$out->addHTML(Html::openElement('div', array('id' => 'articleFeedbackv5-sort-filter-controls')) . $this->msg('articlefeedbackv5-special-sort-label-before')->escaped() . implode($this->msg('pipe-separator')->escaped(), $sortLabels) . $this->msg('articlefeedbackv5-special-sort-label-after')->escaped() . $this->msg('articlefeedbackv5-special-filter-label-before')->escaped() . $filterSelect->getHTML() . $this->msg('articlefeedbackv5-special-filter-label-after')->escaped() . Html::element('a', array('href' => '#', 'id' => 'articleFeedbackv5-special-add-feedback'), $this->msg('articlefeedbackv5-special-add-feedback')->text()) . Html::closeElement('div'));
$out->addHTML(Html::element('div', array('id' => 'articleFeedbackv5-show-feedback')) . Html::element('a', array('href' => '#', 'id' => 'articleFeedbackv5-show-more'), $this->msg('articlefeedbackv5-special-more')->text()));
}
示例5: getInputHTML
function getInputHTML($value)
{
$select = new XmlSelect($this->mName, $this->mID, strval($value));
if (!empty($this->mParams['disabled'])) {
$select->setAttribute('disabled', 'disabled');
}
$allowedParams = ['tabindex', 'size'];
$customParams = $this->getAttributes($allowedParams);
foreach ($customParams as $name => $value) {
$select->setAttribute($name, $value);
}
if ($this->mClass !== '') {
$select->setAttribute('class', $this->mClass);
}
$select->addOptions($this->getOptions());
return $select->getHTML();
}
示例6: getLimitSelect
/**
* Get a "<select>" element which has options for each of the allowed limits
*
* @param $attribs String: Extra attributes to set
* @return String: HTML fragment
*/
public function getLimitSelect( $attribs = array() ) {
$select = new XmlSelect( 'limit', false, $this->mLimit );
$select->addOptions( $this->getLimitSelectList() );
foreach ( $attribs as $name => $value ) {
$select->setAttribute( $name, $value );
}
return $select->getHTML();
}
示例7: getInputHTML
function getInputHTML($value)
{
$valInSelect = false;
if ($value !== false) {
$valInSelect = in_array($value, HTMLFormField::flattenOptions($this->mParams['options']));
}
$selected = $valInSelect ? $value : 'other';
$opts = self::forceToStringRecursive($this->mParams['options']);
$select = new XmlSelect($this->mName, $this->mID, $selected);
$select->addOptions($opts);
$select->setAttribute('class', 'mw-htmlform-select-or-other');
$tbAttribs = array('id' => $this->mID . '-other', 'size' => $this->getSize());
if (!empty($this->mParams['disabled'])) {
$select->setAttribute('disabled', 'disabled');
$tbAttribs['disabled'] = 'disabled';
}
$select = $select->getHTML();
if (isset($this->mParams['maxlength'])) {
$tbAttribs['maxlength'] = $this->mParams['maxlength'];
}
$textbox = Html::input($this->mName . '-other', $valInSelect ? '' : $value, 'text', $tbAttribs);
return Html::rawElement('span', array('class' => 'input_like'), "{$select}<br />\n{$textbox}");
}
示例8: getInputHTML
function getInputHTML($value)
{
$oldClass = $this->mClass;
$this->mClass = (array) $this->mClass;
$valInSelect = false;
$ret = '';
if ($this->getOptions()) {
if ($value !== false) {
$value = strval($value);
$valInSelect = in_array($value, HTMLFormField::flattenOptions($this->getOptions()), true);
}
$selected = $valInSelect ? $value : 'other';
$select = new XmlSelect($this->mName . '-select', $this->mID . '-select', $selected);
$select->addOptions($this->getOptions());
$select->setAttribute('class', 'mw-htmlform-select-or-other');
if (!empty($this->mParams['disabled'])) {
$select->setAttribute('disabled', 'disabled');
}
if (isset($this->mParams['tabindex'])) {
$select->setAttribute('tabindex', $this->mParams['tabindex']);
}
$ret = $select->getHTML() . "<br />\n";
$this->mClass[] = 'mw-htmlform-hide-if';
}
if ($valInSelect) {
$value = '';
} else {
$key = array_search(strval($value), $this->autocomplete, true);
if ($key !== false) {
$value = $key;
}
}
$this->mClass[] = 'mw-htmlform-autocomplete';
$ret .= parent::getInputHTML($valInSelect ? '' : $value);
$this->mClass = $oldClass;
return $ret;
}
示例9: getTagSelect
/**
* Returns a <select multiple> element with a list of change tags that can be
* applied by users.
*
* @param array $selectedTags The tags that should be preselected in the
* list. Any tags in this list, but not in the list returned by
* ChangeTags::listExplicitlyDefinedTags, will be appended to the <select>
* element.
* @param string $label The text of a <label> to precede the <select>
* @return array HTML <label> element at index 0, HTML <select> element at
* index 1
*/
protected function getTagSelect($selectedTags, $label)
{
$result = [];
$result[0] = Xml::label($label, 'mw-edittags-tag-list');
$select = new XmlSelect('wpTagList[]', 'mw-edittags-tag-list', $selectedTags);
$select->setAttribute('multiple', 'multiple');
$select->setAttribute('size', '8');
$tags = ChangeTags::listExplicitlyDefinedTags();
$tags = array_unique(array_merge($tags, $selectedTags));
// Values of $tags are also used as <option> labels
$select->addOptions(array_combine($tags, $tags));
$result[1] = $select->getHTML();
return $result;
}
示例10: getFilterControl
/**
* Gets the HTML for a filter control.
*
* @since 0.1
*
* @param boolean $hideWhenNoResults When true, there are no results, and no filters are applied, an empty string is returned.
*
* @return string
*/
public function getFilterControl($hideWhenNoResults = true)
{
$filterOptions = $this->getFilterOptions();
foreach ($this->conds as $name => $value) {
if (array_key_exists($name, $filterOptions)) {
unset($filterOptions[$name]);
}
}
if (count($filterOptions) < 1) {
return '';
}
$this->addFilterValues($filterOptions);
if ($hideWhenNoResults && $this->getNumRows() < 1) {
$noFiltersSet = array_reduce($filterOptions, function ($current, array $data) {
return $current && ($data['value'] === '' || is_null($data['value']));
}, true);
if ($noFiltersSet) {
return '';
}
}
$controls = array();
foreach ($filterOptions as $optionName => $optionData) {
switch ($optionData['type']) {
case 'select':
$select = new XmlSelect($optionName, $optionName, $optionData['value']);
$select->addOptions($optionData['options']);
$control = $select->getHTML();
break;
}
$control = ' ' . $this->getMsg('filter-' . $optionName) . ' ' . $control;
$controls[] = $control;
}
$title = $this->getTitle()->getFullText();
return '<fieldset>' . '<legend>' . wfMsgHtml('ep-pager-showonly') . '</legend>' . '<form method="post" action="' . htmlspecialchars(wfAppendQuery($GLOBALS['wgScript'], array('title' => $title))) . '">' . Html::hidden('title', $title) . implode('', $controls) . ' <input type="submit" class="ep-pager-go" value="' . wfMsgHtml('ep-pager-go') . '">' . ' <button class="ep-pager-clear">' . wfMsgHtml('ep-pager-clear') . '</button>' . '</form>' . '</fieldset>';
}
示例11: displayAddNewControl
/**
* Adds a control to add a term org to the provided context.
* Additional arguments can be provided to set the default values for the control fields.
*
* @since 0.1
*
* @param IContextSource $context
* @param array $args
*
* @return boolean
*/
public static function displayAddNewControl(IContextSource $context, array $args)
{
if (!$context->getUser()->isAllowed('ep-course')) {
return false;
}
$out = $context->getOutput();
$out->addModules('ep.addcourse');
$out->addHTML(Html::openElement('form', array('method' => 'post', 'action' => self::getTitleFor('NAME_PLACEHOLDER')->getLocalURL(array('action' => 'edit')))));
$out->addHTML('<fieldset>');
$out->addHTML('<legend>' . wfMsgHtml('ep-courses-addnew') . '</legend>');
$out->addElement('p', array(), wfMsg('ep-courses-namedoc'));
$out->addElement('label', array('for' => 'neworg'), wfMsg('ep-courses-neworg'));
$select = new XmlSelect('neworg', 'neworg', array_key_exists('org', $args) ? $args['org'] : false);
$select->addOptions(EPOrg::getOrgOptions());
$out->addHTML($select->getHTML());
$out->addHTML(' ' . Xml::inputLabel(wfMsg('ep-courses-newname'), 'newname', 'newname', 20, array_key_exists('name', $args) ? $args['name'] : false));
$out->addHTML(' ' . Xml::inputLabel(wfMsg('ep-courses-newterm'), 'newterm', 'newterm', 10, array_key_exists('term', $args) ? $args['term'] : false));
$out->addHTML(' ' . Html::input('addnewcourse', wfMsg('ep-courses-add'), 'submit', array('disabled' => 'disabled', 'class' => 'ep-course-add')));
$out->addHTML(Html::hidden('isnew', 1));
$out->addHTML('</fieldset></form>');
return true;
}
示例12: showPermissions
protected function showPermissions( $step ) {
global $wgLang, $wgRequest;
$header = new HtmlTag( 'h2' );
$step_message = 'translate-fs-permissions-title';
$header->content( wfMsg( $step_message ) )->style( 'opacity', 0.4 );
if ( $step ) {
$this->out->addHtml( $header );
return $step;
}
if ( $wgRequest->wasPosted() &&
$this->user->matchEditToken( $wgRequest->getVal( 'token' ) ) &&
$wgRequest->getText( 'step' ) === 'permissions' )
{
// This is ridiculous
global $wgCaptchaTriggers;
$captcha = $wgCaptchaTriggers;
$wgCaptchaTriggers = null;
$language = $wgRequest->getVal( 'primary-language' );
$message = $wgRequest->getText( 'message', '...' );
$params = array(
'action' => 'threadaction',
'threadaction' => 'newthread',
'token' => $this->user->editToken(),
'talkpage' => 'Project:Translator',
'subject' => "{{LanguageHeader|$language}}",
'reason' => 'Using Special:FirstSteps',
'text' => $message,
);
$request = new FauxRequest( $params, true, $_SESSION );
$api = new ApiMain( $request, true );
$api->execute();
$result = $api->getResultData();
$wgCaptchaTriggers = $captcha;
$page = $result['threadaction']['thread']['thread-title'];
$this->user->setOption( 'translate-firststeps-request', $page );
$this->user->saveSettings();
}
$page = $this->user->getOption( 'translate-firststeps-request' );
if ( $this->user->isAllowed( 'translate' ) ) {
$header->content( $header->content . wfMsg( 'translate-fs-pagetitle-done' ) );
$this->out->addHtml( $header );
return $step;
} elseif ( $page ) {
$header->content( $header->content . wfMsg( 'translate-fs-pagetitle-pending' ) );
$this->out->addHtml( $header->style( 'opacity', false ) );
$this->out->addWikiMsg( 'translate-fs-permissions-pending', $page );
return $step_message;
}
$this->out->addHtml( $header->style( 'opacity', false ) );
$this->out->addWikiMsg( 'translate-fs-permissions-help' );
$output = Html::openElement( 'form', array( 'method' => 'post' ) );
$output .= Html::hidden( 'step', 'permissions' );
$output .= Html::hidden( 'token', $this->user->editToken() );
$output .= Html::hidden( 'title', $this->getTitle() );
$name = $id = 'primary-language';
$selector = new XmlSelect();
$selector->addOptions( $this->languages( $wgLang->getCode() ) );
$selector->setAttribute( 'id', $id );
$selector->setAttribute( 'name', $name );
$selector->setDefault( $wgLang->getCode() );
$text = wfMessage( 'translate-fs-permissions-planguage' )->text();
$output .= Xml::label( $text, $id ) . " " . $selector->getHtml() . '<br />';
$output .= Html::element( 'textarea', array( 'rows' => 5, 'name' => 'message' ), '' );
$output .= Xml::submitButton( wfMsg( 'translate-fs-permissions-submit' ) );
$output .= Html::closeElement( 'form' );
$this->out->addHtml( $output );
return $step_message;
}
示例13: execute
/**
* Executes the special page
*
* @param $param string the parameter passed in the url
*/
public function execute($param)
{
global $wgArticleFeedbackv5DashboardCategory, $wgUser;
$out = $this->getOutput();
// set robot policy
$out->setIndexPolicy('noindex');
if (!$param) {
$out->addWikiMsg('articlefeedbackv5-invalid-page-id');
return;
}
if (preg_match('/^(.+)\\/(\\d+)$/', $param, $m)) {
$param = $m[1];
}
$title = Title::newFromText($param);
// Page does not exist.
if (!$title->exists()) {
$out->addWikiMsg('articlefeedbackv5-invalid-page-id');
return;
}
$pageId = $title->getArticleID();
$dbr = wfGetDB(DB_SLAVE);
$t = $dbr->select('categorylinks', 'cl_from', array('cl_from' => $pageId, 'cl_to' => $wgArticleFeedbackv5DashboardCategory), __METHOD__, array('LIMIT' => 1));
// Page exists, but feedback is disabled.
if ($dbr->numRows($t) == 0) {
$out->addWikiMsg('articlefeedbackv5-page-disabled');
return;
}
// Success!
$ratings = $this->fetchOverallRating($pageId);
$found = isset($ratings['found']) ? $ratings['found'] : null;
$rating = isset($ratings['rating']) ? $ratings['rating'] : null;
$out->setPagetitle($this->msg('articlefeedbackv5-special-pagetitle', $title)->escaped());
if (!$pageId) {
$out->addWikiMsg('articlefeedbackv5-invalid-page-id');
return;
}
$helpPage = 'Article_Feedback_Tool/Version_5/Help/Feedback_page';
if ($wgUser->isAllowed('aftv5-delete-feedback')) {
$helpPage = 'Article_Feedback_Tool/Version_5/Help/Feedback_page_Oversighters';
} elseif ($wgUser->isAllowed('aftv5-hide-feedback')) {
$helpPage = 'Article_Feedback_Tool/Version_5/Help/Feedback_page_Hiders';
} elseif (!$wgUser->isAnon()) {
$helpPage = 'Article_Feedback_Tool/Version_5/Help/Feedback_page_Editors';
}
$helpTitle = Title::newFromText($helpPage, NS_PROJECT);
$out->addHTML(Html::openElement('div', array('id' => 'articleFeedbackv5-header-wrap')) . Html::openElement('div', array('id' => 'articleFeedbackv5-header-links')) . Linker::link($title, $this->msg('articlefeedbackv5-go-to-article')->escaped()) . ' | ' . Linker::link($title->getTalkPage(), $this->msg('articlefeedbackv5-discussion-page')->escaped()) . ' | ' . Linker::link($helpTitle, $this->msg('articlefeedbackv5-whats-this')->escaped()) . Html::closeElement('div') . Html::openElement('div', array('id' => 'articleFeedbackv5-showing-count-wrap')) . $this->msg('articlefeedbackv5-special-showing', Html::element('span', array('id' => 'articleFeedbackv5-feedback-count-total'), '0')) . Html::closeElement('div'));
if ($found) {
$class = $found > 50 ? 'positive' : 'negative';
$span = Html::rawElement('span', array('class' => "stat-marker {$class}"), wfMsg('percent', $found));
$out->addHtml(Html::openElement('div', array('id' => 'articleFeedbackv5-percent-found-wrap')) . $this->msg('articlefeedbackv5-percent-found')->rawParams($span)->escaped() . Html::closeElement('div'));
}
// BETA notice
$out->addHTML(Html::element('span', array('class' => 'articlefeedbackv5-beta-notice'), $this->msg('articlefeedbackv5-beta-notice')->text()) . Html::element('div', array('class' => 'float-clear')));
$out->addHtml(Html::element('a', array('href' => '#', 'id' => 'articleFeedbackv5-special-add-feedback'), $this->msg('articlefeedbackv5-special-add-feedback')->text()) . Html::element('div', array('class' => 'float-clear')) . Html::closeElement('div'));
# if ( $rating ) {
# $out->addWikiMsg( 'articlefeedbackv5-overall-rating', $rating );
# }
$out->addJsConfigVars('afPageId', $pageId);
// Only show the abuse counts to editors (ie, anyone allowed to
// hide content).
if ($wgUser->isAllowed('aftv5-see-hidden-feedback')) {
$out->addJsConfigVars('afCanEdit', 1);
}
$out->addModules('ext.articleFeedbackv5.dashboard');
$sortLabels = array();
foreach ($this->sorts as $sort) {
$sortLabels[] = Html::element('img', array('id' => 'articleFeedbackv5-sort-arrow-' . $sort, 'class' => 'articleFeedbackv5-sort-arrow'), '') . Html::element('a', array('href' => '#', 'id' => 'articleFeedbackv5-special-sort-' . $sort, 'class' => 'articleFeedbackv5-sort-link'), $this->msg('articlefeedbackv5-special-sort-' . $sort)->text());
}
$opts = array();
$counts = $this->getFilterCounts($pageId);
foreach ($this->filters as $filter) {
$count = array_key_exists($filter, $counts) ? $counts[$filter] : 0;
$key = $this->msg('articlefeedbackv5-special-filter-' . $filter, $count)->escaped();
if (in_array($filter, array('comment', 'helpful', 'visible'))) {
$opts[(string) $key] = $filter;
} else {
$opts['---------'][(string) $key] = $filter;
}
}
$filterSelect = new XmlSelect(false, 'articleFeedbackv5-filter-select');
$filterSelect->addOptions($opts);
$out->addHTML(Html::openElement('div', array('id' => 'articleFeedbackv5-sort-filter-controls')) . Html::openElement('div', array('id' => 'articleFeedbackv5-sort')) . Html::openElement('span', array('class' => 'articleFeedbackv5-sort-label')) . $this->msg('articlefeedbackv5-special-sort-label-before')->escaped() . Html::closeElement('span') . implode($this->msg('pipe-separator')->escaped(), $sortLabels) . $this->msg('articlefeedbackv5-special-sort-label-after')->escaped() . Html::closeElement('div') . Html::openElement('div', array('id' => 'articleFeedbackv5-filter')) . Html::openElement('span', array('class' => 'articleFeedbackv5-filter-label')) . $this->msg('articlefeedbackv5-special-filter-label-before')->escaped() . Html::closeElement('span') . $filterSelect->getHTML() . $this->msg('articlefeedbackv5-special-filter-label-after')->escaped() . Html::closeElement('div') . Html::closeElement('div'));
$out->addHTML(Html::element('div', array('id' => 'articleFeedbackv5-show-feedback')) . Html::element('a', array('href' => '#', 'id' => 'articleFeedbackv5-show-more'), $this->msg('articlefeedbackv5-special-more')->text()));
}
示例14: XmlSelect
</a>
<?php
}
?>
<?php
if ($accessControls) {
?>
<form action="<?php
echo $submitUrl;
?>
" method="get" id="ImageReviewControls">
Sort order: <?php
$sortSelect = new XmlSelect('sort', 'sort', intval($order));
$sortSelect->addOptions(ImageReviewHelper::$sortOptions);
echo $sortSelect->getHTML();
?>
<input type="submit" class="wikia-button secondary" value="Change sort order" />
</form>
<a href="<?php
echo $fullUrl;
?>
/stats" class="wikia-button secondary">View stats</a>
<?php
}
?>
示例15: getLimitSelect
/**
* Get a "<select>" element which has options for each of the allowed limits
*
* @return String: HTML fragment
*/
public function getLimitSelect()
{
$select = new XmlSelect('limit', false, $this->mLimit);
$select->addOptions($this->getLimitSelectList());
return $select->getHTML();
}