Zeitstrahl-Erweiterung um Zeitraum

Hier ist der Platz für die Programmierprofis, die den Code oder eigene Erweiterungen besprechen wollen.
Antworten
Benutzeravatar
Thomas
Site Admin
Beiträge: 1835
Registriert: 06.05.2002 11:22
Wohnort: Stuttgart
Kontaktdaten:

Zeitstrahl-Erweiterung um Zeitraum

Beitrag von Thomas » 21.07.2007 12:55

Hallo,

damit man bei Zeitstrahlereignissen auch einen Zeitraum und nicht nur ein Datum eingeben kann, habe ich heute eine Erweiterung implementiert.
Die Änderungen sind in der momentan aktuellen Version v.6.1.0 realisiert.
In anderen Versionen müssen die Änderungen ggf. angepasst werden.
Das Ganze sieht hier im Beitrag eventuell schlimmer aus, als es tatsächlich ist.

Hier nun die erforderlichen Änderung im Detail:

In Datenbanktabelle tng_timelineevents am Ende ein neues Feld hinzufügen:

Code: Alles auswählen

  `evyearmax` varchar(10) NOT NULL default '',
In Datei timeline2.php:
Suchen nach

Code: Alles auswählen

$tlquery = "SELECT evday, evmonth, evyear, evdetail FROM $tlevents_table WHERE evyear BETWEEN \"$earliest\" AND \"$latest\" ORDER BY evyear, evmonth, evday";
erseten durch

Code: Alles auswählen

$tlquery = "SELECT evday, evmonth, evyear, evyearmax, evdetail FROM $tlevents_table WHERE (evyear BETWEEN \"$earliest\" AND \"$latest\") OR (evyear < \"$earliest\" AND evyearmax > \"$earliest\") ORDER BY evyear, evmonth, evday";
Suchen nach

