Extension:Darnedodoser

From MediaWiki.org
Jump to: navigation, search
MediaWiki extensions manual - list
Crystal Clear action run.png
Darnedooser

Release status: beta

Darnedooser.png
Implementation Tag, Special page
Description Randomizes text except first and last character
Author(s) Hidalgo Rionda (HsilamotTalk)
Last version 1.0.165 (03 Dec 2007)
MediaWiki 1.10.0
License No license specified
Download From Author's Site
Example At "¿Sabias que..."

Check usage (experimental)

[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>'m <darnedodoser>going to visit next.</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 &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");
                }
        }
}
Language: English  • Español
Personal tools
Namespaces
Variants
Actions
Site
Support
Download
Development
Communication
Print/export
Toolbox