Extension:Darnedodoser
From MediaWiki.org
|
Darnedooser Release status: beta |
|
|---|---|
| Implementation | Tag, Special page |
| Description | Randomizes text except first and last character |
| Author(s) | Hidalgo Rionda (Hsilamot Talk) |
| Version | 1.0.165 (03 Dec 2007) |
| MediaWiki | 1.10.0 |
| Download | From Author's Site |
| Example | At "¿Sabias que..." |
[edit] What can this extension do?
Randomizes text except first and last character
[edit] Usage
Just put <darnedodoser>text here</darnedodoser>
Remember not put "," or "?" or "'", etc. That count as Characters too.
I suggest to do this:
<darnedodoser>You should know who i</darnedodoser>'<darnedodoser>m</darnedodoser>
[edit] Installation
Just unzip the content and add
require_once( "{$IP}/extensions/Darnedodoser/darnedodoser.php" );
To your LocalSettings.php.
[edit] Changes to LocalSettings.php
require_once("$IP/extensions/Darnedodoser/darnedodoser.php");
[edit] Code
Darnedodoser has three files:
darnedodoser.php
<? if (!defined('MEDIAWIKI')) die(); # Not a valid entry point, skip unless MEDIAWIKI is defined /** * Randomizes text except first and last character */ $wgExtensionCredits['parserhook'][] = array( 'name' => 'Darnedodoser (1.0.165)', 'author' => 'Hidalgo Rionda', 'url' => 'http://www.mediawiki.org/wiki/Extension:Darnedodoser', 'description' => 'Adds <darnedodoser>Text Here</darnedodoser> and returns each word all randomized except first and last char', ); $wgExtensionCredits['specialpage'][] = array( 'name' => 'Darnedodoser (1.0.24)', 'author' => 'Hidalgo Rionda', 'url' => 'http://www.hsilamot.info/w/Extension:Darnedodoser', 'description' => 'Adds Special:Darnedodoser wich returns each word all randomized except first and last char', ); $wgExtensionFunctions[] = 'efDarnedodoserOldSetup'; function efDarnedodoserOldSetup() { global $wgParser; $wgParser->setHook( 'darnedodoser', 'efDarnedodoserOldRender' ); } function efDarnedodoserOldRender( $input, $args, $parser ) { $Parsear = $input." "; $Siguiente = ""; $Final = ""; while (strlen($Parsear) > 0) { if ($Parsear{0} == " ") { $Final .= $Siguiente{0}; $Siguiente = substr($Siguiente, 1); $Ultima = substr($Siguiente, -1); $Siguiente = substr($Siguiente, 0, -1); $AntiBucle = 0; while (strlen($Siguiente) > 0 && $AntiBucle < 50) { $AntiBucle = $AntiBucle + 1; $Caracter = rand(0,(strlen($Siguiente)-1)); $Final .= $Siguiente{$Caracter}; $Dale = ((strlen($Siguiente) - 1) - $Caracter); if ($Dale > 0) { $Siguiente = substr($Siguiente, 0, ($Caracter)).substr($Siguiente, -$Dale); } else { $Siguiente = substr($Siguiente, 0, ($Caracter)); } } if (strlen($Parsear) > 1) { $Final .= $Ultima." "; } else { $Final .= $Ultima; } } else { $Siguiente .= $Parsear{0}; } $Parsear = substr($Parsear, 1); } return htmlspecialchars( $Final ); } $wgAutoloadClasses['Darnedodoser'] = dirname(__FILE__) . '/darnedodoser_body.php'; $wgSpecialPages['Darnedodoser'] = 'Darnedodoser'; $wgExtensionFunctions[] = 'efLoadeaDarnedodoser'; function efLoadeaDarnedodoser() { global $wgLang, $wgMessageCache; $f= dirname( __FILE__ ) . '/darnedodoser.i18n.php'; include( $f ); foreach( efDarnedodoser() as $lang => $messagess ) { if ($wgLang->getCode() == $lang) { $wgMessageCache->addMessages( $messagess ); } } }
darnedodoser.i18n.php
<?php if (!defined('MEDIAWIKI')) die(); function efDarnedodoser() { $messages = array( 'en' => array( 'darnedodoser' => 'Darnedodoser', 'darnedodoser-welcome' => "Welcome, please write down the phrase to Darnedodoseate:", 'darnedodoser-submit' => "Submit", 'darnedodoser-result' => "Result:", ), 'es' => array( 'darnedodoser' => 'Darnedodoser', 'darnedodoser-welcome' => "Bienvenido, por favor escriba la frase a Darnedodosear:", 'darnedodoser-submit' => "Enviar", 'darnedodoser-result' => "Resultado:", ), ); return $messages; }
darnedodoser_body.php
<?php if (!defined('MEDIAWIKI')) die(); class Darnedodoser extends SpecialPage { function __construct() { SpecialPage::SpecialPage("Darnedodoser", '', true); } function execute( $par ) { global $wgRequest, $wgOut, $wgDarnedodoserTo; if (!$wgDarnedodoserTo) { $wgDarnedodoserTo = "/w/Special:Darnedodoser"; } $fname = "SpecialDarnedodoser::execute"; $this->setHeaders(); # Do stuff $wgOut->addWikiText( wfMsg( 'darnedodoser-welcome' ) ); $wgOut->addHTML("<form method=\"POST\" action=\"".$wgDarnedodoserTo."\"><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"margin-left: auto; margin-right: auto;\"><tr><td style=\"border:none;\"><input type=\"text\" name=\"FText\" size=\"48\"><br /><input type=\"submit\" value=\"".wfMsg( 'darnedodoser-submit' )."\" name=\"ssr\"></td></tr></table></form>"); if (isset($_POST["FText"]) == true) { $wgOut->addWikiText("\r\n\r\n"); $wgOut->addWikiText(wfMsg( 'darnedodoser-result' ) . "\r\n\r\n"); $wgOut->addHTML( efDarnedodoserOldRender( $_POST["FText"] , null , null) ); $wgOut->addWikiText("\r\n\r\n"); } } }

