Benutzer:Rene/SGHtml: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Rene (Diskussion | Beiträge) Aktueller Code |
Rene (Diskussion | Beiträge) →Aktueller Code: Version 0.5 |
||
| Zeile 25: | Zeile 25: | ||
$wgExtensionCredits['other'][] = array( | $wgExtensionCredits['other'][] = array( | ||
'name' => 'SGHtml', | 'name' => 'SGHtml', | ||
'version' => '0. | 'version' => '0.5', | ||
'author' => '[http://www.stargate-wiki.de/index.php/User:Admin Rene Raule]', | 'author' => '[http://www.stargate-wiki.de/index.php/User:Admin Rene Raule]', | ||
'url' => 'http://www.stargate-wiki.de/index.php/Rene/SGHtml', | 'url' => 'http://www.stargate-wiki.de/index.php/Rene/SGHtml', | ||
'description' => 'MediaWiki Html veraendern um StargateWiki Besonderheiten | 'description' => 'MediaWiki Html veraendern um StargateWiki Besonderheiten einzufügen<br />1. Externe Seiten in eigenem Fenster<br />2. Bild als bearbeiten-Link<br />3. Link zum Seitenanfang<br />4. Spoiler aufdecken<br />5. Zusätzliche meta-Keywords' | ||
); | ); | ||
| Zeile 50: | Zeile 50: | ||
$ersatz .= '":"").'; | $ersatz .= '":"").'; | ||
$ersatz .= '"<span class=\"mw-headline\">$4</span> <a href=\"$2\" title=\"$3\">'; | $ersatz .= '"<span class=\"mw-headline\">$4</span> <a href=\"$2\" title=\"$3\">'; | ||
$ersatz .= '<img src=\"/skins/edit.png\" alt=\"[bearbeiten]\" style=\"vertical-align:top; margin-top:-3px;\" /></a>"'; | $ersatz .= '<img src=\"/skins/common/images/16x16/edit.png\" alt=\"[bearbeiten]\" style=\"vertical-align:top; margin-top:-3px;\" /></a>"'; | ||
$text = preg_replace($suchen,$ersatz,$text); | $text = preg_replace($suchen,$ersatz,$text); | ||
/* Spoiler aufdecken einbinden (geht nur im Text) */ | |||
if (strpos($text,'id="show_spoiler"') == true) { | |||
$jscript = '<script type="text/javascript"> | |||
function cssClassChange(welchertag,class1,class2,linkgeklickt,linknormal,thus) { | |||
var rows = document.getElementsByTagName(welchertag); | |||
for(var i=0; i<rows.length; i++) { | |||
if(rows[i].className==class1) { | |||
rows[i].className=class2; | |||
thus.innerHTML=linkgeklickt; | |||
} else { | |||
if(rows[i].className==class2) { | |||
rows[i].className=class1; | |||
thus.innerHTML=linknormal; | |||
} | |||
} | |||
} | |||
} | |||
</script>'; | |||
$text = $jscript.'<span style="margin-top:-3em; float:right;"><a href="#" onclick="cssClassChange(\'span\',\'spoiler\',\'spoilerOK\',\'Spoiler verdecken\',\'Spoiler aufdecken\',this)">Spoiler aufdecken</a></span>'.$text; | |||
} | |||
/* Anpassung der Seiten Parameter */ | |||
// Weitere Meta Begriffe | |||
$out->mKeywords[] = 'Stargate'; | |||
$out->mKeywords[] = 'Stargate SG-1'; | |||
$out->mKeywords[] = 'Stargate Atlantis'; | |||
$out->mKeywords[] = 'Stargate Universe'; | |||
$out->mKeywords[] = 'Stargate Wikpedia'; | |||
return true; | return true; | ||
} | } | ||
Version vom 22. September 2007, 15:38 Uhr
Mediawiki Erweiterung um den HTML-Code vor der Auslieferung noch zu verändern.
Aktueller Stand Version 0.1
- Externe Seiten werden in einem eigenen Fenster aufgerufen
- Alle Überschriften der Stufe 2 (==) erhalten einen Link auf den Seitenanfang
- Bild statt Text bearbeiten um einen Abschnitt zu bearbeiten
- Wird momentan noch durch einen Hack im Mediawiki Code erreicht
- Werkzeug Spoiler aufdecken einbinden
- Wird momentan noch durch einen Hack im Mediawiki Code (Monobook) erreicht
Probleme
Wer einen Fehler findet bitte hier melden Danke. -- Benutzer:Rene/sig 23:16, 16. Sep. 2007 (CEST)
Aktueller Code
Dieser Code ist noch in der Entwicklung und wird momentan nur im Backup des Wikis benutzt.
<?php
/* Original MediaWiki HTML Code umwandeln und an StargateWiki anpassen */
$wgExtensionCredits['other'][] = array(
'name' => 'SGHtml',
'version' => '0.5',
'author' => '[http://www.stargate-wiki.de/index.php/User:Admin Rene Raule]',
'url' => 'http://www.stargate-wiki.de/index.php/Rene/SGHtml',
'description' => 'MediaWiki Html veraendern um StargateWiki Besonderheiten einzufügen<br />1. Externe Seiten in eigenem Fenster<br />2. Bild als bearbeiten-Link<br />3. Link zum Seitenanfang<br />4. Spoiler aufdecken<br />5. Zusätzliche meta-Keywords'
);
$wgHooks['OutputPageBeforeHTML'][] = 'SGHtml';
function SGHtml( &$out, &$text ) {
$mTable = array(
/* Externe Seiten in eigenem Fenster */
'class="external text"' => 'class="external text" target="_blank"'
);
foreach( $mTable as $from => $to )
$text = str_replace( $from, $to, $text );
// Ueberschrift finden
$suchen = '#<h(\d)><span class="editsection">\[<a href="(.*?)"\s+title="(.*?)">bearbeiten<\/a>\]<\/span>\s*<span class="mw-headline">(.*?)<\/span>#e';
// Neue Ueberschrift mit Bildern
// Test ob H2 Ueberschrift, nur dann wird der Link an den Seitenanfang eingefuegt.
$ersatz = '"<h$1>".($1==2?"';
$ersatz .= '<a href=\"#top\" title=\"Seiten Anfang\" style=\"vertical-align: top; float: right;\"><img src=\"/skins/common/images/16x16/blue_up.gif\" alt=\"^\" /></a>';
$ersatz .= '":"").';
$ersatz .= '"<span class=\"mw-headline\">$4</span> <a href=\"$2\" title=\"$3\">';
$ersatz .= '<img src=\"/skins/common/images/16x16/edit.png\" alt=\"[bearbeiten]\" style=\"vertical-align:top; margin-top:-3px;\" /></a>"';
$text = preg_replace($suchen,$ersatz,$text);
/* Spoiler aufdecken einbinden (geht nur im Text) */
if (strpos($text,'id="show_spoiler"') == true) {
$jscript = '<script type="text/javascript">
function cssClassChange(welchertag,class1,class2,linkgeklickt,linknormal,thus) {
var rows = document.getElementsByTagName(welchertag);
for(var i=0; i<rows.length; i++) {
if(rows[i].className==class1) {
rows[i].className=class2;
thus.innerHTML=linkgeklickt;
} else {
if(rows[i].className==class2) {
rows[i].className=class1;
thus.innerHTML=linknormal;
}
}
}
}
</script>';
$text = $jscript.'<span style="margin-top:-3em; float:right;"><a href="#" onclick="cssClassChange(\'span\',\'spoiler\',\'spoilerOK\',\'Spoiler verdecken\',\'Spoiler aufdecken\',this)">Spoiler aufdecken</a></span>'.$text;
}
/* Anpassung der Seiten Parameter */
// Weitere Meta Begriffe
$out->mKeywords[] = 'Stargate';
$out->mKeywords[] = 'Stargate SG-1';
$out->mKeywords[] = 'Stargate Atlantis';
$out->mKeywords[] = 'Stargate Universe';
$out->mKeywords[] = 'Stargate Wikpedia';
return true;
}
?>
