RandomArea.php: Unterschied zwischen den Versionen
KKeine Bearbeitungszusammenfassung |
KKeine Bearbeitungszusammenfassung |
||
| Zeile 12: | Zeile 12: | ||
* @copyright 2006 Loki | * @copyright 2006 Loki | ||
* @licence http://creativecommons.org/licenses/by-nc-sa/2.5/ | * @licence http://creativecommons.org/licenses/by-nc-sa/2.5/ | ||
*/ | */ | ||
| Zeile 42: | Zeile 42: | ||
$nsPrefix = $argv['nsprefix']; | $nsPrefix = $argv['nsprefix']; | ||
$include = (bool) $argv['include']; | $include = (bool) $argv['include']; | ||
$ | $raVorne = $argv['ravorne']; | ||
$ | $raHinten = $argv['rahinten']; | ||
$values = explode("\n", $input); | $values = explode("\n", $input); | ||
$valCount = count($values) - 1; | $valCount = count($values) - 1; | ||
| Zeile 66: | Zeile 66: | ||
if ($include) { | if ($include) { | ||
if (strlen($ | if (strlen($raVorne) > 0 ) { | ||
if (strlen($ | if (strlen($raHinten) > 0 ) { | ||
$randOut .= $ | $randOut .= $raVorne."{{:".$randOutTemp."}}".$raHinten."\n"; | ||
} else { | } else { | ||
$randOut .= $ | $randOut .= $raVorne."{{:".$randOutTemp."}}"."\n"; | ||
} | } | ||
} | } | ||
| Zeile 77: | Zeile 77: | ||
} | } | ||
} else { | } else { | ||
if (strlen($ | if (strlen($raVorne) > 0 ) { | ||
if (strlen($ | if (strlen($raHinten) > 0 ) { | ||
$randOut .= $ | $randOut .= $raVorne.$randOutTemp.$raHinten."\n"; | ||
} else { | } else { | ||
$randOut .= $ | $randOut .= $raVorne.$randOutTemp."\n"; | ||
} | } | ||
} | } | ||
| Zeile 102: | Zeile 102: | ||
} | } | ||
/**Wichtig keine Leerzeile oder Leerzeichen am Ende !!! | |||
?> | ?> | ||
Version vom 18. Februar 2009, 14:47 Uhr
<?php
/**
*
* @package MediaWiki
* @subpackage Extensions
* @author Loki
* @copyright 2006 Loki
* @licence http://creativecommons.org/licenses/by-nc-sa/2.5/
*/
if( defined( 'MEDIAWIKI' ) ) { define('RANDOM_AREA_VERSION', '1.0'); $wgExtensionFunctions[] = "ylRandomAreaExtension";
$wgExtensionCredits['other'][] = array( 'name' => 'Random Area' , 'version' => ( ' '.RANDOM_AREA_VERSION.' ' ) , 'author' => 'Loki' , );
function ylRandomAreaExtension() {
global $wgParser; $wgParser->setHook( "randomArea", "renderRandomArea" );
}
function renderRandomArea( $input, $argv, $parser ) {
$parser->disableCache();
$count = $argv['count']; if ($count < 0 || !$count) { $count = 1; } $nsPrefix = $argv['nsprefix']; $include = (bool) $argv['include'];
$raVorne = $argv['ravorne']; $raHinten = $argv['rahinten'];
$values = explode("\n", $input);
$valCount = count($values) - 1;
if ($valCount < $count) {
return $parser->internalParse("Exception:
Array out of Bounce - >
Only ".$valCount." items available, count = ".$count );
}
$valueIndex = array();
$randOut = "";
$i = 0;
while ($i < $count ) {
$randVal = rand(0, $valCount);
$randTemp = trim($values[$randVal]);
if (strlen($randTemp) > 1 && !array_key_exists($randVal, $valueIndex)) {
if (strlen($nsPrefix) > 0) { $randOutTemp = $nsPrefix.$randTemp; } else { $randOutTemp = $randTemp; }
if ($include) { if (strlen($raVorne) > 0 ) {
if (strlen($raHinten) > 0 ) {
$randOut .= $raVorne."".$randOutTemp."".$raHinten."\n"; } else { $randOut .= $raVorne."".$randOutTemp.""."\n"; } } else { $randOut .= "".$randOutTemp.""; } } else { if (strlen($raVorne) > 0 ) {
if (strlen($raHinten) > 0 ) {
$randOut .= $raVorne.$randOutTemp.$raHinten."\n"; } else { $randOut .= $raVorne.$randOutTemp."\n"; } } else { $randOut .= $randOutTemp; } }
$valueIndex[$randVal] = true; $i++; } } return $parser->internalParse($randOut); }
} else {
echo( "This is an extension to the MediaWiki package and cannot be run standalone.\n" ); die( -1 );
}
/**Wichtig keine Leerzeile oder Leerzeichen am Ende !!! ?>