Code: Alles auswählen

	while( $tlrow = mysql_fetch_assoc($tlresult)) {
		$evyear = $tlrow[evyear];
dahinter einfügen

Code: Alles auswählen

		$evyearmax = $tlrow[evyearmax];
		if($evyearmax > "") $evyear = $evyear . "-" . $evyearmax;
in Datei timelineevents.php:
Suchen nach

Code: Alles auswählen

$query = "SELECT tleventID, evyear, evdetail FROM $tlevents_table $wherestr ORDER BY evyear, tleventID LIMIT $newoffset" . $maxsearchresults;
ersetzen durch

Code: Alles auswählen

$query = "SELECT tleventID, evyear, evyearmax, evdetail FROM $tlevents_table $wherestr ORDER BY evyear, tleventID LIMIT $newoffset" . $maxsearchresults; 
Suchen nach

Code: Alles auswählen

			<td class="fieldnameback"><span class="fieldname"><nobr>&nbsp;<b><?php echo $admtext[evyear]; ?></b>&nbsp;</nobr></span></td>
dahinter einfügen

Code: Alles auswählen

			<td class="fieldnameback"><span class="fieldname"><nobr>&nbsp;<b><?php echo $admtext[evyearmax]; ?></b>&nbsp;</nobr></span></td>
Suchen nach

Code: Alles auswählen

			echo "<td class=\"lightback\" valign=\"top\" align=\"center\"><span class=\"normal\">$row[evyear]&nbsp;</span></td>";
dahinter einfügen

Code: Alles auswählen

			echo "<td class=\"lightback\" valign=\"top\" align=\"center\"><span class=\"normal\">$row[evyearmax]&nbsp;</span></td>"; 
In Sprachdateien admintext.php:
(Beispiel deutsche Version)
Suchen nach

Code: Alles auswählen

$admtext[evyear] = "Ereignis-Jahr";
dahinter einfügen

Code: Alles auswählen

$admtext[evyearmax] = "Bis-Jahr";
Suchen nach

Code: Alles auswählen

$admtext[yrreq] = "(nur die Angabe des Jahrs ist erforderlich, Tag/Monat sind optional)";
ersetzen durch

Code: Alles auswählen

$admtext[yrreq] = "(nur die Angabe des Jahrs ist erforderlich, Tag/Monat, Bis-Jahr sind optional)";
In Datei admin/newtlevent.php:
Suchen nach

Code: Alles auswählen

<input type="text" name="evyear" size="4"> <span class="normal"><?php echo $admtext[yrreq]; ?></span>
ersetzen durch

Code: Alles auswählen

<input type="text" name="evyear" size="4"> <span class="normal">
			 - <input type="text" name="evyearmax" size="4"> <span class="normal">
			<?php echo $admtext[yrreq]; ?></span>
In Datei admin/addtlevent.php:
Suchen nach

Code: Alles auswählen

$query = "INSERT INTO $tlevents_table (evday,evmonth,evyear,evdetail) VALUES ($evday,$evmonth,\"$evyear\",\"$evdetail\")";
ersetzen durch

Code: Alles auswählen

$query = "INSERT INTO $tlevents_table (evday,evmonth,evyear,evyearmax,evdetail) VALUES ($evday,$evmonth,\"$evyear\",\"$evyearmax\",\"$evdetail\")";
In Datei admin/edittlevent.php:
Suchen nach

Code: Alles auswählen

<input type="text" name="evyear" size="4" value="<?php echo "$row[evyear]"; ?>"> <span class="normal"><?php echo $admtext[yrreq]; ?></span>
ersetzen durch

Code: Alles auswählen

<input type="text" name="evyear" size="4" value="<?php echo "$row[evyear]"; ?>"> 
			<input type="text" name="evyearmax" size="4" value="<?php echo "$row[evyearmax]"; ?>"> 
			<span class="normal"><?php echo $admtext[yrreq]; ?></span>
In Datei admin/updatetlevent.php:
Suchen nach

Code: Alles auswählen

$query = "UPDATE $tlevents_table SET evday=$evday, evmonth=$evmonth, evyear=\"$evyear\",evdetail=\"$evdetail\" WHERE tleventID=\"$tleventID\"";
ersetzen durch

Code: Alles auswählen

$query = "UPDATE $tlevents_table SET evday=$evday, evmonth=$evmonth, evyear=\"$evyear\",evyearmax=\"$evyearmax\",evdetail=\"$evdetail\" WHERE tleventID=\"$tleventID\"";
Zuletzt geändert von Thomas am 22.07.2007 19:52, insgesamt 1-mal geändert.
Viele Grüße
Thomas

Gast

RE: Zeitstrahl-Erweiterung um Zeitraum

Beitrag von Gast » 21.07.2007 13:09

Hallo Thomas da hast du dir ja richtig Arbeit gehabt..Danke
--Aber----
wo finde ich die Datenbank?
und wie öffne ich sie?
Manni

Benutzeravatar
Thomas
Site Admin
Beiträge: 1835
Registriert: 06.05.2002 11:22
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von Thomas » 21.07.2007 13:33

Hallo Manni,

die Erstellung von obigem Beitrag war aufwändiger als die Programmierung, die hatte ich in wenigen Minuten erledigt. :lol:

Für die Bearbeitung der Datenbanktabellen verwende ich phpMyAdmin.
Das ist ein gebräuchliches Tool zur Bearbeitung von mySQL-Datenbanken.
Bei 1&1 ist es vom Provider her schon installiert und kann über das Konfigurationssystem aufgerufen werden.
Das müsste bei Dir eigentlich ähnlich funktionieren.

Gruß
Thomas
Viele Grüße
Thomas

salsa
VIP Mitglied
Beiträge: 232
Registriert: 20.06.2007 21:24

Re: Zeitstrahl-Erweiterung um Zeitraum

Beitrag von salsa » 21.07.2007 21:21

Thomas hat geschrieben:Hallo,

damit man bei Zeitstrahlereignissen auch einen Zeitraum und nicht nur ein Datum eingeben kann, habe ich heute eine Erweiterung implementiert.
Die Änderungen sind in der momentan aktuellen Version v.6.1.0 realisiert.
In anderen Versionen müssen die Änderungen ggf. angepasst werden.
Das Ganze sieht hier im Beitrag eventuell schlimmer aus, als es tatsächlich ist.

Hier nun die erforderlichen Änderung im Detail:
. . .
Hallo Thomas,

viel ist heute im Forum TNG geschehen :)
Sag’ ich doch, dass Du ein Genie bist !
Du hast ja richtig hart gearbeitet.

Ich habe mir heut’ erstmal die Sonne aufs Gehirn strahlen lassen und hab’ mir die Teilnahme einiger meiner Familienmitglieder beim Marathon-Lauf angesehen.

***********
Nun aber wieder zum ernsteren Teil des Tages ;-)

Ich habe die Erweiterungen und Änderungen für die Zeitstrahlereignisse in die betreffenden Dateien eingefügt, wie von Dir vorgegeben.

Und – es klappt wunderbar.

So habe ich mir das vorgestellt.

Danke Dir dafür !

Ich werde jetzt noch die Änderungen für die englische, franz. und spanische Sprache vornehmen.

Für heute wünsche ich Dir noch einen schönen lauen Abend

Viele Grüße

salsa

Benutzeravatar
Thomas
Site Admin
Beiträge: 1835
Registriert: 06.05.2002 11:22
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von Thomas » 22.07.2007 09:05

Hallo salsa,

es freut mich, dass es bei Dir gleich ohne Probleme geklappt hat.
Die Programmierung war auch wirklich ganz einfach, da muss man wirklich kein Genie sein :wink:

Ich wünsche Dir noch einen schönen Sonntag.
Viele Grüße
Thomas
Viele Grüße
Thomas

Antworten