Template talk:Fnord

From S23Wiki
Jump to: navigation, search

How this works

Created mysql table

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

Made fnord.sql import file

Using UltraEdit Macros i added insert into fnord.fnord (text) values (" to the start and "); to the end of every line from this file.

Imported into wikidb.fnord

mysql -u root -p wikidb < fnord.sql

Made Fnord Mediawiki extension

<?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

Included extension in LocalSettings

Added include("extensions/FnordExtension.php"); to the end of /var/www/wiki/LocalSettings.php


Result - Random Fnords

<fnord> =

<fnord>

</fnord>