Difference between revisions of "Extension:Javascript"

From Organic Design wiki
({{legacy}})
(moved to svn)
Line 1: Line 1:
{{legacy}}
+
{{svn|extensions|JavaScript/JavaScript.php}}
<php><?php
 
# Extension:Javascript
 
# - Licenced under LGPL (http://www.gnu.org/copyleft/lesser.html)
 
# - Author: http://www.organicdesign.co.nz/nad
 
# - Started: 2007-06-25, see article history
 
  
if (!defined('MEDIAWIKI')) die('Not an entry point.');
+
Include this extension from your ''LocalSettings.php'' to have all the ''*.js'' files that reside in the same directory as the extension to automatically be loaded by your wiki. You can see the list of JavaScript files we include [{{SERVER}}/listing.php?repname=extensions&path=%2FJavaScript%2F#path_JavaScript_ here].
 
 
define('JAVASCRIPT_VERSION','1.0.2, 2007-06-27');
 
 
 
if (!isset($wgJavascriptPaths)) $wgJavascriptPaths = array();
 
$wgJavascriptFiles = array();
 
 
 
$wgExtensionFunctions[] = 'wfSetupJavascript';
 
 
 
# Build list of files from list, no duplicate names
 
foreach ($wgJavascriptPaths as $path) {
 
$ipath = $_SERVER['DOCUMENT_ROOT']."/$path";
 
if (is_file("$ipath")) $wgJavascriptFiles[$path] = true;
 
elseif (is_dir($ipath)) {
 
if ($dir = opendir($ipath)) {
 
while (false !== ($file = readdir($dir))) $wgJavascriptFiles["$path/$file"] = true;
 
closedir($dir);
 
}
 
}
 
}
 
$list = '';
 
foreach (array_keys($wgJavascriptFiles) as $file)
 
$list .= "<li>[$wgServer$file ".basename($file)."]</li>\n";
 
 
 
$wgExtensionCredits['other'][] = array(
 
'name'        => 'Javascript',
 
'author'      => '[http://www.organicdesign.co.nz/nad User:Nad]',
 
'description' => "Loaded Javascript files:<ul>$list</ul>",
 
'url'        => 'http://www.mediawiki.org/wiki/Extension:Javascript',
 
'version'    => JAVASCRIPT_VERSION
 
);
 
 
 
# Notes:
 
# Load all dirs/files in $wgJavascriptPaths into $wgJavascriptScripts using filename as key
 
# Other extensions can add to the list if they need to
 
# After all extenions are loaded and $wgOut is established, add all the js scripts
 
# defined from the LocalSettings.php global variable $wgJavascriptPaths
 
 
 
function wfSetupJavascript() {
 
global $wgOut,$wgServer,$wgJavascriptFiles;
 
foreach (array_keys($wgJavascriptFiles) as $file)
 
$wgOut->addScript("<script type=\"text/javascript\" src=\"$wgServer$file\"></script>\n");
 
}
 
 
 
?>
 
</php>
 
[[Category:Legacy Extensions|Javascript]]
 

Revision as of 07:42, 23 June 2010

Info.svg This code is in our Git repository here.

Note: If there is no information in this page about this code and it's a MediaWiki extension, there may be something at mediawiki.org.

Include this extension from your LocalSettings.php to have all the *.js files that reside in the same directory as the extension to automatically be loaded by your wiki. You can see the list of JavaScript files we include here.