summaryrefslogtreecommitdiff
path: root/extensions/InputBox/InputBox.classes.php
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/InputBox/InputBox.classes.php')
-rw-r--r--extensions/InputBox/InputBox.classes.php198
1 files changed, 61 insertions, 137 deletions
diff --git a/extensions/InputBox/InputBox.classes.php b/extensions/InputBox/InputBox.classes.php
index 4cdcbe9c..b03ccd4a 100644
--- a/extensions/InputBox/InputBox.classes.php
+++ b/extensions/InputBox/InputBox.classes.php
@@ -17,6 +17,7 @@ class InputBox {
private $mPreload = '';
private $mPreloadparams = array();
private $mEditIntro = '';
+ private $mUseVE = '';
private $mSummary = '';
private $mNosummary = '';
private $mMinor = '';
@@ -83,6 +84,39 @@ class InputBox {
}
}
+ /*
+ * Returns the action name and value to use in inputboxes which redirects to edit pages.
+ * Decides, if the link should redirect to VE edit page (veaction=edit) or to wikitext editor
+ * (action=edit).
+ *
+ * @return Array Array with name and value data
+ */
+ private function getEditActionArgs() {
+ // default is wikitext editor
+ $args = array(
+ 'name' => 'action',
+ 'value' => 'edit',
+ );
+ // check, if VE is installed and VE editor is requested
+ if ( ExtensionRegistry::getInstance()->isLoaded( 'VisualEditor' ) && $this->mUseVE ) {
+ $args = array(
+ 'name' => 'veaction',
+ 'value' => 'edit',
+ );
+ }
+ return $args;
+ }
+
+ /**
+ * Get common classes, that could be added and depend on, if
+ * a line break between a button and an input field is added or not.
+ *
+ * @return String
+ */
+ private function getLinebreakClasses() {
+ return strtolower( $this->mBR ) === '<br />' ? 'mw-inputbox-input ' : '';
+ }
+
/**
* Generate search form
* @param $type
@@ -123,7 +157,7 @@ class InputBox {
);
$htmlOut .= Xml::element( 'input',
array(
- 'class' => 'searchboxInput mw-ui-input mw-ui-input-inline',
+ 'class' => $this->getLinebreakClasses() . 'searchboxInput mw-ui-input mw-ui-input-inline',
'name' => 'search',
'type' => $this->mHidden ? 'hidden' : 'text',
'value' => $this->mDefaultText,
@@ -134,13 +168,7 @@ class InputBox {
);
if ( $this->mPrefix != '' ) {
- $htmlOut .= Xml::element( 'input',
- array(
- 'name' => 'prefix',
- 'type' => 'hidden',
- 'value' => $this->mPrefix,
- )
- );
+ $htmlOut .= Html::hidden( 'prefix', $this->mPrefix );
}
$htmlOut .= $this->mBR;
@@ -360,78 +388,26 @@ class InputBox {
$createBoxParams['id'] = Sanitizer::escapeId( $this->mID );
}
$htmlOut .= Xml::openElement( 'form', $createBoxParams );
- $htmlOut .= Xml::openElement( 'input',
- array(
- 'type' => 'hidden',
- 'name' => 'action',
- 'value' => 'edit',
- )
- );
- $htmlOut .= Xml::openElement( 'input',
- array(
- 'type' => 'hidden',
- 'name' => 'preload',
- 'value' => $this->mPreload,
- )
- );
+ $editArgs = $this->getEditActionArgs();
+ $htmlOut .= Html::hidden( $editArgs['name'], $editArgs['value'] );
+ $htmlOut .= Html::hidden( 'preload', $this->mPreload );
foreach ( $this->mPreloadparams as $preloadparams ) {
- $htmlOut .= Xml::openElement( 'input',
- array(
- 'type' => 'hidden',
- 'name' => 'preloadparams[]',
- 'value' => $preloadparams,
- )
- );
+ $htmlOut .= Html::hidden( 'preloadparams[]', $preloadparams );
}
- $htmlOut .= Xml::openElement( 'input',
- array(
- 'type' => 'hidden',
- 'name' => 'editintro',
- 'value' => $this->mEditIntro,
- )
- );
- $htmlOut .= Xml::openElement( 'input',
- array(
- 'type' => 'hidden',
- 'name' => 'summary',
- 'value' => $this->mSummary,
- )
- );
- $htmlOut .= Xml::openElement( 'input',
- array(
- 'type' => 'hidden',
- 'name' => 'nosummary',
- 'value' => $this->mNosummary,
- )
- );
- $htmlOut .= Xml::openElement( 'input',
- array(
- 'type' => 'hidden',
- 'name' => 'prefix',
- 'value' => $this->mPrefix,
- )
- );
- $htmlOut .= Xml::openElement( 'input',
- array(
- 'type' => 'hidden',
- 'name' => 'minor',
- 'value' => $this->mMinor,
- )
- );
+ $htmlOut .= Html::hidden( 'editintro', $this->mEditIntro );
+ $htmlOut .= Html::hidden( 'summary', $this->mSummary );
+ $htmlOut .= Html::hidden( 'nosummary', $this->mNosummary );
+ $htmlOut .= Html::hidden( 'prefix', $this->mPrefix );
+ $htmlOut .= Html::hidden( 'minor', $this->mMinor );
if ( $this->mType == 'comment' ) {
- $htmlOut .= Xml::openElement( 'input',
- array(
- 'type' => 'hidden',
- 'name' => 'section',
- 'value' => 'new',
- )
- );
+ $htmlOut .= Html::hidden( 'section', 'new' );
}
$htmlOut .= Xml::openElement( 'input',
array(
'type' => $this->mHidden ? 'hidden' : 'text',
'name' => 'title',
- 'class' => 'mw-ui-input mw-ui-input-inline createboxInput',
+ 'class' => $this->getLinebreakClasses() .
+ 'mw-ui-input mw-ui-input-inline createboxInput',
'value' => $this->mDefaultText,
'placeholder' => $this->mPlaceholderText,
'size' => $this->mWidth,
@@ -480,32 +456,14 @@ class InputBox {
$moveBoxParams['id'] = Sanitizer::escapeId( $this->mID );
}
$htmlOut .= Xml::openElement( 'form', $moveBoxParams );
- $htmlOut .= Xml::openElement( 'input',
- array(
- 'type' => 'hidden',
- 'name' => 'title',
- 'value' => SpecialPage::getTitleFor( 'Movepage', $this->mPage )->getPrefixedText(),
- )
- );
- $htmlOut .= Xml::openElement( 'input',
- array(
- 'type' => 'hidden',
- 'name' => 'wpReason',
- 'value' => $this->mSummary,
- )
- );
- $htmlOut .= Xml::openElement( 'input',
- array(
- 'type' => 'hidden',
- 'name' => 'prefix',
- 'value' => $this->mPrefix,
- )
- );
+ $htmlOut .= Html::hidden( 'title', SpecialPage::getTitleFor( 'Movepage', $this->mPage )->getPrefixedText() );
+ $htmlOut .= Html::hidden( 'wpReason', $this->mSummary );
+ $htmlOut .= Html::hidden( 'prefix', $this->mPrefix );
$htmlOut .= Xml::openElement( 'input',
array(
'type' => $this->mHidden ? 'hidden' : 'text',
'name' => 'wpNewTitle',
- 'class' => 'mw-moveboxInput mw-ui-input mw-ui-input-inline',
+ 'class' => $this->getLinebreakClasses() . 'mw-moveboxInput mw-ui-input mw-ui-input-inline',
'value' => $this->mDefaultText,
'placeholder' => $this->mPlaceholderText,
'size' => $this->mWidth,
@@ -553,61 +511,26 @@ class InputBox {
$commentFormParams['id'] = Sanitizer::escapeId( $this->mID );
}
$htmlOut .= Xml::openElement( 'form', $commentFormParams );
- $htmlOut .= Xml::openElement( 'input',
- array(
- 'type' => 'hidden',
- 'name' => 'action',
- 'value' => 'edit',
- )
- );
- $htmlOut .= Xml::openElement( 'input',
- array(
- 'type' => 'hidden',
- 'name' => 'preload',
- 'value' => $this->mPreload,
- )
- );
+ $editArgs = $this->getEditActionArgs();
+ $htmlOut .= Html::hidden( $editArgs['name'], $editArgs['value'] );
+ $htmlOut .= Html::hidden( 'preload', $this->mPreload );
foreach ( $this->mPreloadparams as $preloadparams ) {
- $htmlOut .= Xml::openElement( 'input',
- array(
- 'type' => 'hidden',
- 'name' => 'preloadparams[]',
- 'value' => $preloadparams,
- )
- );
+ $htmlOut .= Html::hidden( 'preloadparams[]', $preloadparams );
}
- $htmlOut .= Xml::openElement( 'input',
- array(
- 'type' => 'hidden',
- 'name' => 'editintro',
- 'value' => $this->mEditIntro,
- )
- );
+ $htmlOut .= Html::hidden( 'editintro', $this->mEditIntro );
$htmlOut .= Xml::openElement( 'input',
array(
'type' => $this->mHidden ? 'hidden' : 'text',
'name' => 'preloadtitle',
- 'class' => 'commentboxInput mw-ui-input mw-ui-input-inline',
+ 'class' => $this->getLinebreakClasses() . 'commentboxInput mw-ui-input mw-ui-input-inline',
'value' => $this->mDefaultText,
'placeholder' => $this->mPlaceholderText,
'size' => $this->mWidth,
'dir' => $this->mDir,
)
);
- $htmlOut .= Xml::openElement( 'input',
- array(
- 'type' => 'hidden',
- 'name' => 'section',
- 'value' => 'new',
- )
- );
- $htmlOut .= Xml::openElement( 'input',
- array(
- 'type' => 'hidden',
- 'name' => 'title',
- 'value' => $this->mPage
- )
- );
+ $htmlOut .= Html::hidden( 'section', 'new' );
+ $htmlOut .= Html::hidden( 'title', $this->mPage );
$htmlOut .= $this->mBR;
$htmlOut .= Xml::openElement( 'input',
array(
@@ -658,6 +581,7 @@ class InputBox {
'preload' => 'mPreload',
'page' => 'mPage',
'editintro' => 'mEditIntro',
+ 'useve' => 'mUseVE',
'summary' => 'mSummary',
'nosummary' => 'mNosummary',
'minor' => 'mMinor',