Create special pages
From Fxp Wiki
How do I add my own dynamic content to MediaWiki?
To do this you will want to create a special page, which is just a php script. First go to the includes directory and notice all the files that start with "Special", these are all the special pages in your MediaWiki installation. Create a page called SpecialMypage.php, where "Mypage" is the name of your page.
Open the file SpecialPage.php. There will be a bunch of lines that look like this:
"Statistics" => new SpecialPage( "Statistics" ),
at the beginning of the file. Add a line like that in the correct section with your page's name on it:
"Mypage" => new SpecialPage( "Mypage" ),
Now navigate to "MediaWiki:Mypage". Edit the page and add the name of your page there. So the text should probably be only "Mypage", or whatever you want the name of your page to show up as for wiki users.
Now edit SpecialMypage.php. Create a function that is named "wfSpecial" and then the name of your page.
<?php function wfSpecialMypage() { global $wgUser, $wgOut; $wgOut->addHTML( "html goes here" ); $wgOut->addWikiText( "WikiText goes here" ); } ?>
You can pretty much write any valid php code you want here. You can use $wgOut->addHTML to add html output to the page and $wgOut->addWikiText to add wikitext to the page. Your special page should now work. You can navigate to it by going to "Special:Mypage" or via the special pages page.
Alternatively, you can write your own MediaWiki extension.
Source
The text comes from the mediawiki FAQ, but as I spent a lot of time trying to find it, I put a copy here :-)))
