Difference between revisions of "Extension:WikiaInfo.php"
m |
m (Extension:WikiaInfo moved to Extension:WikiaInfo.php) |
(No difference)
| |
Revision as of 06:42, 27 August 2007
<?php
- Extension:WikiaInfo
Template:PhpCategory:Extensions created with Template:SpecialPage
- - Licenced under LGPL (http://www.gnu.org/copyleft/lesser.html)
- - Author: User:Nad
- - Started: 2007-08-27
if (!defined('MEDIAWIKI')) die('Not an entry point.');
define('WIKIAINFO_VERSION','1.0.0, 2007-08-27');
$wgExtensionFunctions[] = 'wfSetupWikiaInfo';
$wgExtensionCredits['specialpage'][] = array( 'name' => 'Special:WikiaInfo', 'author' => 'User:Nad', 'description' => 'List the currently running wikia and the domains pointing to them', 'url' => 'http://www.organicdesign.co.nz/Extension:WikiaInfo.php', 'version' => WIKIAINFO_VERSION );
require_once "$IP/includes/SpecialPage.php";
- Define a new class based on the SpecialPage class
class SpecialWikiaInfo extends SpecialPage {
# Constructor function SpecialWikiaInfo() { SpecialPage::SpecialPage('WikiaInfo','sysop',true,false,false,false); }
# Override SpecialPage::execute() function execute() { global $wgOut;
$wgOut->addWikiText("
openlevels=1\n*Settings files\n");
# Get list of domain symlinks by inode $domains = array(); $handle = opendir($GLOBALS['domains']); while (false !== ($link = readdir($handle))) { if (!ereg('^\\.',$link)) { $stat = stat($link); $inode = $stat[1]; if (is_array($domains[$inode])) $domains[$inode][] = $link; else $domains[$inode] = array($link); } } closedir($handle); # Loop through settings files $wikia = array(); $handle = opendir($GLOBALS['settings']); while (false !== ($file = readdir($handle))) { if (!ereg('^\\.',$file)) { $stat = stat($file); $inode = $stat[1]; $wgOut->addWikiText("**$file\n"); if (is_array($domains[$inode])) { foreach ($domains[$inode]) as $domain) $wgOut->addWikiText("***$domain\n"); } } } closedir($handle); $wgOut->addWikiText("
\n");
}
}
- Called from $wgExtensionFunctions array when initialising extensions
function wfSetupWikiaInfo() { global $wgLanguageCode,$wgMessageCache; $wgMessageCache->addMessages(array('wikiainfo' => 'Current Wikia Information')); SpecialPage::addPage(new SpecialWikiaInfo()); } ?>



