Seite 42 von 130

Verfasst: 02.03.2008 15:39
von Wollez
Hallo godsotherson,

wenn ich dies ändere, geht zwar der Link in einem neuen Fenster auf aber auch der Kalendertermin geht in einem neuen Fenster auf. Am liebsten wäre es mir wenn alles was mit dm Kalender zu tun hat im gleichen Fenster aufgeht und wenn man in der Beschreibung auf einen Link klickt ein neues Fenster auf geht.

Gruß Wollez

Verfasst: 02.03.2008 16:19
von BB-BF-BM
Hallo!

@Wollez: Ich denke, es ist eine Modifikation am BBCode nötig; das hat mit dem Kalender jedoch nichts direkt zu tun, sodass ich mich vorerst nicht darum kümmere.

@godsotherson:
Im UCP gibt es unter "Einstellungen" auch "Kalender-Einstellungen".
Für dich dürften die ersten drei Punkte interessant sein.

Verfasst: 02.03.2008 17:58
von godsotherson
BB-BF-BM hat geschrieben: Im UCP gibt es unter "Einstellungen" auch "Kalender-Einstellungen".
Für dich dürften die ersten drei Punkte interessant sein.
Das habe ich schon bemerkt, dass der User persönliche Einstellungen vornehmen kann. Aus bestimmten Gründen fällt das UCP in meinem Forum völlig weg. Für solche Fälle wäre es zu einem späteren Zeitpunkt interessant Standard-Einstellungen im ACP vornehmen zu können. Sicher verstehe ich dass du im Moment noch an vielen anderen Fronten beschäftigt bist, aber man kann klar erkennen, dass deine Arbeit eine riesen Sache an einem phantastischem Kalender ist, der wirklich keine Wünsche mehr offen lassen wird. Durch die breite Verzweigung und Integration deines Kalender im Board, wird er hoffentlich vorbildlich für viele weitere Mods sein.

Wo kann ich die Standard-Einstellungen für die ersten drei Punkte des UCP ändern, damit sie für alle Gruppen gleich greifen, wenn diese keine Einstellungen im UCP vornehmen können?

Gruß Andreas

Verfasst: 02.03.2008 18:21
von BB-BF-BM
Hallo!

Zur Zeit ist es am einfachsten, die Einstellungen per SQL-Befehl direkt in der Datenbank zu ändern.

Code: Alles auswählen

ALTER TABLE `phpbb_users`
CHANGE `cal_date_format` `cal_date_format` VARCHAR (30) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT 'D - d.m.Y',
CHANGE `cal_days_before` `cal_days_before` MEDIUMINT (8) UNSIGNED NOT NULL DEFAULT '7',
CHANGE `cal_days_after` `cal_days_after` MEDIUMINT (8) UNSIGNED NOT NULL DEFAULT '21' 
cal_date_format enthält das Datumsformat (siehe PHP-Funktion PHP:date),
cal_days_before und cal_days_after die Tage vor bzw. dem jeweiligen aktuellen Datum (d.h. du musst die 7 und die 21 ersetzen).

Damit werden Benutzer, die sich später registrieren, von vornherein die richtigen Einstellungen haben.

Um Benutzern, die bereits registriert sind, die Einstellungen zu ändern, musst du folgenden SQL-Befehl ausführen:

Code: Alles auswählen

UPDATE phpbb_users SET 
cal_date_format = 'D - d.m.Y', 
cal_days_before = 7, 
cal_days_after = 21

Verfasst: 02.03.2008 18:25
von Job-Sucher
hat der den auch die funktion der geburtstage von phpbb 3.0 drinnen also das die gezeigt werden?

Verfasst: 02.03.2008 18:34
von BB-BF-BM
Hallo!

Ja, phpBB-interne Geburtstage können angezeigt werden; dies kann jeder User für sich an- oder abschalten.

Verfasst: 07.03.2008 01:04
von godsotherson
Hallo und besten Dank für deine Hilfe.
Die SQL Befehle habe ich ausgeführt, musste sie allerdings leicht abändern. In Zeile 2 oben habe ich das "COLLATE utf8_bin" rausnehmen müssen bevor mysql die Befehle ausführen wollte. Hoffe das hat keine negativen Auswirkungen. Bin ziemlich neu was Datenbanken angeht ...

Habe mich in den letzten Tagen sehr intensiv mit deinem Kalender und dessen integration in mein Template befasst.
Mir ist ein kleiner Fehler aufgefallen. Obwohl die Anzeige der Geburtstage im Kalender deaktiviert ist, wird ein Geburtstag trotzdem angezeigt. Es ist der zuerst im Forum eingetragene Geburtstag aus einem Konto Globaler Moderator. Hoffe du kannst da was mit anfangen ...

