summaryrefslogtreecommitdiff
path: root/extensions/InputBox/InputBox.hooks.php
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/InputBox/InputBox.hooks.php')
-rw-r--r--extensions/InputBox/InputBox.hooks.php42
1 files changed, 27 insertions, 15 deletions
diff --git a/extensions/InputBox/InputBox.hooks.php b/extensions/InputBox/InputBox.hooks.php
index 7cc60549..624d250c 100644
--- a/extensions/InputBox/InputBox.hooks.php
+++ b/extensions/InputBox/InputBox.hooks.php
@@ -17,6 +17,18 @@ class InputBoxHooks {
return true;
}
+ // Prepend prefix to wpNewTitle if necessary
+ public static function onSpecialPageBeforeExecute( $special, $subPage ) {
+ $request = $special->getRequest();
+ $prefix = $request->getText( 'prefix', '' );
+ $title = $request->getText( 'wpNewTitle', '' );
+ if ( $special->getName() == 'Movepage' && $prefix !== '' && $title !== '' ) {
+ $request->setVal( 'wpNewTitle', $prefix . $title );
+ $request->unsetVal( 'prefix' );
+ }
+ return true;
+ }
+
// Render the input box
public static function render( $input, $args, Parser $parser ) {
// Create InputBox
@@ -28,27 +40,27 @@ class InputBoxHooks {
// Return output
return $inputBox->render();
}
-
+
/**
- * <inputbox type=create...> sends requests with action=edit, and
- * possibly a &prefix=Foo. So we pick that up here, munge prefix
+ * <inputbox type=create...> sends requests with action=edit, and
+ * possibly a &prefix=Foo. So we pick that up here, munge prefix
* and title together, and redirect back out to the real page
* @param $output OutputPage
* @param $article Article
* @param $title Title
* @param $user User
- * @param $request WebRequest
+ * @param $request WebRequest
* @param $wiki MediaWiki
* @return bool
*/
- public static function onMediaWikiPerformAction(
- $output,
- $article,
- $title,
- $user,
- $request,
- $wiki )
- {
+ public static function onMediaWikiPerformAction(
+ $output,
+ $article,
+ $title,
+ $user,
+ $request,
+ $wiki
+ ) {
if( $wiki->getAction( $request ) !== 'edit' ){
# not our problem
return true;
@@ -57,15 +69,15 @@ class InputBoxHooks {
# Fine
return true;
}
-
+
$params = $request->getValues();
$title = $params['prefix'];
- if ( isset( $params['title'] ) ){
+ if ( isset( $params['title'] ) ) {
$title .= $params['title'];
}
unset( $params['prefix'] );
$params['title'] = $title;
-
+
global $wgScript;
$output->redirect( wfAppendQuery( $wgScript, $params ), '301' );
return false;