WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 12.12.2018 00:32:02

mrbaseman
Developer

Extcal update

I have updated the external calendar module (extcal).

The styling of the backend has been improved for being displayed on large screens, and a backend style file has been added.

The latest version 1.2.4 can be obtained from the github repository

Offline

#2 12.12.2018 09:31:31

florian
Administrator

Re: Extcal update

Ich glaube, ich bin heute etwas auf Krawall gebürstet, aber auch hier habe ich etwas daran auszusetzen. angel
Ich muss leider sagen, dass ich die vorherige Ansicht übersichtlicher und harmonischer fand. Die rechtsbündigen Zeilenbeschreibungen kleben nun direkt an den Eingabefeldern, die Eingabefelder sind nicht mehr rechtsbündig. M.E. hätte die abwechselnde Grau-Unterlegung der Tabellenzeilen zur Optimierung der Darstellung auf großen Bildschirmen völlig ausgereicht.
Wobei das Grau evtl. noch etwas kräftiger ausfallen könnte, derzeit ist der Unterschied sehr dezent.
Leider sind die Zeilen aber nur dann tatsächlich abwechselnd grau unterlegt, wenn "Erweiterte Optionen anzeigen" aktiviert wurde. Sind in der Kompaktansicht einzelne Zeilen ausgeblendet, werden diese ja von der even-Anweisung im Stylesheet trotzdem mitgezählt, so dass die Reihenfolge nicht mehr stimmt.

attachment.php?item=1490&download=1

Beitrag geändert von florian (12.12.2018 09:42:04)


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#3 12.12.2018 11:08:56

mrbaseman
Developer

Re: Extcal update

Einem Hinweis folgend habe ich das Backend neulich halt mal auf einem großen Monitor mit Vollbilddarstellung aufgemacht und sofort verstanden was er gemeint hat: Vor allem bei eingeblendeten erweiterten Optionen musste man entweder wissen, welches Feld zu welcher Beschreibung gehört oder man musste schon fast ein Lineal zu Hilfe nehmen...

Aber zugegeben, da gibt's noch etwas Verbesserungspotential. Mal schauen, ob man durch geschicktes Umsortieren den Streifeneffekt auch bei ausgeblendeten erweiterten Optionen richtig hinbekommt, und an den Abständen kann ich ja auch noch etwas herumfeilen. Danke fürs Feedback.

Offline

#4 12.12.2018 12:59:16

colinax
Developer

Re: Extcal update

Wäre es möglich die Eingabefelder ganz nach links zu geben und rechts davon die Erklärung.

dann hätte man die besseren Ansichten aus beiden Versionen zusammen.

Offline

Liked by:

berny, thanks

#5 12.12.2018 16:14:24

berny
Mitglied

Re: Extcal update

ich verstehe mrbasemans Intention.
Er hat Recht.
jedoch wäre colinax Vorschlag noch besser weil einfacher im Design.

Offline

#6 12.12.2018 23:11:46

mrbaseman
Developer

Re: Extcal update

Andererseits hat man glaub ich meistens links eine Beschreibung und rechts eine Inputbox, in der man was eingibt. Den "Tannenbaum"-Style kenne ich auch von anderen Modulen (z.B. Smoothgallery) und passt ja auch gerade zur Jahreszeit wink

Der Zebra-Style kam nachträglich dann mit dazu. Vielleicht hat Florian recht und alleine der würde genügen. Was mir noch gekommen ist: Man könnte die einzelnen Optionen ein bisschen thematisch gruppieren und durch Überschriften unterbrechen (Allgemeinte Optionen, Einstellungen zum Zeitformat, Styling Details, Cache-Einstellungen...) mal gucken, wie sich das beim Umsortieren anfühlen würde. Wenn man damit ein paar sinnvolle Gruppen hat, die ihrerseits ein Zebramuster bekommen und die erweiterten Optionen jeweils am Ende, dann können glaub ich auch die Beschreibungen wieder nach links und die Inputfelder nach rechts rücken.

