MediaWiki  1.34.0
InputBoxHooks.php
Go to the documentation of this file.
1 <?php
13 
19  public static function register( Parser &$parser ) {
20  // Register the hook with the parser
21  $parser->setHook( 'inputbox', [ 'InputBoxHooks', 'render' ] );
22 
23  // Continue
24  return true;
25  }
26 
33  public static function onSpecialPageBeforeExecute( $special, $subPage ) {
34  $request = $special->getRequest();
35  $prefix = $request->getText( 'prefix', '' );
36  $title = $request->getText( 'wpNewTitle', '' );
37  $search = $request->getText( 'search', '' );
38  $searchfilter = $request->getText( 'searchfilter', '' );
39  if ( $special->getName() == 'Movepage' && $prefix !== '' && $title !== '' ) {
40  $request->setVal( 'wpNewTitle', $prefix . $title );
41  $request->unsetVal( 'prefix' );
42  }
43  if ( $special->getName() == 'Search' && $searchfilter !== '' ) {
44  $request->setVal( 'search', $search . ' ' . $searchfilter );
45  }
46  return true;
47  }
48 
56  public static function render( $input, $args, Parser $parser ) {
57  // Create InputBox
58  $inputBox = new InputBox( $parser );
59 
60  // Configure InputBox
61  $inputBox->extractOptions( $parser->replaceVariables( $input ) );
62 
63  // Return output
64  return $inputBox->render();
65  }
66 
79  public static function onMediaWikiPerformAction(
80  $output,
81  $article,
82  $title,
83  $user,
84  $request,
85  $wiki
86  ) {
87  if ( $wiki->getAction() !== 'edit' && $request->getText( 'veaction' ) !== 'edit' ) {
88  // not our problem
89  return true;
90  }
91  if ( $request->getText( 'prefix', '' ) === '' ) {
92  // Fine
93  return true;
94  }
95 
96  $params = $request->getValues();
97  $title = $params['prefix'];
98  if ( isset( $params['title'] ) ) {
99  $title .= $params['title'];
100  }
101  unset( $params['prefix'] );
102  $params['title'] = $title;
103 
104  global $wgScript;
105  $output->redirect( wfAppendQuery( $wgScript, $params ), '301' );
106  return false;
107  }
108 }
InputBoxHooks\onSpecialPageBeforeExecute
static onSpecialPageBeforeExecute( $special, $subPage)
Prepend prefix to wpNewTitle if necessary.
Definition: InputBoxHooks.php:33
$wgScript
$wgScript
The URL path to index.php.
Definition: DefaultSettings.php:185
InputBoxHooks\render
static render( $input, $args, Parser $parser)
Render the input box.
Definition: InputBoxHooks.php:56
InputBox
InputBox class.
Definition: InputBox.php:14
InputBoxHooks\onMediaWikiPerformAction
static onMediaWikiPerformAction( $output, $article, $title, $user, $request, $wiki)
<inputbox type="create..."> sends requests with action=edit, and possibly a &prefix=Foo.
Definition: InputBoxHooks.php:79
wfAppendQuery
wfAppendQuery( $url, $query)
Append a query string to an existing URL, which may or may not already have query string parameters a...
Definition: GlobalFunctions.php:439
InputBoxHooks
InputBox hooks.
Definition: InputBoxHooks.php:12
$title
$title
Definition: testCompression.php:34
$output
$output
Definition: SyntaxHighlight.php:335
$args
if( $line===false) $args
Definition: cdb.php:64