Ankündigung

Einklappen
Keine Ankündigung bisher.

calendar hat Probleme mit Kalendernamen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    calendar hat Probleme mit Kalendernamen

    Hallo,

    in den Kalenderfunktionen können keine Leerzeichen und Punkte verwendet werden!
    Ich verwende 5 Kalender mit folgenden Namen:
    1. persönlich
    2. feiertage
    3. div. geburtstage
    4. geburtstage von kontakten
    5. abfall
    Diese Kalender werden in verschiedenen Anwendungen und von mehreren Benutzer verwendet, eine Umstellung auf andere
    Namen ist zu aufwendig!
    Bei 1,2 und 5 funktioniert jede Kombination, egal ob ich es als Parameter übergebe oder in der in der Konfiguration einstelle!
    Sobald 3 und/oder 4 enthalten sind werden diese einfach Ignoriert.
    Verwende ich nur 3 oder 4 kommt folgende Fehlermeldung!

    Screenshot 2022-01-11 110858.png

    Diese Verhalten habe ich in V2.9,V3.0,V3.1 und jetzt auch in V3.2.
    Testsystem Raspberrypi, fhem, php7.3, Apache2, nextcloud 23.0.0!

    Gruß

    Johann
    Zuletzt geändert von wvhn; 13.01.2022, 12:40. Grund: Status gelöst gesetzt

    #2
    Nur geraten - kannst Du mal bitte versuchen, die betroffenen Kalenderstrings in mit '\' maskierte Anführungszeichen zu setzen?

    Beispiel für meine <smartvisu-dir>/config.ini:
    Code:
    calendar_name = "k1,muell"
    Daraus würde dann:
    Code:
    calendar_name = "k1,\"ein name mit leerzeichen\",muell"
    parse_ini_file sollte in allen php-Versionen damit umgehen können.

    Alternativ auch mal probieren:
    Code:
    calendar_name = "k1,'ein name mit leerzeichen',muell"
    /tom

    Kommentar


      #3
      Hallo Tom!

      Versuche:
      1. calendar_name = "persönlich,feiertage,"div. geburtstage","geburtstage von kontakten",abfall"
      2. calendar_name = "persönlich,feiertage,'div. geburtstage','geburtstage von kontakten',abfall"
      3. calendar_name = "persönlich,feiertage,div. geburtstage,geburtstage von kontakten,abfall"
      Bei allen drei Versuchen wurden immer nur die Kalender persönlich, feiertage und abfall ausgegeben!
      Ich habe mich auf der Konfig-Seite bei jedem Versuch überzeugt, dass die Werte übernommen wurden!

      Gruß
      Johann

      Kommentar


        #4
        Der \ (Backslash) ist zum Maskieren in 1. wichtig. Ist aber nur geraten - entweder liest er das schon nicht richtig aus der config.ini, oder später beim Ansprechen der Kalender läuft was schief.
        /tom

        Kommentar


          #5
          Hoppla, da hat sich der Kopierteufel eingeschlichen!

          1 sollte eigentlich
          Code:
          calendar_name = "persönlich,feiertage,\"div. geburtstage\",\"geburtstage von kontakten\",abfall"
          sein!

          Der Editor nimmt hier die Backslash raus!
          Beobachter
          Forums-Einsteiger
          Zuletzt geändert von Beobachter; 12.01.2022, 12:50.

          Kommentar


            #6
            Wir hatten letztes Jahr hier schon mal an der ./lib/calendar/calendar.php gebastelt. Ich habe mir jetzt in iCloud einen Kalender namens "div. Geburtstage" angelegt und bei mir funktioniert die Anzeige, wenn ich in der calendar.php die Zeile 44 ändere in
            Code:
             $this->calendar_names = preg_split('/,\s/m', strtolower($request['calendar']));
            Es ist nochmal eine andere Variante der RegEx, die die Kalendernamen nur durch aufeinanderfolgende Kommas mit Leerzeichen trennt. So reiht das Widget die Kalendernamen für den PHP query string aneinander. Die übrigen Leerzeichen bleiben unverändert.

            Wenn das bei Dir auch die Lösung ist, dann nehme ich die Änderung ins nächste Release.

            Gruß
            Wolfram

            Kommentar


              #7
              Ja, die Änderung funktioniert!

              Danke

              Gruß
              Johann

              Kommentar

              Lädt...
              X