[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.
Benutzeravatar
godsotherson
Mitglied
Beiträge: 42
Registriert: 22.02.2008 01:10
Wohnort: Köln

Beitrag von godsotherson »

Hallo!

Das klappt alles ganz vorzüglich. Die Änderungen in der Formatierung sind ein optischer Vorteil.

Eine kleine weitere Änderung muss zusätzlich zu den oben genannten noch gemacht werden, da sonst auf der Seite der Ereignis-Anzeige statt Datum nur der Wochentag angezeigt wird.

suche in template/calender.html:

Code: Alles auswählen

<!-- ELSEIF MODE == show_event_date -->

<form action="{U_SHOW_EVENT_DATE}" method="post" id="show_event_date_form"{S_FORM_ENCTYPE}>
<div class="inner bg1 post" id="show_event_date"><span class="corners-top"><span></span></span>
<dl>
	<dt>{EVENT_NAME}</dt>
	<dd>{L_AUTHOR}: <a href="{AUTHOR_URL}" style="color: #{AUTHOR_COLOUR};">{AUTHOR_NAME}</a></dd>
	<dd>{L_DATE}: {DATE}</dd>
ersetze durch:

Code: Alles auswählen

<!-- ELSEIF MODE == show_event_date -->

<form action="{U_SHOW_EVENT_DATE}" method="post" id="show_event_date_form"{S_FORM_ENCTYPE}>
<div class="inner bg1 post" id="show_event_date"><span class="corners-top"><span></span></span>
<dl>
	<dt>{EVENT_NAME}</dt>
	<dd>{L_AUTHOR}: <a href="{AUTHOR_URL}" style="color: #{AUTHOR_COLOUR};">{AUTHOR_NAME}</a></dd>
	<dd>{L_DATE}: {DATE}, {DMY}</dd>
Ich kann dir gar nicht genug danken, in welcher Form und Zeit du auf die hier genannten Punkte eingegangen bist. In den letzten zwei Wochen habe ich so manche Stunde in deinem Text und Code verbracht, was meinen Kopf für die gewünschten Änderungen schon ganz schön zum Rauchen gebracht hat. Nebenbei durfte ich bemerken, welch enormer Zeitaufwand in dem Kalender steckt und welche Potentiale in ihm vorhanden sind. Ich hoffe, das noch so mancher seine Nase tief in diesen Kalender steckt um die Vorteile auch zu erkennen ...

Dein Diagram für die Rechte ist hilfreich, der aufgezeigte Teil war aber schon zu erahnen. Im Moment verbleiben nur noch Fragen zu den Benutzer-Berechtigungen im ACP:

Kann Ereignisse erstellen
Ist eindeutig
Kann private Ereignisse erstellen
Was ist ein privates Ereignis? Wie wird es erstellt? Durch freilassen der whitelist?
Ist Kalender-Moderator (kann nicht-private Ereignisse sehen)
Müssen alle Benutzer Kalender-Moderator sein um Termine für Gruppen der whitelist zu sehen?
Ist Kalender-Moderator (kann nicht-private Ereignisse editieren)
Kann ein Moderator dann alle offiziellen Termine ändern, oder nur die von denen er Autor ist?

Nach meinem Verständnis hatte ich das in drei Kategorien unterteilt. Hier ein Auszug aus meiner Beschreibung:

Lese-Erlaubnis

Offizieller Termin:
Wähle die entsprechenden Gruppen für den Termin.
Für Mehrfachauswahl Taste STRG beim Klicken halten.
Der Termin ist nur für diese Gruppen sichtbar.

Privater Termin:
Wähle die entsprechenden Benutzer für den Termin.
Unter [Benutzer suchen] rechts die Benutzer markieren,
dann unten [Markierte auswählen].
Der Termin ist nur für diese Benutzer sichtbar.

Persönlicher Termin:
Die Felder Gruppen und Benutzer bleiben leer.
Der Termin ist nur für dich sichtbar.


Ist die Funktion so sinnlich korrekt?

Gruß Andreas
BB-BF-BM
Mitglied
Beiträge: 2179
Registriert: 28.10.2005 16:38
Wohnort: Essen

Beitrag von BB-BF-BM »

Hallo und vielen Dank für dein Lob!

Ob ein Ereignis privat ist oder nicht, ist nur für Kalender-Moderatoren wichtig.

Zunächst einmal dürfen alle Benutzer, egal ob Kalender-Moderator oder nicht, ein Ereignis oder Termin - egal ob privat oder nicht-privat - sehen / ändern, sofern sie über die white- und blacklists für Gruppen oder Benutzer die Erlaubnis dazu erhalten haben.
Wenn für den Autor des Ereignisses nicht die Berechtigung "Kann private Ereignisse erstellen" gesetzt ist, gilt das Ereignis als nicht-privat.

Wenn das Ereignis (oder der Termin) nicht-privat ist, dürfen zusätzlich zu den per white- und blacklists definierten Benutzern / Gruppen alle Benutzer, für die die Berechtigung "Ist Kalender-Moderator (kann nicht-private Ereignisse sehen)" gesetzt ist, das Ereignis sehen (und ändern, sofern die Berechtigung "Ist Kalender-Moderator (kann nicht-private Ereignisse editieren)" gesetzt ist).


Deine Einteilung in "Offizieller Termin", "Privater Termin" und "Persönlicher Termin" ist nicht korrekt; ich weiß zwar, dass es so eine Unterteilung in anderen Kalendern gibt, doch hier nicht.

Nicht-privater Termin:
Alle per white- und blacklists definierten Benutzer können den Termin sehen,
außerdem auch Kalender-Moderatoren

Privater Termin:
Nur die per white- und blacklists definierten Benutzer können den Termin sehen


Ich hoffe, es ist jetzt etwas klarer...
Benutzeravatar
Skippy07
Mitglied
Beiträge: 293
Registriert: 03.02.2007 10:03
Wohnort: Vreden

Beitrag von Skippy07 »

Hallo,

da ich den Kalender ja schon einige Zeit in Gebrauch habe, frage ich mich,ob es eine Möglichkeit gibt, alte Termine auf einmal zu löschen.
Oder eine Einstellung, welche vergangene Termine automatisch nach einer einstellbaren Zeit löscht.

Gruss
Stefan
Benutzeravatar
godsotherson
Mitglied
Beiträge: 42
Registriert: 22.02.2008 01:10
Wohnort: Köln

Beitrag von godsotherson »

BB-BF-BM hat geschrieben: Nicht-privater Termin:
Alle per white- und blacklists definierten Benutzer können den Termin sehen,
außerdem auch Kalender-Moderatoren

Privater Termin:
Nur die per white- und blacklists definierten Benutzer können den Termin sehen
Irgendwie bereitet mir das Ist Kalender-Moderator (kann nicht-private Ereignisse sehen) im ACP noch ein wenig grübeln.

Können also alle nicht-Moderatoren die nicht-privaten Termine nicht lesen?

oder so:
Ist Kalender-Moderator (kann unabhängig von den whitelists auch nicht-private Ereignisse sehen)

Ab wann ist man Kalender-Moderator? Schon wenn Kann private Ereignisse erstellen auf ja gesetzt ist?

Angenommen ich setze alles für alle auf nein, ausser Kann Ereignisse erstellen:

Gibt es dann keine Moderatoren?
Sind dann alle Termine automatisch nicht privat?



Gruß Andreas
BB-BF-BM
Mitglied
Beiträge: 2179
Registriert: 28.10.2005 16:38
Wohnort: Essen

Beitrag von BB-BF-BM »

Hallo!
godsotherson hat geschrieben:Ist Kalender-Moderator (kann unabhängig von den whitelists auch nicht-private Ereignisse sehen)
Das trifft es meiner Meinung nach am eheseten.

Angenommen, es gibt verschiedene Gruppen: "A", "B", "C", "D" und verschiedene Benutzer "a_b", "a", "a_b_c", "a_c", "a_c_d", "b", "b_c", "b_d", "c", "c_d" (Benutzer "a_b" ist in den Gruppen "A" und "B", Benutzer "a" nur in "A", "a_b_c" in "A", "B" und "C", etc.)

Benutzer "a_b_c" erstellt ein Termin:
  • Gruppen-whitelist:
    • "A"
    • "B"
  • Gruppen-blacklist:
    • "D"
  • Benutzer-whitelist:
    • "c_d"
  • Benutzer-blacklist:
    • "a_c"
Demnach dürfen folgende Benutzer das Ereignis sehen:
  • "a_b"
  • "a"
  • "b"
  • "b_c"
  • "c_d"
  • und natürlich "a_b_c" selbst

Wenn Benutzer "a_b_c" die Berechtigung hat, private Ereignisse zu erstellen, gilt das Ereignis automatisch als privat. In diesem Fall kann kein weiterer Benutzer das Ereignis sehen.

Ist das Ereignis jedoch ein nicht-privates, können Kalender-Moderatoren dieses sehen. Ist also für die Benutzer "c", und "a_c" die Berechtigung "kann nicht-private Ereignisse sehen" gesetzt, können sie das Ereignis ebenfalls sehen, obwohl dies nicht vom Ereignis-Ersteller vorhergesehen war.

Ich hoffe, am Beispiel ist die Situation leichter nachzuvollziehen.


@Skippy: So eine Funktion ist geplant, jedoch noch nicht umgesetzt.
Benutzeravatar
Skippy07
Mitglied
Beiträge: 293
Registriert: 03.02.2007 10:03
Wohnort: Vreden

Beitrag von Skippy07 »

@Skippy: So eine Funktion ist geplant, jedoch noch nicht umgesetzt.
Das wäre super. Dann warte ich mit dem löschen der alten Einträge.

Gruss
Stefan
Benutzeravatar
godsotherson
Mitglied
Beiträge: 42
Registriert: 22.02.2008 01:10
Wohnort: Köln

Beitrag von godsotherson »

BB-BF-BM hat geschrieben: Wenn Benutzer "a_b_c" die Berechtigung hat, private Ereignisse zu erstellen, gilt das Ereignis automatisch als privat. In diesem Fall kann kein weiterer Benutzer das Ereignis sehen.
Tut mir leid, wenn ich bohr, es bleibt immer noch eine Frage ...

Wie genau erstellt Benutzer a_b_c nun das private Ereignis ... Ich war im Glauben dies geschieht automatisch durch Freilassen der Whitelist.

Er muss also erstmal im ACP die Berechtigung hierzu erhalten und ist dann automatsich Kalendermoderator und kann dann automatisch auch die Termine lesen, die andere in der whitelist leer lassen?

Das wäre sehr wichtig zu wissen, da dann der Kalender nicht für ganz persönliche eigene Termine Nutzbar wäre ...

Gruß Andreas
BB-BF-BM
Mitglied
Beiträge: 2179
Registriert: 28.10.2005 16:38
Wohnort: Essen

Beitrag von BB-BF-BM »

Hallo!

Sofern für "a_b_c" die Berechtigung "Kann private Ereignisse erstellen" auf "Ja" gesetzt ist, ist automatisch JEDES Ereignis, das er erstellt (hat) ein privates Ereignis; egal, ob er irgend eine white- oder blacklist leer lässt oder nicht.

Jemand, der private Ereignisse erstellen kann, muss aber kein Kalender-Moderator sein!


Stell dir das so vor (im Code wird das etwas anders gehandhabt, allerdings sind die Auswirkungen dieselben):
Alle Benutzer mit der Berechtigung "Ist Kalender-Moderator (kann nicht-private Ereignisse sehen)" sind in einer Benutzergruppe "Kalender-Moderatoren".

Benutzer, für die die Berechtigung "Kann private Ereignisse erstellen" auf NEIN steht, wählen automatisch die Benutzergruppe "Kalender-Moderatoren" in der whitelist an.

Benutzer, für die die Berechtigung "Kann private Ereignisse erstellen" auf JA steht, wählen die Benutzergruppe "Kalender-Moderatoren" NICHT automatisch an.


Ganz persönliche Termine können nur erstellt werden, wenn für den Benutzer die Berechtigung "Kann private Ereignisse erstellen" auf JA steht; er muss / darf dann in keine whitelist jemanden eintragen.
Benutzeravatar
godsotherson
Mitglied
Beiträge: 42
Registriert: 22.02.2008 01:10
Wohnort: Köln

Beitrag von godsotherson »

BB-BF-BM hat geschrieben:Alle Benutzer mit der Berechtigung "Ist Kalender-Moderator (kann nicht-private Ereignisse sehen)" sind in einer Benutzergruppe "Kalender-Moderatoren".

Benutzer, für die die Berechtigung "Kann private Ereignisse erstellen" auf NEIN steht, wählen automatisch die Benutzergruppe "Kalender-Moderatoren" in der whitelist an.

Benutzer, für die die Berechtigung "Kann private Ereignisse erstellen" auf JA steht, wählen die Benutzergruppe "Kalender-Moderatoren" NICHT automatisch an.
Jetzt ist es klar! Dieser Zusammenhang sollte noch irgendwo in einem Leitfaden für die Betreiber des Kalender aufgeführt werden.

Für Manche reicht auch ein kurzer Blick auf den entsprechenden PHP-Code, aber da muss man sich durch die Mengen von Zeilen wühlen. Das habe ich aber nicht getan, da ich alle PHP-Dateien jungfäulich bis auf die von dir geposteten Änderunge halten möchte.

Dein Kalender ist bis auf ein paar Änderungen in der Bedienungsanleitung nun soweit fertig bei mir und wird im laufe der Woche hoffentlich zugeschaltet werden können. Im Laufe der ersten Tage werde ich die vielleicht auftretenden nötigen Änderungen durchführen und dann nach und nach das alles in eine Reinform bringen und um die genannten Fremdsprachen erweitern. Wenn alles fertig ist, werde ich dir dann die geänderten Datein für Serenety schicken.

Ein riesen Lob für deinen Kalender und erst recht für deinen tollen Support!

Herzliche Grüße, Andreas

Nachtrag: ... fast vergessen, mir sind da noch zwei Modifikationen eingefallen.

1. Ist es möglich, falls der Benutzer im UCP eine Standard-Benachrichtigung aktiviert hat, ihn unabhängig von Teilnahme ja/nein/vielleicht, in der von ihm eingestellten Zeit und Art zu informieren, wenn er sich auf einer der whitelists befindet? Wie ich glaube eine sehr sinnvolle Funktion, für die keine großen Änderungen getätigt werden müssen.

2. Bei den Termin-Links im Kalender wird ja nun die PHP-Klasse mit übergeben, um per CSS zwischen Geburtstagen und Terminen zu unterscheiden. Ist es möglich diese Übergabe noch weiter auszubauen, sodass zwischen den whitelists unterschieden werden kann?
Einmal Klasse für nur whitelist-Gruppe, einmal Klasse für nur whitelist-Benutzer und einmal für gemischt?
BB-BF-BM
Mitglied
Beiträge: 2179
Registriert: 28.10.2005 16:38
Wohnort: Essen

Beitrag von BB-BF-BM »

Hallo!

Zunächst einmal muss ich mich ein wenig korrigieren:
BB-BF-BM hat geschrieben:Alle Benutzer mit der Berechtigung "Ist Kalender-Moderator (kann nicht-private Ereignisse sehen)" sind in einer Benutzergruppe "Kalender-Moderatoren".

Benutzer, für die die Berechtigung "Kann private Ereignisse erstellen" auf NEIN steht, wählen automatisch die Benutzergruppe "Kalender-Moderatoren" in der whitelist an.

Benutzer, für die die Berechtigung "Kann private Ereignisse erstellen" auf JA steht, wählen die Benutzergruppe "Kalender-Moderatoren" NICHT automatisch an.
stimmt leider (oder zum Glück) nicht ganz: die Kalender-Moderatoren stehen auf einer unwiderruflichen whitelist; selbst wenn man jeden einzelnen Kalender-Moderator in die blacklist einträgt, können sie das Ereignis (sofern es ein nicht-privates ist) sehen.

godsotherson hat geschrieben:1. Ist es möglich, falls der Benutzer im UCP eine Standard-Benachrichtigung aktiviert hat, ihn unabhängig von Teilnahme ja/nein/vielleicht, in der von ihm eingestellten Zeit und Art zu informieren, wenn er sich auf einer der whitelists befindet? Wie ich glaube eine sehr sinnvolle Funktion, für die keine großen Änderungen getätigt werden müssen.
Dies ist eigentlich nicht von mir vorhergesehen; so könnte eine Spam-Möglichkeit entstehen.
Jeder User soll selbst entscheiden dürfen, an welche Termine er erinnert werden möchte.
Vielleicht werde ich diese Möglichkeit später als Workaround veröffentlichen; sie wird jedoch kein Standard-Feature.
godsotherson hat geschrieben:Ist es möglich diese Übergabe noch weiter auszubauen, sodass zwischen den whitelists unterschieden werden kann?
Einmal Klasse für nur whitelist-Gruppe, einmal Klasse für nur whitelist-Benutzer und einmal für gemischt?
Du meinst, wenn der Autor nur Gruppen angegeben hat, die eine Klasse; wenn er nur Benutzer angegeben hat eine andere und wenn er beides angegeben hat noch eine andere?
Ergibt in meinen Augen wenig Sinn, da es im Endeffekt egal ist, ob ich alle Benutzer einer Gruppe oder die Gruppe selbst angebe...

Oder habe ich dich falsch verstanden?
Vielleicht könntest du kurz den Zweck erläutern?!
Antworten

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