Eventliste für Callite: Akt. Termine hervorheben?

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
junos
Mitglied
Beiträge: 98
Registriert: 25.12.2005 22:02
Wohnort: Hamburg

Eventliste für Callite: Akt. Termine hervorheben?

Beitrag von junos »

Hallo...

ich habe bei mir den Kalender callite mit folgender Eventliste zum Anzeigen der anstehenden Termine auf der Index-Seite eingebaut:

Code: Alles auswählen

MOD Title:		Events from callite 1.4.4 on ezPortal
MOD Author: OXPUS < webmaster@oxpus.de > (Karsten Ude) http://www.oxpus.de
MOD Description:	This Mod displays an eventlist for future events on ezPortal. On ACP the admininstrator can set how many events will be displayed on the next X days or by number.
MOD Version:		1.2.4
Kann man den Mod abändern, dass aktuelle Termine in dieser Liste hervorgehoben (z.B. rot markiert) werden? Ich meine also Termine, die mit dem aktuellen Datum übereinstimmen.

Grüße junos
Zuletzt geändert von junos am 20.08.2007 21:12, insgesamt 2-mal geändert.
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5395
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Sollte gehen, wenn Du in der index.php vor der Zeile

Code: Alles auswählen

			$template->assign_block_vars('event', array(
diese Zeilen einfügst:

Code: Alles auswählen

			if ($start_date == create_date('d.m.Y', time(), $board_config['board_timezone'])
			{
				$subject = '<span style="color: #FF0000;">'.$subject.'</span>';
			}
Ist ein Schnellschuss und dabei dann für alle Styles rot! Das gilt es zu bedenken!
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
junos
Mitglied
Beiträge: 98
Registriert: 25.12.2005 22:02
Wohnort: Hamburg

Beitrag von junos »

Hallo oxpus, Danke für den schnellen Support!

In deinem geposteten Code habe ich noch eine Klammer geschlossen:
if ($start_date == create_date('d.m.Y', time(), $board_config['board_timezone']))
{
$subject = '<span style="color: #FF0000;">'.$subject.'</span>';
}
Ohne diese Klammer erhalte ich die Fehlermeldung: Parse error: syntax error, unexpected '{' in ...

Wenn ich den Code mit der Klammer eingebe, bekomme ich keine Fehlermeldung mehr, allerdings ändert sich die Farbe auch nicht bei heute anstehenden Termin(en). Könntest du nochmal schauen?

Danke dir
Nico
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5395
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Öhm, :oops: , ja, die Klammer. Sorry...

Füge den Code aber mal vor

Code: Alles auswählen

			$subject = ( $userdata['session_logged_in'] ) ? '<a href="'. append_sid('calendar.'.$phpEx.'?id='. $row['id'] .'&mode=display&cl_d='. substr($row['stamp'],8,2). '&cl_m='.substr($row['stamp'],5,2).'&cl_y='.substr($row['stamp'],0,4)).'">'. $subject .'</a>' : $subject;
			$author = ( $userdata['session_logged_in'] ) ? '<a href="'. append_sid('profile.'.$phpEx.'?mode=viewprofile&'. POST_USERS_URL .'='. $row['user_id']) .'">('. stripslashes($row['username']) .')</a>' : '('. stripslashes($row['username']) .')';
			$template->assign_block_vars('event', array(
ein, also zwei Zeilen nach "vorne" verschieben.
Der Titel des Events ist sonst ja bereits formatiert und kann dann nur noch schlecht neu formatiert werden...
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
junos
Mitglied
Beiträge: 98
Registriert: 25.12.2005 22:02
Wohnort: Hamburg

Beitrag von junos »

Genial...das klappt! [ externes Bild ]

Vielen Dank! :)
junos
Mitglied
Beiträge: 98
Registriert: 25.12.2005 22:02
Wohnort: Hamburg

Beitrag von junos »

Einen kleinen Fehler habe ich noch gefunden: Bei Terminen, welche über mehrere Tage laufen, wird der Termin nur am ersten Tag rot markiert. Dafür habe ich folgende Lösung gefunden:

suche:

Code: Alles auswählen

$start_date == create_date
ersetze mit:

Code: Alles auswählen

$start_date <= create_date

Weiterhin habe ich den Code bei mir so ergänzt, dass Termine die übermorgen beginnen grün und Termine die morgen beginnen gelb dargestellt werden, sowie die Schriftgröße für alle farblich markierten Termine vergrößert.

Ich weiß nicht, ob das sauber geschrieben ist, aber es funktioniert:

Code: Alles auswählen

if ($start_date-2 == create_date('d.m.Y', time(), $board_config['board_timezone']))
      {
        $subject = '<span style="color: #4ACB4A"><span style="font-size:18">'.$subject.'</span>';
      }
      
if ($start_date-1 == create_date('d.m.Y', time(), $board_config['board_timezone']))
      {
        $subject = '<span style="color: #FCC403"><span style="font-size:18">'.$subject.'</span>';
      }
      
if ($start_date <= create_date('d.m.Y', time(), $board_config['board_timezone']))
      {
        $subject = '<span style="color: #EF4952"><span style="font-size:18">'.$subject.'</span>';
      }
Grüße Nico
junos
Mitglied
Beiträge: 98
Registriert: 25.12.2005 22:02
Wohnort: Hamburg

Beitrag von junos »

Code: Alles auswählen

$start_date <= create_date
So geht`s leider doch nicht.

Es werden nur die Tage berücksichtigt, die Monate jedoch nicht. Einige Termine, die in der Zukunft liegen (bei denen der Tag kleiner/gleich dem heutigen Tag ist) werden somit auch rot markiert. :-?
junos
Mitglied
Beiträge: 98
Registriert: 25.12.2005 22:02
Wohnort: Hamburg

Beitrag von junos »

Hat dazu noch jemand eine Idee, dass bei der Abfrage des Datums auch der Monat einbezogen wird?

Code: Alles auswählen

$start_date == create_date
klappt, aber

Code: Alles auswählen

$start_date <= create_date
hat zur Folge, dass auch einige zukünftige Termine rot markiert werden. Nämlich genau diese, bei denen der Tag vom Datum des Termins kleiner/gleich dem Tag vom aktuellen Datum sind - egal welchen Monat der Termin hat.
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5395
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

So, nimm mal diesen Block hier:

Code: Alles auswählen

			$mark_date = substr($row['stamp'],0,10);
			$mark_end_date = substr($row['eventspan'],0,10);
			$cur_date = create_date('Y-m-d', time(), $board_config['board_timezone']);
			if ($mark_end_date >= $cur_date && $mark_date <= $cur_date)
			{
				$subject = '<span style="color: #FF0000;">'.$subject.'</span>';
			}
Also den oben geposteten Block damit ersetzen...
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
junos
Mitglied
Beiträge: 98
Registriert: 25.12.2005 22:02
Wohnort: Hamburg

Beitrag von junos »

Das scheint zu funktionieren.

Vielen Dank!
Antworten

Zurück zu „phpBB 2.0: Mod Support“