Inputbox extension
From FollowTheScore
I wish someone would rewrite this extension! Specifically I wish they would rewrite it and merge all the existing rewrites back into the trunk! Its so messy! At least 3 versions 'in the wild'.
Here is my diff from a recent co of the original - I made these diffs to fix a rendering problem that Input box forces on you...
--- inputbox/inputbox.php 2007-09-09 12:29:26.000000000 +0200
+++ inputboxX/inputbox.php 2007-09-09 18:43:19.000000000 +0200
@@ -1,7 +1,7 @@
<?php
/**
- * This file contains the main include file for the Inputbox extension of
+ * This file contains the main include file for the InputboxX extension of
* MediaWiki.
*
* Usage: require_once("path/to/inputbox.php"); in LocalSettings.php
@@ -17,11 +17,11 @@
*/
/**
- * Register the Inputbox extension with MediaWiki
+ * Register the InputboxX extension with MediaWiki
*/
-$wgExtensionFunctions[] = 'efInputBoxSetup';
+$wgExtensionFunctions[] = 'efInputBoxXSetup';
$wgExtensionCredits['parserhook'][] = array(
- 'name' => 'Inputbox',
+ 'name' => 'InputboxX',
'author' => array( 'Erik Moeller', 'Leonardo Pimenta', 'Rob Church' ),
'url' => 'http://meta.wikimedia.org/wiki/Help:Inputbox',
'description' => 'Allow inclusion of predefined HTML forms.',
@@ -30,26 +30,26 @@
/**
* Extension setup function
*/
-function efInputBoxSetup() {
+function efInputBoxXSetup() {
global $wgMessageCache, $wgParser;
require_once( dirname( __FILE__ ) . '/InputBox.i18n.php' );
- foreach( efInputBoxMessages() as $lang => $messages )
+ foreach( efInputBoxXMessages() as $lang => $messages )
$wgMessageCache->addMessages( $messages, $lang );
- $wgParser->setHook( 'inputbox', 'efInputBoxRender' );
+ $wgParser->setHook( 'inputboxX', 'efInputBoxXRender' );
}
-function efInputBoxRender( $input, $params, $parser ) {
- $inputbox = new Inputbox( $parser );
- $inputbox->extractOptions( $parser->replaceVariables( $input ) );
- return $inputbox->render();
+function efInputBoxXRender( $input, $params, $parser ) {
+ $inputboxX = new InputboxX( $parser );
+ $inputboxX->extractOptions( $parser->replaceVariables( $input ) );
+ return $inputboxX->render();
}
-class Inputbox {
+class InputboxX {
var $type,$width,$preload,$editintro, $br;
var $defaulttext,$bgcolor,$buttonlabel,$searchbuttonlabel;
var $hidden, $namespaces;
- function InputBox( &$parser ) {
+ function InputBoxX( &$parser ) {
$this->parser =& $parser;
}
@@ -84,12 +84,7 @@
$type = $this->hidden ? 'hidden' : 'text';
$searchform=<<<ENDFORM
- <table border="0" width="100%" cellspacing="0" cellpadding="0">
- <tr>
- <td align="center" bgcolor="{$this->bgcolor}">
- <form name="searchbox" action="{$search}" class="searchbox">
- <input class="searchboxInput" name="search" type="{$type}"
- value="{$this->defaulttext}" size="{$this->width}" />{$this->br}
+<div style="display:inline"><form style="display:inline" name="searchbox" action="{$search}" class="searchbox"><input class="searchboxInput" name="search" type="{$
type}" value="{$this->defaulttext}" size="{$this->width}" />{$this->br}
ENDFORM;
// disabled when namespace filter active
@@ -128,12 +123,7 @@
$gobutton='';
}
$searchform3=<<<ENDFORM2
- {$gobutton}
- <input type='submit' name="fulltext" class="searchboxSearchButton" value="{$this->searchbuttonlabel}" />
- </form>
- </td>
- </tr>
- </table>
+{$gobutton}<input type='submit' name="fulltext" class="searchboxSearchButton" value="{$this->searchbuttonlabel}" /></form></div>
ENDFORM2;
//Return form values
return $searchform . $searchform2 . $searchform3;
@@ -169,7 +159,7 @@
function getCreateForm() {
global $wgScript;
- $action = htmlspecialchars( $wgScript );
+ $action = htmlspecialchars( $wgScript );
if($this->type=="comment") {
$comment='<input type="hidden" name="section" value="new" />';
if(!$this->buttonlabel) {
@@ -183,22 +173,7 @@
}
$type = $this->hidden ? 'hidden' : 'text';
$createform=<<<ENDFORM
-<table border="0" width="100%" cellspacing="0" cellpadding="0">
-<tr>
-<td align="center" bgcolor="{$this->bgcolor}">
-<form name="createbox" action="$action" method="get" class="createbox">
- <input type='hidden' name="action" value="edit" />
- <input type="hidden" name="preload" value="{$this->preload}" />
- <input type="hidden" name="editintro" value="{$this->editintro}" />
- {$comment}
- <input class="createboxInput" name="title" type="{$type}"
- value="{$this->defaulttext}" size="{$this->width}" />{$this->br}
- <input type='submit' name="create" class="createboxButton"
- value="{$this->buttonlabel}" />
-</form>
-</td>
-</tr>
-</table>
+<div style="display:inline"><form style="display:inline" name="createbox" action="$action" method="get" class="createbox"><input type='hidden' name="action" value=
"edit" /><input type="hidden" name="preload" value="{$this->preload}" /><input type="hidden" name="editintro" value="{$this->editintro}" />{$comment}<input class="c
reateboxInput" name="title" type="{$type}" value="{$this->defaulttext}" size="{$this->width}" />{$this->br}<input type='submit' name="create" class="createboxButton
" value="{$this->buttonlabel}" /></form></div>
ENDFORM;
return $createform;
}