[ABD] Simple Calendar

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
BB-BF-BM
Mitglied
Beiträge: 2179
Registriert: 28.10.2005 16:38
Wohnort: Essen

Beitrag von BB-BF-BM »

Hallo!

Wie gesagt, bei den Kommentaren ist das normal (trotzdem versuche ich, dir noch eine bessere Lösung zu liefern, dass sofort alle Kommentare angezeigt werden).
Bei der Beschreibung ist das NICHT normal.

Ich vermute, es liegt am Browser: ich nutze Firefox 3; bei mir werden die Kommentare wie gewünscht erst bei Mouseover, die Beschreibung jedoch sofort angezeigt. Ich habe die Seite gerade mit IE 7 getestet; die Beschreibung wird zeitgleich mit den Javascript-Buttons bei onload geladen (warum auch immer erst dann), aber ohne, dass man mit der Maus irgendwo drüberfahren müsste.
Die Kommentare funktionieren wie (von mir) gewünscht.
Wenn ich im IE Javascript deaktiviere, wird die Beschreibung z.T. gar nicht mehr angezeigt (ich vermute, so wie bei dir)...

Heute nachmittag werde ich mir die Sache mal genauer ansehen.
Benutzeravatar
DerGonzo
Mitglied
Beiträge: 732
Registriert: 14.09.2005 12:22
Wohnort: Dorsten

Beitrag von DerGonzo »

Ja, scheint am Browser zu liegen.
Hab mit FF3 eingeloggt gearbeitet und mir das Ergebnis als Gast im IE7 angesehen. Im FF3 funktioniert die Darstellung der Beschreibung.
BB-BF-BM
Mitglied
Beiträge: 2179
Registriert: 28.10.2005 16:38
Wohnort: Essen

Beitrag von BB-BF-BM »

Hallo!

Bei der Lösungssuche ist mir ein Bug aufgefallen: wenn man einen Kommentar angewählt hatte und dann einen anderen anwählte, konnte man anschließend nicht mehr den ersten anwählen (bzw. änderte sich nichts).
Für diejenigen, die das Bugfix jetzt schon benötigen, gibt es hier die Lösung.


Zu deinem Problem:
/styles/prosilver/template/calendar/show_date.html

Code: Alles auswählen

<script type="text/javascript">
// <![CDATA[

function show_attendance_comment(id)
{
	var attendance_comment_id;
	attendance_comment_id = document.getElementById('attendance_comment_' + id);
	
	if (attendance_comment_id)
	{
		document.getElementById('attendance_comment').style.display = 'block';
		document.getElementById('attendance_comment').childNodes[1].firstChild.nodeValue = attendance_comment_id.cloneNode(true).firstChild.nodeValue;
	}
	else
	{
		document.getElementById('attendance_comment').style.display = 'none';
	}
}

// ]]>
</script>
ersetzen gegen:

Code: Alles auswählen

<script type="text/javascript">
// <![CDATA[

function show_attendance_comment(id)
{
	/*
	var attendance_comment_id;
	attendance_comment_id = document.getElementById('attendance_comment_' + id);
	
	if (attendance_comment_id)
	{
		document.getElementById('attendance_comment').style.display = 'block';
		document.getElementById('attendance_comment').childNodes[1].firstChild.nodeValue = attendance_comment_id.cloneNode(true).firstChild.nodeValue;
	}
	else
	{
		document.getElementById('attendance_comment').style.display = 'none';
	}
	*/
}

// ]]>
</script>
(bitte beachten, dass sich das Javascript auf Grund des Bugfixes geändert hat; es ist das einzige Javascript in der Datei)


/styles/prosilver/theme/calendar.css

Code: Alles auswählen

#show_date .attendances dd
{
	display: none;
}

#show_date dd.attendances
{
	float: left;
	width: 10em;
	clear: left;
}
ersetzen gegen:

Code: Alles auswählen

#show_date .attendances dd
{
/*	display: none;	*/
}

#show_date dd.attendances
{
	float: left;
/*	width: 10em;	*/
	clear: left;
}
Blobby
Mitglied
Beiträge: 18
Registriert: 25.12.2007 18:14

Beitrag von Blobby »

Hallo zusammen. Bitte entschuldigt das ich jetzt nicht alle 75 Seiten durchlese falls dieses Problem schon war. Ich habe das Problem, dass zwar alles soweit geklappt hat, aber das Design, also Kalender sieht nicht so aus wie es soll und ist Optisch ziemlich kaputt. Was habe ich den falsch gemacht ?

EDIT:
Ich werde noch Kirre. Jetzt ist plötzlich alles in Ordnung :oops:
Sorry
Blobby
Mitglied
Beiträge: 18
Registriert: 25.12.2007 18:14

Beitrag von Blobby »

Grrr, ok ich bin doch blöd. Ich kann als Admin keine Termine erstellen. Wo muss ich den die Rechte verteilen ? Ich finde irgenwie nirgendwo den Teil für die Rechte :oops:

Und noch eine Frage. Wie kann ich diese Cronjob php automatisieren ? Oder muss ich da jetzt jeden Tag die php aufrufen ?

Mit freundlichen Grüssen
BB-BF-BM
Mitglied
Beiträge: 2179
Registriert: 28.10.2005 16:38
Wohnort: Essen

Beitrag von BB-BF-BM »

Hallo!

