Extension:Darnedodoser/es

From MediaWiki.org

Jump to: navigation, search
MediaWiki Extension
Darnedooser

Release status: beta

Implementation Tag, Special page
Description Desordena el texto que le das excepto la primera y ultima letra
Author(s) Hidalgo Rionda (Hsilamot talk)
Version 1.0.165 (03 Dic 2007)
MediaWiki 1.10.0
Download From Author's Site
Example ¿Sabias que...

[edit] ¿Qué hace esta extensión?

Desordena el texto que le das excepto la primera y ultima letra

[edit] Uso

Solo utiliza <darnedodoser>texto aqui</darnedodoser>

Procura no utilizar acentos, aún no se como hacer que los procese bien. tampoco uses puntos ni comas.

En ese caso te sugiero:

<darnedodoser>Hola</darnedodoser>, ¿<darnedodoser>como estas</darnedodoser>?

[edit] Instalación

Solo extrae el contenido del Zip y añade la siguiente linea

 require_once( "{$IP}/extensions/Darnedodoser/darnedodoser.php" );

a tu archivo LocalSettings.php.

[edit] Parametros

Ningúno

[edit] Cambios a LocalSettings.php

require_once("$IP/extensions/Darnedodoser/darnedodoser.php");

[edit] Código

Darnedodoser tiene tres archivos:

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 &lt;darnedodoser&gt;Text Here&lt;/darnedodoser&gt; 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");
		}
	}
}
?>

[edit] Véase También

Personal tools