Gibt es einer Poi erweiterung für den Kalender?

  • Halöchen,

    Wenn termine im Kalender mit adresse stehen, kann man diese nicht über die plz suchen bzw. finden. POIs allerdings schon. Nun wäre es also praktisch, wenn man die adreseen über die POIs irgendwie einfügen könnte und oder man über den Kalender auch automatisch ein POI anlegen könnte, damit Events auch gefunden werden, wenn man in der Suche nur die Plz eingibt.


    Gruß Flo

  • UdoZ

    Added the Label Won't be implemented
  • Puh, das wäre ein großer Aufwand für einen zweifelhaften Nutzen.

    Ich halte einen Vorschlag an WoltLab für sinnvoller. Es braucht nur insgesamt 2 Zeilen Code, um die Kalender-Suche um die Ortsangabe zu erweitern.

    Leider sieht Woltlab diesbezüglich kein Handlungsbedarf. Deswegen versuche ich es doch nochmal hier.

    Wäre die Umsetzung sehr groß bis zu unmöglich? Das der Kalender irgendwie die POIS nutzt?


    Gruß Flo

  • Sorry, eine Verbindung mit POI wird es nicht geben. Man kann zudem die Kalender-Suche nicht über eine Erweiterung beeinflussen.


    Ich kann nur aufzeigen, wie man den Kalender manuell anpassen kann, um die Suche nach Adressen zu ermöglichen. Es müssen 2 Dateien geändert werden, die für die Suche verantwortlich sind: calendar\lib\data\event\EventAction.class.php und calendar\lib\system\worker\EventRebuildDataWorker.class.php.

    EventAction ist für das Erstellen / Ändern von Terminen, EventRebuild... für das Anzeigen aktualisieren (Termine aktualisieren)


    Diese enthalten einen Codeabschnitt

    Code
    SearchIndexManager::getInstance()->set(
        'com.woltlab.calendar.event',
        $event->eventID,
        $event->message,
        $event->subject,
        $event->time,
        $event->userID,
        $event->username,
        $event->languageID
    );


    In den kann man die Adressdaten 'reinmogeln':


    Code
    SearchIndexManager::getInstance()->set(
        'com.woltlab.calendar.event',
        $event->eventID,
        $event->message.' '.$event->location.' '.$event->customLocation,
        $event->subject,
        $event->time,
        $event->userID,
        $event->username,
        $event->languageID
    );

    message darf 16MiB groß sein, weswegen ich hier auf die Prüfung der Länge des Feldes nach Ergänzung verzichtet habe.


    Termine aktualisieren und danach kann man z.B. nach PLZ suchen.