Extension:DynBox/DynBox.php
From MediaWiki.org
[edit] Source Code
<?php /** * DynBox extension for MediaWiki * Display customisable Dynamic HTML CSS Boxs for news * * @file * @ingroup Extensions * @author Romain GEORGES * @date 12/25/2008 * @version 0.3 * @link http://www.mediawiki.org/wiki/Extension:DynBox Documentation * Install by copying the DynBox.php file into $IP/extensions/ * and add require_once("$IP/extensions/DynBox.php"); in your wiki's LocalSettings.php */ // Extension credits that will show up on Special:Version $wgExtensionCredits['parserhook'][] = array( 'name' => 'DynBox', 'version' => '0.3', 'author' => 'Romain GEORGES', 'description' => 'Dynamic Box :Display customisable Dynamic HTML CSS Boxs for news', 'url' => 'http://www.mediawiki.org/wiki/Extension:DynBox', ); // Avoid unstubbing $wgParser on setHook() too early on modern (1.12+) MW versions, as per r35980 if ( defined( 'MW_SUPPORTS_PARSERFIRSTCALLINIT' ) ) { $wgHooks['ParserFirstCallInit'][] = 'wfDynBoxExtension'; } else { $wgExtensionFunctions[] = 'wfDynBoxExtension'; } function wfDynBoxExtension() { global $wgParser; $wgParser->setHook( 'dynbox', 'renderDynBox' ); return true; } function renderDynBox( $input, $argv ) { $py = ( empty( $argv['posy'] ) ) ? '10px' : $argv['posy']; $px = ( empty( $argv['posx'] ) ) ? '10px' : $argv['posx']; $bgcolor = ( empty( $argv['bgcolor'] ) ) ? 'white' : $argv['bgcolor']; $bbgcolor = ( empty( $argv['boxbgcolor'] ) ) ? 'red' : $argv['boxbgcolor']; $bcolor = ( empty( $argv['boxcolor'] ) ) ? 'white' : $argv['boxcolor']; $ibgcolor = ( empty( $argv['iconbgcolor'] ) ) ? 'red' : $argv['iconbgcolor']; $icolor = ( empty( $argv['iconcolor'] ) ) ? 'white' : $argv['iconcolor']; $color = ( empty( $argv['color'] ) ) ? 'black' : $argv['color']; $title = ( empty( $argv['title'] ) ) ? 'News!' : $argv['title']; $output = "<style type='text/css'>\n"; $salt = rand(); $output .= ".dynbox_$salt { position:absolute; top:".$py."; right:".$px.";z-index:3; }\n"; $output .= ".dynbox_$salt a { color:".$icolor.";background:".$ibgcolor.";font:bold 10px verdana, sans-serif;text-decoration:none;display:block;padding:1px;border:1px solid black; }\n"; $output .= ".dynbox_$salt a:hover { color:".$bcolor.";background:".$bbgcolor.";width:200px; }\n"; $output .= ".dynbox_$salt a span { display:none; }\n"; $output .= ".dynbox_$salt a:hover span { color:".$color.";background:".$bgcolor.";font:normal 12px verdana, sans-serif;border:1px solid black;display:block;padding:5px; }\n"; $output .= "</style>\n"; $output .= "<div class='dynbox_$salt'><a href='#'>". $argv['title']."<span>\n"; $output .= "$input"; $output .= "</span></a></div>\n"; return $output; }
