Posts by WollZi

    Wobei ich es grundsätzlich als nicht sinnvoll betrachte, Gästen Schreibrechte zu gewähren

    Für Online-Plattformen sehe ich das auch so, allerdings beschränkt sich die Software nicht nur darauf. Für den Einsatz in einem Intranet kann das aber schon ganz anders aussehen. Ich bin froh, dass WoltLab da immer etwas weiter denkt.

    Unabhängig vom Vorschlag könnte ich vorerst mit einem Plugin aushelfen. Live kann das unter https://arg-forum.de/calendar/yearly/ oder auch https://arg-heusenstamm.de/calendar/yearly/2021/ angeschaut werden. Das Plugin bietet darüber hinaus noch weitere Funktionen, die aber einzeln aktiviert bzw. deaktiviert werden können.


    Das Plugin wird regelmäßig an die neueste Kalenderversion angepasst. Eine parallele Entwicklung für verschiedene Versionen wird es allerdings nicht geben.

    Falls Interesse besteht, einfach bei mir melden.

    Schaue doch bitte mal im Fall 2, nachdem du Benutzer 2 gelöscht hast, ob bei Benutzer 4 noch entsprechende Rechte vergeben sind.

    Mir ist das auch schon passiert, dass dann plötzlich der letzte Benutzer keine Rechte mehr hatte (obwohl vorher gesetzt). Beim Speichern werden dann natürlich alle Objekte, denn nichts zugeordnet wurde, entfernt.

    Genau, das regelt man über die Berechtigung in den Kalenderkategorien. Einfach jeden ausschließen und die Gruppe der Admins die entsprechenden Rechte vergeben.

    Hallo,

    in vielen Klassen sind nun den PHP-Befehlen wie bspw. sort, in_array, count usw. ein Backslash vorangestellt.

    Wird damit der eigentliche PHP-Befehl maskiert (gegenüber eigenen Konstrukten) und sollte das grundsätzlich ab jetzt für eigene Plugins übernommen werden?

    Schon klar. Nur, wenn mehrere Bilder (keine andere Medien) zum Einfügen ausgewählt wurden und sich mindestens eins darunter befindet, für das eine Auswahl der Vorschaugröße sinnvoll wäre, dann könnte man doch dafür eine Änderung der Vorschaugröße anbieten und die anderen in ihrer ursprünglichen Größe belassen. Sozusagen invers zum momentanen Vorgehen.


    Beim Einfügen der Bilder bin ich irrtümlich davon ausgegangen, dass die Medien in der Reihenfolge ihrer Auswahl eingefügt werden und nicht nach ihrer ID.

    Wähle ich in der Medienverwaltung mehrere Bilder zum Einfügen aus und befindet sich darunter mindestens ein Bild, für das der Dialog zur Änderung der Größe des Vorschaubildes nicht angezeigt werden müsste, wird der Dialog grundsätzlich nicht angezeigt und alle Bilder werden in ihrer Originalgröße eingefügt. Gleichzeitig ändert sich die ausgewählte Reihenfolge derart, dass das kleinste Bild immer zuerst eingefügt wird.

    1. Szenario:

    Beim Versuch, identische Medien (z. B. Bilder) für mehrsprachige Artikel einzufügen, für die zusätzlich der Dialog zur Bildgröße angezeigt wird, gibt es einen Fehler (siehe Anhang). Dabei bin ich wie folgt vorgegangen:

    • neuer mehrsprachiger Artikel im Frontend erstellt
    • unter Inhalt für "Deutsch" einen kleinen Text eingegeben und zwei Bilder über die Medienverwaltung (kleines Vorschaubild) ausgewählt und eingefügt
    • auf "Englisch" gewechselt, ebenfalls einen kleinen Text erstellt und versucht dieselben Bilder noch einmal einzufügen
    • nach Bestätigung der Abfrage zur Bildgröße bleibt der Dialog offen und die Konsole zeigt die Fehlermeldung

    Dabei ist es unrelevant, welche Sprache zuerst gewählt wurde. Sobald sich die eingefügten Bilder nur um ein Bild unterscheiden, zeigte sich der Fehler nicht.


    2. Szenario:

    Ich wähle jetzt für den Artikel Bilder, die klein genug sind (48px/48px), so dass der Dialog zur Bildgröße nicht angezeigt wird.

    • z. B. zwei Bilder für "Deutsch" in der Medienverwaltung ausgewählt und eingefügt
    • auf "Englisch" gewechselt und zwei andere kleine Bilder ausgewählt - nun wird die doppelte Anzahl der ausgewählten Bilder in den Editor eingefügt
    • wechselt man nun zurück auf "Deutsch" und möchte noch zwei weitere kleine Bilder einfügen, scheint die Medienverwaltung ihren Dienst zu verweigern - eine Fehlermeldung erscheint nicht

    Machbar wäre das - allerdings dann generell für alle Termineingaben. Wenn bspw. ein Nutzer einen neuen Termin mit der 1. Variante (ohne vorausgewählte Kategorie) erstellt und nachträglich doch die Kategorie ändern möchte, wäre das nicht mehr möglich. Da solltest du gut überlegen, ob das für alle zukünftigen Kategorien so funktionieren soll.


    Falls ja, wäre der schnelle Weg, das Template eventAdd in eine eigene Templategruppe zu kopieren und entsprechend zu ändern. Allerdings musst du, falls bei einem Update der Kalendersoftware das Template geändert wurde, auch dein Template ändern.

    Wichtig: Das Ausblenden der Kategorieeingabe kann nur per CSS erfolgen, da andere Prozesse davon abhängen.


    Du könntest in Zeile 27 des Templates folgenden Code eintragen:

    HTML
    <div{if $categoryID} style="display:none;"{/if}>

    und in Zeile 51 das div-Element wieder schließen, also

    Code
    </div>


    Eine andere Möglichkeit wäre, das per TemplateListener über ein geeignetes Event zu realisieren. Allerdings wäre dazu ein Plugin notwendig.

    Ich gehe jetzt mal davon aus, dass du die farbliche Gestaltung in der Monatsansicht meinst, da die Termine in den anderen Ansicht auch nicht gefärbt sind.

    so angezeigt werden wie andere Termine mit Kategorie

    Dann müsste unter "Individuelles CSS und SCSS" folgender Code hinterlegt werden:

    Für color und background-color kannst nun die Farben deiner Wahl eintragen.


    Falls es reicht, nur den eigentlichen Text farbig zu gestalten, können alle Code-Zeilen bis auf color: #FFF; // Textfarbe innerhalb des Code-Blocks gelöscht werden.

    Da hast du den Spatz aber mit einer fetten Kanone abgeschossen ;) . Im Prinzip reicht auch .content > .htmlContent a.

    Allerdings befürchte ich, dass mit dieser Methode auch andere Links selektiert werden.


    Der bessere Weg wäre, einen eigenen BBCode dafür zu erstellen oder natürlich das konkrete Ansprechen wie von SoftCreatR vorgeschlagen. Das bedeutet dann aber auch, für jeden Link so vorzugehen. Bei zunehmender Artikelanzahl sehr anstrengend.

    Danke, habe ich nun gemacht. Das Hauptproblem scheint wohl diese Meldung bzgl. des Arbeitsspeichers zu sein:


    PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 8192 bytes) in /mnt/web322/a1/13/5176213/htdocs/forum/wcf/lib/util/DirectoryUtil.class.php on line 232

    Ich versuche gerade verzweifelt die WoltLab eigenen Apps (Core, Forum, Blog und Kalender) upzudaten. Klicke ich auf Absenden, passiert einfach nichts. Andere Apps (z. B. Viecode Formulare) funktionierten einwandfrei. Meine aktuellen Versionen sind:

    Core: 5.3.4

    Kalender: 5.3.2

    Blog: 5.3.2

    Forum: 5.3.3


    Auch ein manuelles Update scheitert. Nach dem Upload passiert beim Klick auf den "Weiter-Button" ebenfalls nichts. Kann mir da jemand weiterhelfen?

    Im Template calendar.tpl ist die Sidebar direkt auf der rechten Seite festgelegt und kann daher nicht wie bei gewöhnlichen Boxen über das ACP geändert werden. Damit bleibt nur der Weg, das Template selbst zu ändern (eigene Templategruppe anlegen - falls nicht schon vorhanden, Template kopieren und dann ändern).


    Ersetze im kopierten Template die Befehlszeile {capture assign='sidebarRight'} (wahrscheinlich Zeile 22) durch {capture assign='sidebarLeft'}. Allerdings wirst du das bei den Templates weekly.tpl, daily.tpl, und yearly.tpl auch anpassen müssen (falls notwendig), da dort die Inhalte ebenfalls in der rechten Sidebar liegen.

    Wie kann man wenn jemand ausversehen den Termin abgesagt hat, ihn wieder herstellen?

    Das ist leider so nicht möglich, weshalb auch ein entsprechender Hinweis beim Absagen erscheint. Sollte es für den Termin eine Teilnehmerliste geben, wurden die Teilnehmer bestimmt entsprechend benachrichtigt und das lässt sich nicht rückgängig machen.


    Geht es nur darum einen Termin wieder als ungelöscht erscheinen zu lassen, wäre ein Eingriff in die Datenbank notwendig. Dazu benötigst du zunächst die ID des Events (die sich leicht über die aufgerufenen URL bestimmen lässt). In der Tabelle calendarN_event_date ermittelst du nun in der Spalte eventDateID das zugehörige Event. Für dieses Event müssen folgende Einträge geändert werden:


    cancelTime durch die Zahl 0 ersetzen

    canceledByUserID durch den Wert NULL ersetzen (nicht die Zahl 0)

    canceledByUsername den Inhalt löschen (Leerstring)


    Wie gesagt, wenn möglich, sollte man eine Neuerstellung des Termins als erste Option wählen.

    Hallöchen,

    momentan verzweifle ich an einem Vorhaben und bräuchte mal etwas Hilfe.

    Dem Redactor-Editor habe ich ein Button hinzugefügt, der beim Klick ein Dropdown-Menü öffnet, über das bestimmte Inhalte für einen Content-Slider in den Editor eingefügt werden. Diese Inhalte werden von BBCodes umschlossen und entsprechend geparst.



    Das zugehörige Plugin für den Editor ist:

    (Die mehrsprachigen Texte sind aktuelle noch nicht angepasst.) Nun möchte ich, wenn der Eintrag "Galerie" im Dropdown ausgewählt wurde, dass die Medienverwaltung geöffnet wird. Und hier komme ich einfach nicht weiter. Einer meiner Ansätze war bspw. in die Init-Funktionen folgenden zusätzlichen Code einzufügen:

    JavaScript
    require(['WoltLabSuite/Core/Media/Manager/Editor'], function(MediaManagerEditor) {
        new MediaManagerEditor({    
            buttonClass: 'redactor-dropdown-gallery',
            editor: this
        });
    });

    Funktioniert nicht und daher wohl auch der falsche Ansatz ;( . Wo und mit welchen Optionen muss ich den MediaManagerEditor aufrufen?