Difference between revisions of "Extension:ExpandableTables.php"
From Organic Design wiki
(bug fixed) |
(update this one too) |
||
Line 1: | Line 1: | ||
− | <? | + | <?php |
− | # | + | # Extension:ExpandableTables{{#Security:*|dev}}{{#Security:view|*}}{{php}}{{Category:Extensions|ExpandableTables}} |
− | # - | + | # - See http://www.mediawiki.org/wiki/Extension:ExpandableTables for installation and usage details |
+ | # - Started: 2007-02-22 | ||
+ | # - Licenced under LGPL (http://www.gnu.org/copyleft/lesser.html) | ||
+ | |||
+ | if (!defined('MEDIAWIKI')) die('Not an entry point.'); | ||
+ | |||
+ | define('EXPANDABLES_VERSION','1.1.1, 2007-05-10'); | ||
+ | |||
+ | $wgExtensionCredits['other'][] = array( | ||
+ | 'name' => "ExpandableTables", | ||
+ | 'author' => '[http://www.organicdesign.co.nz/nad User:Nad]', | ||
+ | 'description' => 'Allows expandable/collapsable tables to be created similar to [http://en.wikinews.org WikiNews]', | ||
+ | 'url' => 'http://www.mediawiki.org/wiki/Extension:Expandable tables', | ||
+ | 'version' => EXPANDABLES_VERSION | ||
+ | ); | ||
+ | |||
$wgHooks['ParserAfterTidy'][] = 'allowExpandables'; | $wgHooks['ParserAfterTidy'][] = 'allowExpandables'; | ||
function allowExpandables(&$parser,&$text) { | function allowExpandables(&$parser,&$text) { |
Revision as of 06:23, 10 May 2007
<?php
- Extension:ExpandableTables{{#Security:*|dev}}{{#Security:view|*}}Template:Php
- - See http://www.mediawiki.org/wiki/Extension:ExpandableTables for installation and usage details
- - Started: 2007-02-22
- - Licenced under LGPL (http://www.gnu.org/copyleft/lesser.html)
if (!defined('MEDIAWIKI')) die('Not an entry point.');
define('EXPANDABLES_VERSION','1.1.1, 2007-05-10');
$wgExtensionCredits['other'][] = array( 'name' => "ExpandableTables", 'author' => 'User:Nad', 'description' => 'Allows expandable/collapsable tables to be created similar to WikiNews', 'url' => 'http://www.mediawiki.org/wiki/Extension:Expandable tables', 'version' => EXPANDABLES_VERSION );
$wgHooks['ParserAfterTidy'][] = 'allowExpandables'; function allowExpandables(&$parser,&$text) { if ($GLOBALS['allowex-done']++) return true; # Replace all the expandable tables with html containing CSS classes and the show/hide links $text = preg_replace_callback(
'/
(.+?<\\/table\\s*?>)/s', 'expandableCallback', "\n<script type='text/javascript'> function toggleExpandable(id) { var heading = document.getElementById('expandable-heading-'+id); var content = document.getElementById('expandable-content-'+id); if (content.style.display == 'none') content.style.display = ; else content.style.display = 'none'; this.parent.focus(); } </script>\n$text" ); return true; }- Callback function executed for rendering each expandable table
<a class=expandable-link href="javascript:toggleExpandable('.$i.')">► '.$matches[1].'</a> |
'.$matches[3].' } |