Ich hätte da noch ein paar Fragen ...
Es geht auch noch mal um die Anzeige des Datum im Kalender:
godsotherson hat geschrieben:In Anzeigeformat der Kalendertage möchte ich eine Änderung vornehmen.

Bisherige Ausgabe in der "template/calender.html" :
{days.DATE} = z.B. "So, 02. Mär 2008"

Erzielte Ausgabe:
{days.xy} - {days.DATE} = z.B. "So" - "02.03.2008"
(Datumformat wie in der Eingabemaske für Termine)
Es kommt bei der Ausgabe der Wochentage mit anschliessendem Datum zu einem optisch unschönen Versatz in den Zeilen, da die Wochentage unterschiedliche Längen haben.
Wie kann ich das {days.DATE} in zwei Variablen teilen? Wie im obigen Beispiel, eines für die Wochentage, eines für das Datum, damit ich den Versatz per CSS dann ausgleichen kann.

Gibt es auch eine Möglichkeit die Geburtstage aus dem {days.events.NAME} rauszunehmen, um sie per CSS anders zu formatieren?

Wofür genau ist die Variabel {events.NAME}? Bisher wurde sie in keinem Fall bei mir verwendet.


Kannst du mir auch noch was zu den Rechte-Verteilungen für die Ereignisse sagen?
Gruppen mit Lese-Erlaubnis
Können nur die Gruppen, die hier eingetragen sind den Termin lesen und sind die Gruppen, die hier nicht eingetragen werden, gleichzusetzen mit den Gruppen die ich in
Gruppen mit Lese-Verbot
eintrage? Oder können alle Gruppen den Termin lesen und nur die mit Leseberechtigung können sich für die Teilnahme anmelden?

Gruppen mit Änderungs-Erlaubnis
Welche Rechte erhalten die eingetragenen Gruppen genau?
Wenn ich diesen Block lösche, muss ich dann per input-hidden die Variabel für den Author mit im Formular übergeben?

Irgendwie bereitet mir das Austesten der einzelnen Berechtigungen momentan noch Schwierigkeiten, da mich das Anpassen ans Template doch mehr aufhält als ich vermutet hätte. Ich wäre dir dankbar wenn du mir ein paar Tipps zur Rechte-Verteilung geben könntest ...

Wenn dein Kalender für mein Template fertiggestellt ist -was mich aber sicher noch ein paar weitere Tage in Anspruch nimmt- werde ich dir auf Wunsch auch die geänderten Dateien für Template Serenety und ein paar Sprachdateien zusenden. Allerdings ist es dann etwas auf meine Bedürfnisse zugeschnitten. So habe ich die Suchfunktion gekürzt und die Sprachdatei um einige Variabeln für Erläuterungen erweitert. In Arbeit sind zusätzlich Ungarisch, Holländisch, Französisch ... Dänisch später.

Dein Kalender wird nach Fertigstellung sicher eine Super-Sache, der alles andere auf diesem Bereich um Längen abhängt und sich durchsetzen wird! Vielen Dank für die viele Arbeit die du investierst!

Gruß Andreas

Verfasst: 07.03.2008 07:37
von BB-BF-BM
Hallo!

Vielen Dank für dein ausführliches Feedback!
godsotherson hat geschrieben:Hallo und besten Dank für deine Hilfe.
Die SQL Befehle habe ich ausgeführt, musste sie allerdings leicht abändern. In Zeile 2 oben habe ich das "COLLATE utf8_bin" rausnehmen müssen bevor mysql die Befehle ausführen wollte. Hoffe das hat keine negativen Auswirkungen. Bin ziemlich neu was Datenbanken angeht ...
Nein, das sollte eigentlich kein Problem darstellen; du hast wahrscheinlich eine andere MySQL-Version.
godsotherson hat geschrieben:Mir ist ein kleiner Fehler aufgefallen. Obwohl die Anzeige der Geburtstage im Kalender deaktiviert ist, wird ein Geburtstag trotzdem angezeigt. Es ist der zuerst im Forum eingetragene Geburtstag aus einem Konto Globaler Moderator. Hoffe du kannst da was mit anfangen ...
Ist es nur der eine Geburtstag oder werden alle angezeigt?
Vielleicht gibt es auch ein Missverständnis: Im ACP findest du die Einstellung "Zeige jedem Benutzer standardmäßig phpBB-interne Geburtstage an". Die bewirkt jedoch nur, dass für neue Benutzer die Einstellung "phpBB-interne Geburtstage im Kalender anzeigen?", die du im UCP unter Kalender-Einstellungen findest, auf "Ja" gestellt wird.
Ist jetzt die Einstellung im ACP auf Nein und die Einstellung im UCP auf Ja, werden die Geburtstage trotzdem angezeigt. Auf diese Weise kann der User mehr selbst entscheiden.
godsotherson hat geschrieben:Es kommt bei der Ausgabe der Wochentage mit anschliessendem Datum zu einem optisch unschönen Versatz in den Zeilen, da die Wochentage unterschiedliche Längen haben.
Wie kann ich das {days.DATE} in zwei Variablen teilen? Wie im obigen Beispiel, eines für die Wochentage, eines für das Datum, damit ich den Versatz per CSS dann ausgleichen kann.
Im Moment habe ich nicht so viel Zeit; ich schau mir das später noch einmal an; es dürfte aber nicht allzuschwer werden.
godsotherson hat geschrieben:Gibt es auch eine Möglichkeit die Geburtstage aus dem {days.events.NAME} rauszunehmen, um sie per CSS anders zu formatieren?
Siehe oben: Sobald ich Zeit habe, beschäftige ich mich damit.
godsotherson hat geschrieben:Wofür genau ist die Variabel {events.NAME}? Bisher wurde sie in keinem Fall bei mir verwendet.
Der komplette BLOCK <!-- BEGIN events --> bis <!-- END events --> wird genutzt, wenn du Erweiterte Suchoptionen angibst UND keinen Zeitraum, in dem du suchen willst. Dann werden nämlich die Ereignisse, nicht die Termine angezeigt.