Und vielleicht kann man ja noch was kreatives mit der Feldbreite anstellen... so ein Zwischending zwischen fixer Breite, die bei großen Screens zu klein ist und relativer Breite, die in dem Fall zu weit anwächst, jedenfalls dann wenn sie als relatives Maß auch auf kleinen Screens noch eine sinnvolle EIngabe ermöglicht... Sowas wie 30% aber mindestens 100px wäre nicht schlecht. Weiß jemand, wie man sowas per css hinbekommt? Oder müsste man dann mit JS die Abmessungen des Fensters abfragen und entsprechend die CSS-Klassen umskalieren?

Offline

#7 13.12.2018 01:09:04

bernd
Developer

Re: Extcal update

Sowas wie 30% aber mindestens 100px wäre nicht schlecht. Weiß jemand, wie man sowas per css hinbekommt

So aus dem hohlen Bauch raus:
den Feldern eine Klasse mitgeben und die mit max-width: 30% und min-width: 100px anlegen ?!?


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

#8 13.12.2018 09:35:59

florian
Administrator

Re: Extcal update

Ich hätte nichts dagegen, wenn ein schlankes, minimalistisches CSS-Framework (!=Bootstrap) wie z.B. https://milligram.io/ oder https://purecss.io/ zum Einsatz kommt (könnte man ja mal ausprobieren, kann natürlich sein, dass sich das mit dem Backend-Tabellengewürge von anno dunnemals beißt.)


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#9 13.12.2018 10:56:34

colinax
Developer

Re: Extcal update

Sofern man jedes Framework verwendet wie es in der Doku steht, beißt es sich immer mit fremden Code, überhaupt wenn das Theme ein anderes Framework verwendet als das Modul.


Selbst wenn man sich nur ein Grid-System verwendet kann es zu Problemen kommen. Bestes Beispiel: .column die Klasse gibt's fast überall.

Offline

#10 14.12.2018 00:51:40

mrbaseman
Developer

Re: Extcal update

florian schrieb:

Ich muss leider sagen, dass ich die vorherige Ansicht übersichtlicher und harmonischer fand. [...]
M.E. hätte die abwechselnde Grau-Unterlegung der Tabellenzeilen zur Optimierung der Darstellung auf großen Bildschirmen völlig ausgereicht.

muss ich dir recht geben. Ich bin dabei das zu überarbeiten

florian schrieb:

Wobei das Grau evtl. noch etwas kräftiger ausfallen könnte, derzeit ist der Unterschied sehr dezent.

Das liegt wiederum an der Umgebung im flat theme. Unter argos reloaded könnte das grau hingegen etwas dezenter ausfallen.

florian schrieb:

Leider sind die Zeilen aber nur dann tatsächlich abwechselnd grau unterlegt, wenn "Erweiterte Optionen anzeigen" aktiviert wurde.

hab ich lokal bei mir schon korrigiert. Etwas Umsortieren hat da schon geholfen.

bernd schrieb:

den Feldern eine Klasse mitgeben und die mit max-width: 30% und min-width: 100px anlegen ?!?

geht leider bei den Textfeldern nicht. Die behalten irgendwie ihre starre Größe, die sich aus "size" ergibt. und size="" hilft leider auch nicht wirklich.

Offline

#11 16.12.2018 23:06:51

mrbaseman
Developer

Re: Extcal update

So, das ursprüngliche Layout (Beschreibung links ausgerichtet, Eingabefelder rechts) ist zurück, aber jetzt mit durchgängigem Zebra-Look, egal ob erweiterte Einstellungen ein- oder ausgeblendet sind. Dazu habe ich noch Überschrften über Abschnitte von Optionen eingeführt, die ein gemeinsames Thema behandeln. Auch das dürfte die Orientierung im Backend verbessern.

Offline

#12 17.12.2018 11:05:01

florian
Administrator

Re: Extcal update

Sehr schön geworden, danke. AOR-Eintrag ist aktualisiert.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#13 11.05.2020 20:08:11

Slugger
Mitglied

Re: Extcal update

Ich habe hier ein Fehlermeldung, wenn ich versuche einen öffentlichen Kalender von einer Nextcloud einzubinden.

