|
|
| (15 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
| Zeile 1: |
Zeile 1: |
| ==Beschreibung==
| | #redirect [[Benutzer:Rene/SGPack]] |
| Die Steuerung der Erweiterung erfolgt über die Seite [[MediaWiki:NewArticle]].
| |
| | |
| weiteres folgt...
| |
| | |
| ==Code==
| |
| <pre>
| |
| <?php
| |
| $wgExtensionCredits['other'][] = array(
| |
| 'name' => 'NewArticle',
| |
| 'version' => '0.80',
| |
| 'author' => 'Rene',
| |
| 'url' => 'http://www.stargate-wiki.de',
| |
| 'description' => 'Neuen Artikel mit Inhalt fuellen.'
| |
| );
| |
| | |
| $wgHooks['AlternateEdit'][] = 'NewArticle';
| |
| | |
| // Umwandeln einer Zeichenkette fuer die JS Funktion unescape()
| |
| function JSencode($text) {
| |
| return rawurlencode(html_entity_decode(htmlentities($text,ENT_QUOTES,'UTF-8')));
| |
| }
| |
|
| |
| function NewArticle(&$seite) {
| |
| global $wgOut;
| |
| // Pruefen ob der Artikel neu ist
| |
| if( !$seite->mArticle->exists() ) {
| |
| // Steuerseite einlesen "MediaWiki:NewArticle"
| |
| $steuer = new Article(Title::makeTitle(8,'NewArticle'));
| |
| $steuer->getContent();
| |
| // Pruefen ob Steuerseite vorhanden
| |
| if( $steuer->mContentLoaded ) {
| |
| // Ausgabe Puffer Variablen anlegen
| |
| $einleitung = ''; $abschluss = ''; $artikelliste = "<ul>\n";
| |
| // Die einzelnen Zeilen, getrennt durch eine Zeile mit //, in Array einlesen
| |
| $steuerArray = explode("\n//\n", $steuer->mContent);
| |
| foreach( $steuerArray as $index => $value ) {
| |
| // Die Zeile aufteilen an den Zeichen ==
| |
| $zeile = explode("==",$value);
| |
| if( $zeile[0] == 'Start' ) {
| |
| $einleitung = $zeile[1];
| |
| } elseif ( $zeile[0] == 'End' ) {
| |
| $abschluss = $zeile[1];
| |
| } else {
| |
| // Artikel einlesen umwandeln und im HTML Code ablegen
| |
| $artikel = new Article(Title::makeTitle(10,$zeile[1]));
| |
| $artikel->getContent();
| |
| $artikelliste .= '<li><a style="cursor: pointer;" onclick="insertTags(\'\',unescape(\'';
| |
| $artikelliste .= JSencode($artikel->mContent);
| |
| $artikelliste .= "'),'');\">$zeile[0]</a></li>\n";
| |
| unset($artikel);
| |
| }
| |
| }
| |
| // Ergebniss in die Ausgabe einfuegen
| |
| $wgOut->addHTML($einleitung.$artikelliste.$abschluss);
| |
| }
| |
| }
| |
|
| |
| return true;
| |
| }
| |
| | |
| ?>
| |
| </pre>
| |