/usr/share/mediawiki-extensions/base/InputBox/InputBox.hooks.php is in mediawiki-extensions-base 3.6.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | <?php
/**
* Hooks for InputBox extension
*
* @file
* @ingroup Extensions
*/
// InputBox hooks
class InputBoxHooks {
/* Functions */
// Initialization
public static function register( &$parser ) {
// Register the hook with the parser
$parser->setHook( 'inputbox', array( 'InputBoxHooks', 'render' ) );
// Continue
return true;
}
// Render the input box
public static function render( $input, $args, $parser ) {
// Create InputBox
$inputBox = new InputBox( $parser );
// Configure InputBox
$inputBox->extractOptions( $parser->replaceVariables( $input ) );
// 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
* 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 $wiki MediaWiki
* @return True
*/
public static function onMediaWikiPerformAction(
$output,
$article,
$title,
$user,
$request,
$wiki )
{
if( $wiki->getAction( $request ) !== 'edit' ){
# not our problem
return true;
}
if( $request->getText( 'prefix', '' ) === '' ){
# Fine
return true;
}
$params = $request->getValues();
$title = $params['prefix'];
if ( isset( $params['title'] ) ){
$title .= $params['title'];
}
unset( $params['prefix'] );
$params['title'] = $title;
global $wgScript;
$output->redirect( wfAppendQuery( $wgScript, $params ), '301' );
return false;
}
}
|