Seite 76 von 130

Verfasst: 09.09.2008 08:06
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.

Verfasst: 09.09.2008 09:51
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.

Verfasst: 09.09.2008 17:52
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;
}

Verfasst: 11.09.2008 12:19
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

Verfasst: 11.09.2008 12:32
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

Verfasst: 11.09.2008 19:53
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).

Installation schlägt fehl

Verfasst: 12.09.2008 18:17
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

Verfasst: 13.09.2008 13:26
von Blobby
Autsch, und was muss ich jetzt tun, damit die cronjob alle 25 Stunden automatisch ausgeführt wird ?

Gruss

Verfasst: 13.09.2008 14:07
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?

Verfasst: 13.09.2008 14:52
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.