Extension:ExpandableTables.php
From Organic Design wiki
<php> <?php
- Extension: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' => '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].' } </php> |