Fatal error: Uncaught Sabre\DAV\Exception: HTTP error: 405 in /.../modules/extcal/SabreDAV/vendor/sabre/dav/lib/DAV/Client.php:236 Stack trace:
#0 /.../modules/extcal/client.php(62): Sabre\DAV\Client->propFind('https://rufclou...', Array, 1)
#1 /.../modules/extcal/view.php(246): WebDAVFetch('https://rufclou...', '1', 604800, '1')
#2 /.../framework/frontend.functions.php(365): require('/www/htdocs/w01...')
#3 /.../framework/frontend.functions.php(451): block_contents(1)
#4 /.../templates/lichtfjyr/index.php(48): page_content(1)
#5 /.../index.php(68): require('/www/htdocs/w01...')
#6 /.../pages/veranstaltungen.php(8): require('/www/htdocs/w01...')
#7 {main} thrown in /.../modules/extcal/SabreDAV/vendor/sabre/dav/lib/DAV/Client.php on line 236

hat jemand eine Idee?
erster Eintrag ohne "/" am Ende keine Reaktion mit "/" am Ende -> Fehler

Oder wie muss der Link richtig lauten damit man eingetragene Termine sehen kann?

Beitrag geändert von florian (11.05.2020 20:14:20)


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4:  OK

Online

#14 11.05.2020 20:26:38

florian
Administrator

Re: Extcal update

Ich habe die Fehlermeldung mal etwas formatiert.

Hier gibt es einen Forenpost dazu, vielleicht hilft Dir das weiter:
https://help.nextcloud.com/t/how-to-con … er/32981/4


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#15 16.05.2020 15:37:00

Slugger
Mitglied

Re: Extcal update

Hallo,
danke für das formatieren und den Link.

Dem Hinweis mit dem Link verfolge ich weiter.

Laut Beschreibung in der Hilfe des Moduls sollte es gehen, weshalb ich den Fehler hier melde.


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4:  OK

Online

#16 08.09.2020 21:22:44

mrbaseman
Developer

Re: Extcal update

ich komme mal darauf nochmal zurück. Bist du da eigentlich weiter gekommen?
Soweit ich sehe antwortet der Server in der Nextcloud mit einem http Error Code 405 (Method not allowed).
Das sieht so aus als ob du auf eine Caldav URL einen http-Get absetzt oder umgekehrt. Die URL mit oder ohne '/' am Ende macht da einen Unterschied, oder es liegt an http vs. https oder die Authentifizierungsmethode ist nicht kompatibel. Bei Baikal geht glaube ich nur 'simple'. Authentifizierung mit 'digest' kann glaub ich das von php unter der Decke verwendete CURL nicht (oder zumindest war das beim Curl Modul für php vor einigen Jahren so).

Offline

#17 11.09.2020 12:52:19

Slugger
Mitglied

Re: Extcal update

Nicht Wirklich ... habe in der Zwischenzeit herausgefunden, wie man den NC-Kalender in die HP einbindet, was auch im Moment reicht.

Ich schätze auch, das es an http vs. https liegen könnte.

Ich habe es aber nicht weiter verfolgt... wird irgendwann mal mit Sicherheit wieder auf den Teller kommen.


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4:  OK

Online

#18 11.03.2021 22:09:58

mrbaseman
Developer

Re: Extcal update

Ich habe das External Calendar Modul aktualisiert. Anlass war dass unser Hosting Anbieter neulich (vermutlich versehentlich) cURL Anfragen aus dem eigenen Webspace blockiert hat (nach draußen ging komischerweise). Damit in einem solchen Fall nicht die ganze Seite abgeschossen wird, sondern "nur" dieser eine Abschnitt nicht dargestellt wird, habe ich das jetzt abgefangen.

Außerdem können Kalender als ics File nun per absolutem Pfad (oder relativ zu WB_PATH) eingebunden werden.

Offline

#19 12.03.2021 06:37:38

florian
Administrator

Re: Extcal update

Das Modul erzeugt eine Deprecated-Meldung:

2021-03-12T06:36:53+01:00 [Deprecated] /modules/extcal/SG_iCal/helpers/SG_iCal_Parser.php:[80] from /modules/extcal/view.php:[271] SG_iCal->__construct "Array and string offset access syntax with curly braces is deprecated"

