Benutzer Diskussion:Darcduck: Unterschied zwischen den Versionen
code angefügt |
Beispiel eingefügt |
||
(3 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 19: | Zeile 19: | ||
Ralf | Ralf | ||
Markup("eresseaturn","directives","/\\(:turn\\s*(\\d+):\\)/e",'EresseaTurn($1)'); | |||
function EresseaTurn($turn) | |||
{ | |||
$EresseaSeasons=array(); | |||
$EresseaMonth=array(); | |||
$EresseaWeeks=array(); | |||
// Alte Zeitrechnung | |||
$EresseaSeasons[1]=array("Winter", "Winter", "Winter", "Frühling", "Frühling", "Frühling", | |||
"Sommer", "Sommer", "Sommer", "Herbst", "Herbst", "Herbst"); | |||
$EresseaMonth[1]=array("Januar","Februar", "März", "April", "Mai", "Juni", | |||
"Juli", "August", "September", "Oktober", "November", "Dezember"); | |||
$EresseaWeeks[1]=array(); | |||
// Neue Zeitrechnung | |||
$EresseaSeasons[2]=array("Sommer", "Herbst", "Herbst", "Winter", "Winter", "Winter", | |||
"Frühling", "Frühling", "Sommer"); | |||
$EresseaMonth[2]=array("Feldsegen","Nebeltage", "Sturmmond", "Herdfeuer", "Eiswind", "Schneebann", | |||
"Blütenregen", "Mond der milden Winde", "Sonnenfeuer"); | |||
$EresseaWeeks[2]=array("Erste", "Zweite", "Letzte"); | |||
$second_era_start=184; | |||
if (is_numeric($turn)) | |||
{ | |||
$turn=intval($turn); | |||
if ($turn<$second_era_start) | |||
{ | |||
$era=1; | |||
$normturn=$turn-1; | |||
} else | |||
{ | |||
$era=2; | |||
$normturn=$turn-$second_era_start; | |||
} | |||
$turns_per_month=max(1,count($EresseaWeeks[$era])); | |||
$turns_per_year=count($EresseaMonth[$era])*$turns_per_month; | |||
$year=floor($normturn/$turns_per_year)+1; | |||
$month=floor(($normturn-($year-1)*$turns_per_year)/$turns_per_month); | |||
$week=$normturn%$turns_per_month; | |||
$resultStr=($era==2)?$EresseaWeeks[$era][$week]." Woche des Monats ":""; | |||
$resultStr.=$EresseaMonth[$era][$month]; | |||
$resultStr.=" des Jahres ".$year; | |||
$resultStr.=" ($turn, ".$EresseaSeasons[$era][$month].")"; | |||
} else | |||
{ | |||
$resultStr=$turn; | |||
} | |||
return $resultStr; | |||
} | |||
---- | |||
Was soll das tun? gibt's da einen Link zu einer Beispielseite? | |||
[[Benutzer:Enno|Enno]] 17:11, 29. Okt 2007 (CET) | |||
---- | |||
Hier z.b. die Seeschlangensichtungen, bei der Seite wird von dem Markup gebrauch gemacht: | |||
</nowiki> | |||
http://wiki.duckstein.net/Welt13/SeeschlangenSichtungen | |||
Aus <nowiki>"(:turn 410:)"</nowiki> wird "Zweite Woche des Monats Herdfeuer des Jahres 9 (410, Winter)" | |||
Fürs Media-Wiki muss hauptsächlich die Einbindung überarbeitet werden. |
Aktuelle Version vom 1. November 2007, 10:15 Uhr
Hallo Darcduck,
wenn ich das richtig erinnere gibt es bir Dir im Wiki doch was mit Rundennummer => Woche in Eressea. Kannst/Magst Du das hier auch zur Verfügung stellen?
Viele Grüße
Obermagier --Bruck 22:16, 18. Okt 2007 (CEST)
Hallo Bruck,
das Skript selbst ist ja recht simpel, man muss es halt nur als "Syntax" irgendwo im Wiki hinterlegen. Ich kann es also Enno zur Verfügung stellen, einbauen muss er es aber ;-)
Leider ist es noch nicht multilingual und bei der Einbindung in Sätze passt es auch nicht immer so richtig.
Grüsse
Ralf
Markup("eresseaturn","directives","/\\(:turn\\s*(\\d+):\\)/e",'EresseaTurn($1)');
function EresseaTurn($turn) { $EresseaSeasons=array(); $EresseaMonth=array(); $EresseaWeeks=array(); // Alte Zeitrechnung $EresseaSeasons[1]=array("Winter", "Winter", "Winter", "Frühling", "Frühling", "Frühling", "Sommer", "Sommer", "Sommer", "Herbst", "Herbst", "Herbst"); $EresseaMonth[1]=array("Januar","Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"); $EresseaWeeks[1]=array(); // Neue Zeitrechnung $EresseaSeasons[2]=array("Sommer", "Herbst", "Herbst", "Winter", "Winter", "Winter", "Frühling", "Frühling", "Sommer"); $EresseaMonth[2]=array("Feldsegen","Nebeltage", "Sturmmond", "Herdfeuer", "Eiswind", "Schneebann", "Blütenregen", "Mond der milden Winde", "Sonnenfeuer"); $EresseaWeeks[2]=array("Erste", "Zweite", "Letzte"); $second_era_start=184; if (is_numeric($turn)) { $turn=intval($turn); if ($turn<$second_era_start) { $era=1; $normturn=$turn-1; } else { $era=2; $normturn=$turn-$second_era_start; } $turns_per_month=max(1,count($EresseaWeeks[$era])); $turns_per_year=count($EresseaMonth[$era])*$turns_per_month; $year=floor($normturn/$turns_per_year)+1; $month=floor(($normturn-($year-1)*$turns_per_year)/$turns_per_month); $week=$normturn%$turns_per_month; $resultStr=($era==2)?$EresseaWeeks[$era][$week]." Woche des Monats ":""; $resultStr.=$EresseaMonth[$era][$month]; $resultStr.=" des Jahres ".$year; $resultStr.=" ($turn, ".$EresseaSeasons[$era][$month].")"; } else { $resultStr=$turn; } return $resultStr; }
Was soll das tun? gibt's da einen Link zu einer Beispielseite? Enno 17:11, 29. Okt 2007 (CET)
Hier z.b. die Seeschlangensichtungen, bei der Seite wird von dem Markup gebrauch gemacht:
http://wiki.duckstein.net/Welt13/SeeschlangenSichtungen
Aus "(:turn 410:)" wird "Zweite Woche des Monats Herdfeuer des Jahres 9 (410, Winter)"
Fürs Media-Wiki muss hauptsächlich die Einbindung überarbeitet werden.