Ich zitiere mich aus Zeitgründen einfach mal selbst:
BB-BF-BM hat geschrieben:Die Berechtigung, wer Termine erstellen darf, wird über das phpBB-interne System geregelt.
ACP
=> Reiter: Berechtigungen
=> Berechtigungs-Rollen: Benutzer-Rollen
=> (Rolle) ändern
=> Reiter: Kalender
=> Kann Ereignisse erstellen
Die Datei cal_cronjob.php sollte jeden Tag aufgerufen werden. Cronjob bedeutet aber, dass dies auch von einem automatisierten Skript geschehen kann (siehe Cronjob).
cokee
Mitglied
Beiträge: 3
Registriert: 06.03.2008 18:38

Installation schlägt fehl

Beitrag von cokee »

Hallo zusammen,

ich wollte mir jetzt auch mal den Kalender installieren.

Software ist bei mir folgende:

Datenbank-Server: MySQL 4.1.22-log
Version des Boards: 3.0.2
Webbrowser Firefox 3

Hab auch alles nach den vielen Anleitungen hier installiert und in den Dateien geändert.
Im Schritt 1 wird auch alles als OK angezeigt jedoch komme ich wenn ich auf weiter drücke nicht zu Schritt 2 sondern wieder zu Schritt 1. Eine Fehlermeldung wird dabei nicht ausgegeben.

Muss ich eigenlich noch was per Hand an der Datenbank machen oder macht das die Installation selber?

Danke und Gruß
coke
Blobby
Mitglied
Beiträge: 18
Registriert: 25.12.2007 18:14

Beitrag von Blobby »

Autsch, und was muss ich jetzt tun, damit die cronjob alle 25 Stunden automatisch ausgeführt wird ?

Gruss
Benutzeravatar
DerGonzo
Mitglied
Beiträge: 732
Registriert: 14.09.2005 12:22
Wohnort: Dorsten

Beitrag von DerGonzo »

Sorry, hab noch ne Frage:

Was muß ich ändern, damit registrierte User nicht jedesmal eine e-mail bekommen, wenn die Gruppe "registrierte Benutzer" zu einem Ereignis eingeladen werden?
BB-BF-BM
Mitglied
Beiträge: 2179
Registriert: 28.10.2005 16:38
Wohnort: Essen

Beitrag von BB-BF-BM »

Hallo!

@cokee: Die Änderungen an der Datenbank werden alle vom Installationsskript ausgeführt.
Leider kann ich dir nicht sagen, warum das Skript bei dir nicht korrekt ausgeführt wird. Falls du Cookies deaktiviert hast, aktiviere sie; falls du SEO-URLs nutzt, deaktiviere sie!

@Blobby: Wenn du einen Cronjob anlegst, einfach die URL eintragen?!
Es gibt einige Dienste, die kostenlose Cronjobs anbieten; einfach danach googlen.

@DerGonzo:
Im UCP kann jeder für sich einstellen, wie viele Tage vor einem Termin er benachrichtigt werden möchte (ich nenne die Zahl einfach mal X). In folgenden Fällen wird ein User benachrichtigt:
- die Datei cal_cronjob.php wird aufgerufen: wenn es in X Tagen einen Termin gibt, für den er eingeladen ist und für den er nicht eingestellt hat, nicht benachrichtigt zu werden, wird er für diesen Termin benachrichtigt
- Ein Termin wird an einem Tag erstellt, der weniger als X Tage nach heute liegt. Da der User über cal_cronjob.php nicht mehr über diesen Termin informiert werden würde, wird er sofort informiert, sofern er eingeladen ist.
- Gleiches gilt für Termine, zu denen er vorher nicht eingeladen war, aber nun eingeladen ist.
Im Übrigen kann jeder User selbst einstellen, ob und wie er benachrichtigt werden möchte.

Wenn ich dich richtig verstanden habe, sollte aber folgende Codeänderung in /calendar/common.php helfen:

Code: Alles auswählen

	public function is_invited_to_event(cal_event $event)
	{
		return $this->check_black_white_lists(
			$event->invitations['white_g'],
			$event->invitations['black_g'],
			$event->invitations['white_u'],
			$event->invitations['black_u']);
	}
ersetzen gegen:

Code: Alles auswählen

	public function is_invited_to_event(cal_event $event)
	{
		return $this->check_black_white_lists(
			array(),
			array(),
			$event->invitations['white_u'],
			$event->invitations['black_u']);
	}
Damit fällt die Prüfung, ob sich der User in einer eingeladenen Gruppe befindet; nur, wenn er persönlich eingeladen wird, wird er auch benachrichtigt. Allerdings bauen auch andere Funktionen auf dieser Prüfung auf, deswegen in der gleichen Datei

Code: Alles auswählen

			case CAL_VISIBLE_PERSONAL:
				return $this->is_invited_to_event($event);
				break;
ersetzen gegen:

Code: Alles auswählen

			case CAL_VISIBLE_PERSONAL:
				return $this->check_black_white_lists(
					$event->invitations['white_g'],
					$event->invitations['black_g'],
					$event->invitations['white_u'],
					$event->invitations['black_u']);
				break;
Ich hoffe, dass diese zusätzliche Änderung ausreicht, um Fehlern vorzubeugen.
Antworten

Zurück zu „[3.0.x] Mods in Entwicklung“