godsotherson hat geschrieben:Kannst du mir auch noch was zu den Rechte-Verteilungen für die Ereignisse sagen?
Gruppen mit Lese-Erlaubnis
Können nur die Gruppen, die hier eingetragen sind den Termin lesen und sind die Gruppen, die hier nicht eingetragen werden, gleichzusetzen mit den Gruppen die ich in
Gruppen mit Lese-Verbot
eintrage? Oder können alle Gruppen den Termin lesen und nur die mit Leseberechtigung können sich für die Teilnahme anmelden?

...

Irgendwie bereitet mir das Austesten der einzelnen Berechtigungen momentan noch Schwierigkeiten, da mich das Anpassen ans Template doch mehr aufhält als ich vermutet hätte. Ich wäre dir dankbar wenn du mir ein paar Tipps zur Rechte-Verteilung geben könntest ...
Tut mir Leid, ich werde (sobald ich Zeit habe) noch eine ausfürliche Anleitung schreiben, wie man diese Optionen einsetzen kann.
godsotherson hat geschrieben:Gruppen mit Änderungs-Erlaubnis
Welche Rechte erhalten die eingetragenen Gruppen genau?
Wenn ich diesen Block lösche, muss ich dann per input-hidden die Variabel für den Author mit im Formular übergeben?
Nein, der Autor erhält automatisch Lese- und Änderungs-Erlaubnis; es kann auch kein Verbot gegen ihn gesetzt werden.
godsotherson hat geschrieben:Wenn dein Kalender für mein Template fertiggestellt ist -was mich aber sicher noch ein paar weitere Tage in Anspruch nimmt- werde ich dir auf Wunsch auch die geänderten Dateien für Template Serenety und ein paar Sprachdateien zusenden. Allerdings ist es dann etwas auf meine Bedürfnisse zugeschnitten. So habe ich die Suchfunktion gekürzt und die Sprachdatei um einige Variabeln für Erläuterungen erweitert. In Arbeit sind zusätzlich Ungarisch, Holländisch, Französisch ... Dänisch später.
Das wäre sehr nett!
So kann ich dann auch sehen, wo ich zu kompliziert gedacht habe und was für den User nicht selbstverständlich ist.

Verfasst: 07.03.2008 10:12
von godsotherson
Ist es nur der eine Geburtstag oder werden alle angezeigt?
Vielleicht gibt es auch ein Missverständnis: Im ACP findest du die Einstellung "Zeige jedem Benutzer standardmäßig phpBB-interne Geburtstage an". Die bewirkt jedoch nur, dass für neue Benutzer die Einstellung "phpBB-interne Geburtstage im Kalender anzeigen?", die du im UCP unter Kalender-Einstellungen findest, auf "Ja" gestellt wird.
Ist jetzt die Einstellung im ACP auf Nein und die Einstellung im UCP auf Ja, werden die Geburtstage trotzdem angezeigt. Auf diese Weise kann der User mehr selbst entscheiden.
Die Anzeige Gesamtheit der Geburtstage lässt sich an und Abschalten, nur erwähnter Geburtstag wird immer angezeigt. Also auch, wenn alles auf Nein gestellt ist.

Gruß Andreas

Verfasst: 08.03.2008 09:28
von BB-BF-BM
Hallo!

Ersetze in der Datei calendar/common.php