woraus folgt, dass die betr. Zeile geändert werden muss zu

while( isset($content[$i+1]) && strlen($content[$i+1]) > 0 && ($content[$i+1][0] == ' ' || $content[$i+1][0] == "\t" )) {

Code allein macht nicht glücklich. Jetzt spenden!

Offline

#20 12.03.2021 09:21:52

mrbaseman
Developer

Re: Extcal update

oh, da hab ich einen von Bernds Fixes übersehen. Die gleiche Zeile hab ich gestern schon editiert, aber die curly braces waren da 2x in Verwendung. Hätte ich doch besser die ganze Zeile per Copy&Paste rüber genommen... Fix anbei.

Offline

Liked by:

florian

#21 24.03.2022 19:18:53

trnoelli
Mitglied

Re: Extcal update

Hallo zusammen,
ich habe eine Frage zum Modul, bin erst recht kurz mit WBCE unterwegs, daher habe ich vielleicht einfach etwas übersehen.


Ich habe im Kalender ein paar Termine am gleichen Tag und würde in so einem Fall gerne nur einmal das Datum ausgeben allerdings zu jedem Termin dann die Uhrzeit.

Da man die opening- und closing- tags so schön konfigurieren kann habe ich die Uhrzeiten schon zu den Titeln bekommen, jedoch keine Option gefunden ein Datum z.B. zu überspringen wenn es bereits ausgegeben wurde.

Könnte man dafür z.B. einen Output-Filter nutzen?

Ein Beispiel im Anhang.
Danke für eure Hilfe.


WBCE 1.5.4, PHP 8.1.16, NWI, FullCalendar, Extcal, OneForAll, NWI Anywhere
WBCE 1.6.0, PHP 8.2.3, NWI

Offline

#22 24.03.2022 21:52:10

mrbaseman
Developer

Re: Extcal update

Slugger schrieb:

Ich habe hier ein Fehlermeldung, wenn ich versuche einen öffentlichen Kalender von einer Nextcloud einzubinden.
(....)
hat jemand eine Idee?
erster Eintrag ohne "/" am Ende keine Reaktion mit "/" am Ende -> Fehler

Oder wie muss der Link richtig lauten damit man eingetragene Termine sehen kann?

Da dieser Thread wieder zum Leben erweckt wurde, nehme ich die Gelegenheit wahr, hierauf ein Update zu geben (besser spät als nie):

Der Link muss lauten: http(s):/www.myclouddomain.de/remote.php/dav/public-calendars/ZjdaCdhASGkdjksdgUkd/
(getestet unter Nextcloud 19 aufwärts - ich hatte schlichtweg nicht mehr auf dem Plan, dass hier noch eine Frage offen war)

Domain und der kryptische String am Ende variieren natürlich und ob per http oder https abgefragt wird natürlich auch je nach Installation - sofern heute  überhaupt noch plain http zum Einsatz kommt...

Offline

#23 24.03.2022 22:14:18

mrbaseman
Developer

Re: Extcal update

Hallo trnoelli,

Ich habe im Kalender ein paar Termine am gleichen Tag und würde in so einem Fall gerne nur einmal das Datum ausgeben allerdings zu jedem Termin dann die Uhrzeit.

Das ist quasi in user_functions.php schon vorbereitet in der Funktion extcal_user_prepare_entry. Im dortigen Beispiel werden pro Monat überschriften eingefügt. Wenn du das auf Tage bezogen haben möchtest, dann ändere einfach den Aufruf date("F Y",$entry["start"]) zu  date("j. n. Y",$entry["start"]);
$entry_month würde man dann sinnvollerweise in $entry_date ändern - und natürlich nicht vergessen die Kommentarzeichen um die Funktion herum zu entfernen, denn das Beispiel ist standardmäßig auskommentiert.

Da man die opening- und closing- tags so schön konfigurieren kann habe ich die Uhrzeiten schon zu den Titeln bekommen, jedoch keine Option gefunden ein Datum z.B. zu überspringen wenn es bereits ausgegeben wurde.

Das Erscheinungsbild des "Datums" lässt sich in den erweitereten Optionen einstellen. Wenn du da einfach nur die Startzeit hinein nimmst, dann wird das Datum nicht mit ausgegeben - oder du übernimmst direkt statt {DATE} einfach nur  {START_TIME} mit in das Template für den Kalendereintrag.

Könnte man dafür z.B. einen Output-Filter nutzen?

das wäre ein wenig overkill für diesen Fall, da es sich schon mit den vorhandenen Templates in Verbindung mit den user functions lösen lässt.

Ein kleiner Hinweis sei dabei noch gegeben: Die user_functions sind global und wirken auf alle Abschnitte vom Typ extcal, während die Feineinstellungen der Templates für die Kalendereinträge in jedem Abschnitt separat vorgenommen werden können/müssen ;-)

