Menü aufrufen
Toggle preferences menu
Persönliches Menü aufrufen
Nicht angemeldet
Ihre IP-Adresse wird öffentlich sichtbar sein, wenn Sie Änderungen vornehmen.

Benutzer:Rene/NewArticle: Unterschied zwischen den Versionen

aus Stargate Wiki, dem deutschsprachigen Stargate-Lexikon
Probleme & Ideen: Zuwenige Prüfungen
Code V0.90
Zeile 51: Zeile 51:
$wgExtensionCredits['other'][] = array(
$wgExtensionCredits['other'][] = array(
   'name' => 'NewArticle',
   'name' => 'NewArticle',
   'version' => '0.80',
   'version' => '0.90',
   'author' => 'Rene',
   'author' => 'Rene',
   'url' => 'http://www.stargate-wiki.de/index.php/User:Rene/NewArticle',
   'url' => 'http://www.stargate-wiki.de/index.php/User:Rene/NewArticle',
Zeile 63: Zeile 63:
   return rawurlencode(html_entity_decode(htmlentities($text,ENT_QUOTES,'UTF-8')));
   return rawurlencode(html_entity_decode(htmlentities($text,ENT_QUOTES,'UTF-8')));
}
}
    
 
/* Filter des Artikels, noinclude Bereiche entfernen */
function FilterPage($text) {
   // <noinclude> Bereiche komplett entfernen
  $expr = '/(.*)<noinclude>.*<\/noinclude>(.*)/';
  $replace = '$1$2';
  $text = preg_replace($expr,$replace,$text);
  // <includeonly>, </includeonly> einfach entfernen
  $expr = '/(.*)<includeonly>|<\/includeonly>(.*)/';
  $replace = '$1$2';
  $text = preg_replace($expr,$replace,$text);
  return $text;
}
 
function NewArticle(&$seite) {
function NewArticle(&$seite) {
   global $wgOut;
   global $wgOut;
Zeile 74: Zeile 87:
     if( $steuer->mContentLoaded ) {
     if( $steuer->mContentLoaded ) {
       // Ausgabe Puffer Variablen anlegen
       // Ausgabe Puffer Variablen anlegen
       $einleitung = ''; $abschluss = '';
       $einleitung = ''; $abschluss = ''; $artikelListe = ''; $textErsteWahl = 'Bitte w&auml;hlen';
       $artikelliste = '<script type="text/javascript">';
       $listenKopf = '<script type="text/javascript">';
       $artikelliste .= 'function NewArticleGo(select) {';
       $listenKopf .= 'function NewArticleGo(select) {';
       $artikelliste .= 'var wert=select.options[select.options.selectedIndex].value;';
       $listenKopf .= 'var wert=select.options[select.options.selectedIndex].value;';
       $artikelliste .= "insertTags('',unescape(wert),'');";
       $listenKopf .= "insertTags('',unescape(wert),'');";
       $artikelliste .= "}</script>\n";
       $listenKopf .= "}</script>\n";
       $artikelliste .= '<select size="1" id="NewArticleSelect" onchange="NewArticleGo(this);">'."\n";
       $listenKopf .= '<select size="1" id="NewArticleSelect" onchange="NewArticleGo(this);">'."\n";
       // Die einzelnen Zeilen, getrennt durch eine Zeile mit //, in Array einlesen
       // Die einzelnen Zeilen, getrennt durch eine Zeile mit //, in Array einlesen
       $steuerArray = explode("\n//\n", $steuer->mContent);
       $steuerArray = explode("\n//\n", $steuer->mContent);
Zeile 89: Zeile 102:
           $einleitung = $zeile[1];
           $einleitung = $zeile[1];
         } elseif ( $zeile[0] == 'End' ) {
         } elseif ( $zeile[0] == 'End' ) {
  $abschluss = $zeile[1];
          $abschluss = $zeile[1];
} else {
        } elseif ( $zeile[0] == 'Einleitung' ) {
  // Artikel einlesen umwandeln und im HTML Code ablegen
          $textErsteWahl = $zeile[1];
  $artikel = new Article(Title::makeTitle(10,$zeile[1]));
        } else {
  $artikel->getContent();
          // Artikel einlesen umwandeln und im HTML Code ablegen
  $artikelliste .= '<option value="'.JSencode($artikel->mContent).'">';
          $artikel = new Article(Title::makeTitle(10,$zeile[1]));
  $artikelliste .= $zeile[0]."</option>\n";
          $artikel->getContent();
  unset($artikel);
          $artikelListe .= '<option value="'.JSencode(FilterPage($artikel->mContent)).'">';
          $artikelListe .= $zeile[0]."</option>\n";
          unset($artikel);
         }
         }
       }
       }
      $ersteWahl = '<option value="">'.$textErsteWahl.'</option>'."\n";
       // Ergebniss in die Ausgabe einfuegen
       // Ergebniss in die Ausgabe einfuegen
       $wgOut->addHTML($einleitung.$artikelliste.'</select>'.$abschluss);
       $wgOut->addHTML($einleitung.$listenKopf.$ersteWahl.$artikelListe.'</select>'.$abschluss);
     }
     }
   }
   }
 
 
   return true;
   return true;
}
}
?>
</pre>
</pre>