Code: Alles auswählen

			if ($event_dates)
			{
				while (list(, $event_date) = each($event_dates))
				{
					$GLOBALS['template']->assign_block_vars('days.events', array(
						'NAME'	=>	$event_date->name,
						'URL'	=>	$event_date->url->build()
					));
				}
				unset($event_dates);
			}
			unset($date);
mit folgendem Code:

Code: Alles auswählen

			if ($event_dates)
			{
				while (list(, $event_date) = each($event_dates))
				{
					$GLOBALS['template']->assign_block_vars('days.events', array(
						'NAME'	=>	$event_date->name,
						'URL'	=>	$event_date->url->build(),
						'CLASS'	=>	get_class($event_date)
					));
				}
				unset($event_dates);
			}
			unset($date);
und ein wenig später

Code: Alles auswählen

			$GLOBALS['template']->assign_block_vars('events', array(
				'NAME'	=>	$event->name,
				'URL'	=>	$event->url->build()
			));
gegen folgenden Code ersetzen:

Code: Alles auswählen

			$GLOBALS['template']->assign_block_vars('events', array(
				'NAME'	=>	$event->name,
				'URL'	=>	$event->url->build(),
				'CLASS'	=>	get_class($event)
			));
und in der Datei styles/prosilver/template/calendar.html

Code: Alles auswählen

	<!-- IF days.TODAY -->
		<!-- IF days.DAY_OF_WEEK == 0 -->
			<li class="day today weekend"><dl>
		<!-- ELSE -->
			<li class="day today"><dl>
		<!-- ENDIF -->
			<dt title="{days.TODAY}">{days.DATE}</dt>
	<!-- ELSE -->
		<!-- IF days.DAY_OF_WEEK == 0 -->
			<li class="day weekend"><dl>
		<!-- ELSE -->
			<li class="day"><dl>
		<!-- ENDIF -->
		<dt>{days.DATE}</dt>
	<!-- ENDIF -->
		<!-- BEGIN events -->
		<dd><a href="{days.events.URL}">{days.events.NAME}</a></dd>
		<!-- END events -->
	</dl></li>
	<!-- END days -->
<!-- ELSEIF .events -->
	<!-- BEGIN events -->
	<li class="event"><a href="{events.URL}">{events.NAME}</a></li>
	<!-- END events -->
<!-- ELSE -->
	<li>{L_NO_MATCHES}</li>
<!-- ENDIF -->
mit folgendem Code:

Code: Alles auswählen

	<!-- IF days.TODAY -->
		<!-- IF days.DAY_OF_WEEK == 0 -->
			<li class="day today weekend"><dl>
		<!-- ELSE -->
			<li class="day today"><dl>
		<!-- ENDIF -->
			<dt title="{days.TODAY}">{days.DATE} <span class="dmY">{days.DMY}</span></dt>
	<!-- ELSE -->
		<!-- IF days.DAY_OF_WEEK == 0 -->
			<li class="day weekend"><dl>
		<!-- ELSE -->
			<li class="day"><dl>
		<!-- ENDIF -->
		<dt>{days.DATE} <span class="dmY">{days.DMY}</span></dt>
	<!-- ENDIF -->
		<!-- BEGIN events -->
		<dd class="days.events.CLASS}"><a href="{days.events.URL}">{days.events.NAME}</a></dd>
		<!-- END events -->
	</dl></li>
	<!-- END days -->
<!-- ELSEIF .events -->
	<!-- BEGIN events -->
	<li class="event {events.CLASS}"><a href="{events.URL}">{events.NAME}</a></li>
	<!-- END events -->
<!-- ELSE -->
	<li>{L_NO_MATCHES}</li>
<!-- ENDIF -->
und führe die SQL-Abfragen

Code: Alles auswählen

UPDATE phpbb_users SET
cal_date_format = 'D'
und

Code: Alles auswählen

ALTER TABLE `phpbb_users`
CHANGE `cal_date_format` `cal_date_format` VARCHAR (30) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT 'D'
aus.

{days.DMY} enthält standardmäßig das Datum im Format d.m.Y
Mit den Änderungen wird nun die PHP-Klasse als CSS-Klasse zugewiesen, d.h. normale Termine "cal_event_date", Geburtstagstermine "cal_bday_date"; normale Ereignisse "cal_event" und Geburtstagsereignisse "cal_bday".


Das Problem, dass Geburtstage auch angezeigt werden, wenn die Einstellung im UCP ausgeschaltet ist, liegt daran, dass der Benutzer, der Geburtstag hat, keine privaten Ereignisse erstellen kann und der Benutzer, der den Kalender ansieht, Kalender-Moderator ist. Ich werde in der nächsten Version den Fehler beheben.



EDIT:
Hier ein Artikel zur Rechtevergabe; ich hoffe, er ist verständlich...