User:Mutante/Fnord

From Meta, a Wikimedia project coordination wiki
 
A proposal to move this page to MediaWiki.org was rejected.

An extension for discordians. Use <fnord></fnord> to produce random fnord definitions. You need to create your personal fnord table before ,like here.

CREATE TABLE `fnord` (
  `id` int(11) NOT NULL auto_increment,
  `text` varchar(255) default NULL,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM;

read the lines from this fnord file or be creative and create your own, fill the mysql table with them.(Using UltraEdit Macros i added insert into fnord.fnord (text) values (" to the start and "); to the end of every line). then import via mysql client.


<?php
#  Fnord Mediawiki extension
# display random fnord definitions in wiki pages using a <fnord> tag
# inside a {{Template:Fnord}}
# input can be used for LIMITing the mysql random select (later)
# by mutante 17.04.2005

$wgExtensionFunctions[] = "wfFnordExtension";

function wfFnordExtension() {
global $wgParser;
$wgParser->setHook( "fnord", "renderFnord" );
}

function renderFnord( $input ) {

$input = mysql_escape_string($input);

# check if input is integer else set to 1
if (is_int($input)){
$limit = $input;
} else {
$limit = 1;
}

$hd = mysql_connect("localhost", "wikiuser", "PASSWORD") or die ("Unable to connect");
mysql_select_db ("wikidb", $hd) or die ("Unable to select database");
$res = mysql_query("SELECT * from fnord ORDER BY rand() LIMIT 0,$limit", $hd) or die ("Unable to run query");
while ($row = mysql_fetch_assoc($res))
{
$id = $row["id"];
$fnord = $row["text"];
}
$output = " $fnord ((K)fnord_id #$id))";

return $output;

}

?>

put this into /var/www/wiki/extensions/ as FnordExtension.php