viele Grüße,
Martin

PS: wir haben das Datum jeweils wiederholt und die Uhrzeit drunter gesetzt. Mit den vielen <div>'s lässt sich das mit css schon sehr flexibel gestalten und aufs jeweilige Template anpassen, wie zum Beispiel bei uns hier: https://www.stuttgart-nordstern.de/

Beitrag geändert von mrbaseman (24.03.2022 22:18:58)

Offline

#24 23.07.2022 09:35:22

florian
Administrator

Re: Extcal update

Beim Testen mit PHP 8.1 gibt es leider einige "Deprecated"-Einträge im Errorlog:

2022-07-23T10:30:24+02:00 [Deprecated] /modules/extcal/SG_iCal/helpers/SG_iCal_Line.php:[114] from /modules/extcal/view.php:[271] SG_iCal->__construct "Return type of SG_iCal_Line::offsetExists($param) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice"
2022-07-23T10:30:24+02:00 [Deprecated] /modules/extcal/SG_iCal/helpers/SG_iCal_Line.php:[121] from /modules/extcal/view.php:[271] SG_iCal->__construct "Return type of SG_iCal_Line::offsetGet($param) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice"
2022-07-23T10:30:24+02:00 [Deprecated] /modules/extcal/SG_iCal/helpers/SG_iCal_Line.php:[132] from /modules/extcal/view.php:[271] SG_iCal->__construct "Return type of SG_iCal_Line::offsetSet($param, $val) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice"
2022-07-23T10:30:24+02:00 [Deprecated] /modules/extcal/SG_iCal/helpers/SG_iCal_Line.php:[140] from /modules/extcal/view.php:[271] SG_iCal->__construct "Return type of SG_iCal_Line::offsetUnset($param) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice"
2022-07-23T10:30:24+02:00 [Deprecated] /modules/extcal/SG_iCal/helpers/SG_iCal_Line.php:[155] from /modules/extcal/view.php:[271] SG_iCal->__construct "Return type of SG_iCal_Line::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice"
2022-07-23T10:30:24+02:00 [Deprecated] /modules/extcal/SG_iCal/helpers/SG_iCal_Line.php:[162] from /modules/extcal/view.php:[271] SG_iCal->__construct "Return type of SG_iCal_Line::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice"
2022-07-23T10:30:24+02:00 [Deprecated] /modules/extcal/SG_iCal/blocks/SG_iCal_VCalendar.php:[51] from /modules/extcal/SG_iCal/helpers/SG_iCal_Parser.php:[149] SG_iCal_Factory::factory "Return type of SG_iCal_VCalendar::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice"
2022-07-23T10:30:24+02:00 [Deprecated] /modules/extcal/view.php:[474] from /framework/frontend.functions.php:[391] "preg_replace(): Passing null to parameter #2 ($replacement) of type array|string is deprecated"

Lässt sich das mit überschaubarem Aufwand beheben?


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#25 23.07.2022 21:38:15

mrbaseman
Developer

Re: Extcal update

muss ich schauen. SG_iCalParser wird anscheinend upstream nicht weiter gepflegt. Aber die Meldungen betreffen größtenteils die saubere Übergabe der Datentypen. Das müsste sich wohl hoffentlich mit ein paar casts hinbiegen lassen.

Offline

Fußzeile des Forums

up