Difference between revisions of "Extension:Javascript"
(ready for debgging) |
m |
||
Line 9: | Line 9: | ||
define('JAVASCRIPT_VERSION','0.0.0, 2007-06-25'); | define('JAVASCRIPT_VERSION','0.0.0, 2007-06-25'); | ||
− | $ | + | $wgJavascriptFiles = array(); |
− | $ | + | $wgJavascriptScripts = array(); |
$wgExtensionFunctions[] = 'wfSetupJavascript'; | $wgExtensionFunctions[] = 'wfSetupJavascript'; | ||
# Build list of files from list, no duplicate names | # Build list of files from list, no duplicate names | ||
− | foreach ($ | + | foreach ($wgJavascriptFiles as $path) { |
− | if (is_file($path)) $ | + | if (is_file($path)) $wgJavascriptFiles[$path] = true; |
elseif (is_dir($path)) { | elseif (is_dir($path)) { | ||
if ($dir = opendir($path)) { | if ($dir = opendir($path)) { | ||
− | while (false !== ($file = readdir($dir))) $ | + | while (false !== ($file = readdir($dir))) $wgJavascriptFiles[$file] = true; |
closedir($dir); | closedir($dir); | ||
} | } | ||
Line 28: | Line 28: | ||
'name' => 'Javascript', | 'name' => 'Javascript', | ||
'author' => '[http://www.organicdesign.co.nz/nad User:Nad]', | 'author' => '[http://www.organicdesign.co.nz/nad User:Nad]', | ||
− | 'description' => 'Handles the loading of Javascript files. Scripts loaded: '.join(', ',$ | + | 'description' => 'Handles the loading of Javascript files. Scripts loaded: '.join(', ',$wgJavascriptFiles), |
'url' => 'http://www.mediawiki.org/wiki/Extension:Javascript', | 'url' => 'http://www.mediawiki.org/wiki/Extension:Javascript', | ||
'version' => JAVASCRIPT_VERSION | 'version' => JAVASCRIPT_VERSION | ||
Line 34: | Line 34: | ||
# Notes: | # Notes: | ||
− | # Load all dirs/files in $ | + | # Load all dirs/files in $wgJavascriptPaths into $wgJavascriptScripts using filename as key |
# Other extensions can add to the list if they need to | # Other extensions can add to the list if they need to | ||
# After all extenions are loaded and $wgOut is established, add all the script | # After all extenions are loaded and $wgOut is established, add all the script | ||
function wfSetupJavascript() { | function wfSetupJavascript() { | ||
− | global $wgOut,$ | + | global $wgOut,$wgJavascriptFiles; |
− | foreach (array_keys($ | + | foreach (array_keys($wgJavascriptFiles) as $src) |
$wgOut->addScript("<script type=\"text/javascript\" src=\"$src\"></script>\n"); | $wgOut->addScript("<script type=\"text/javascript\" src=\"$src\"></script>\n"); | ||
} | } | ||
?> | ?> |
Revision as of 01:13, 25 June 2007
<?php
- Extension:JavascriptTemplate:Php
- - 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.');
define('JAVASCRIPT_VERSION','0.0.0, 2007-06-25');
$wgJavascriptFiles = array(); $wgJavascriptScripts = array();
$wgExtensionFunctions[] = 'wfSetupJavascript';
- Build list of files from list, no duplicate names
foreach ($wgJavascriptFiles as $path) { if (is_file($path)) $wgJavascriptFiles[$path] = true; elseif (is_dir($path)) { if ($dir = opendir($path)) { while (false !== ($file = readdir($dir))) $wgJavascriptFiles[$file] = true; closedir($dir); } } }
$wgExtensionCredits['other'][] = array( 'name' => 'Javascript', 'author' => 'User:Nad', 'description' => 'Handles the loading of Javascript files. Scripts loaded: '.join(', ',$wgJavascriptFiles), '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 script
function wfSetupJavascript() { global $wgOut,$wgJavascriptFiles; foreach (array_keys($wgJavascriptFiles) as $src) $wgOut->addScript("<script type=\"text/javascript\" src=\"$src\"></script>\n"); }
?>