Advent Calendar 6.1.2 pl 1

License Agreement
GNU Lesser General Public License (LGPL)
Website
https://www.woltlab.com/user/16488-agi/
Supported Versions
Burning Board 4.1 / WCF 2.1

An advent calendar for the Woltlab Community Framework. Design every day from 1-24 how do you like.

General: This plugin integrates an advent calendar into your forum. Your users can open one door every day to get surprised by the content you added in the ACP.


This plugin is a WCF plugin and can be used in every appliaction which you use.



Version compatibilities:

  • Version 5.1.x only works with WCF 1.1 (End of Life! Version gets eventually removed on 2017-01-01 by Woltlab due to the End of Life of Burning Board 3.1 and WCF 1.1).
  • Version 6.1.x only works with WCF 2.1. An adaptation for Woltlab Suite is NOT planned anymore. I did not program a WCF 2.0 version of this plugin due to time contraints.


Functions:

  • Content can be set in ACP for each day separatly.
  • BB-Codes, Smilies und HTML can be used if they are activated (see Screenshot).
  • Language variables can be used, but must be created separatly (not supported by this plugin).
  • You can also link one or more entries to another website. An external URL can be entered instead of content.
  • The Coordinates of every door can be edited and set to where you want them to be. This allows you to use own background images. By default 8 background images are included (Version 6.1.x).
  • You can use random background images which can alternative every page refresh.
  • On editing an entry you can reset the overwall-counter as well as the user-counter ("You have viewed this entry X-times, last time ...") separatly.
  • You can set the month (in ACP) the advent calendar can be entered. Therefore you could also used it for events in other months if you want.
  • If users want to enter the advent calendar too early or if users don't have the permission to enter, they see error messages (like "You can enter the Advent Calendar only in December!", or "You cannot open this entry yet!" or "Permission denied").
  • You can set that a door can only be opened on the day it points at: for instance door 5 can be opend only on 5th of the month and so on.
  • You can enable a background music for the adventcalender, which is played on entering the calendar and also on the content page of a day. The URL can be set in the options of Adventcalendar.
  • If the day is an advent sunday, you will see an extra information in entry details. The script calculates the advent sundays automatically every year.
  • On "special" days (December 5th, December 6th, December 23th, December 24th) you can optionally enable addional messages which are displayed above the entry of the specific day (see Screenshot).
  • You can see for each day, how often the entry was viewed in total. For a registered user, he can also see, from the second visit on, how often he has visited this entry yet (with the time of his last visit).
  • For administrators there exists a group right "Can always enter Advent Calendar without restrictions" which can be used for testing. If enabled, the Advent Calendar can always be entered and viewed for users with this user right, independant of other restrictions (month, day, ...).
  • From Version 6.1.x on the Advent Calendar can be disabled/enabled by a module in ACP.
  • From Version 6.1.x on group rights are only set for administrators by default. Other user groups have to be manually granted the rights. Reason for this decision is that users should only see the calendar when it's time to and administrators should have a chance to fill it with patiance.



I wish you a lot of fun with my plugin, a fine advent and Merry Christmas!
If you have questions or problems you can ask me via Conversation here at the Woltlab Support Forums.


I would be happy to get Feedback from you in the comments.

Images

  • Version 6.1.2 pl 1

    BUGFIX:
    • The calculation of the advent sundays was wrong in 1 specific case (when the 1st advent sunday was the first sunday after November 26th). This was fixed now (thanks Leandra for telling me).
  • Version 6.1.2

    Folgende Änderungen sind seit der letzten offiziellen Version (5.1.0) erfolgt:

    • Grundlegende Überarbeitung und Modernisierung des PHP- und Template-Codes
    • Anpassung der Strukturen, Methoden, Funktionsaufrufe, Verlinkungen, ... an das WCF 2.1.
    • Neue Hintergrundbilder, die erstmals dem Paket beiliegen
    • Hintergrundmusik wird, sofern im ACP aktiviert, nun über den HTML5 Tag <audio> eingebunden
    • Gäste können den Kalender nun ebenfalls in vollem Umfang betreten (sofern in den Gruppenrechten einstellt). Bisher konnten sie höchstens die Kalenderübersicht sehen, aber nicht mehr
    • Die Adventsonntage werden nun ebenfalls berechnet und beim Aufruf mit entsprechenden Hinweisen versehen
    • Benötigter HTML-Code wird nur noch in den dafür vorgesehenen Templates erzeugt, nicht mehr wie bisher teils im PHP-Code und teils im Template-Code
    • RELATIVE_WCF_DIR wurde durch WCF::getPath() ersetzt
    • » bzw. « wurden ersetzt durch „ bzw. ”
    • Die Möglichkeit zur Verschlüsselung von Türlinks wurde entfernt, da beim Betreten eines Eintrags sowieso die Zutrittsrechte überprüft werden
    • Das Zufallsbild der Kalenderübersicht wird, sofern Zufallsbilder im ACP aktiviert sind, nun mittels PHP-Code erzeugt, nicht mehr wie bisher, mit Javascript
    • Diverse Methoden, Funktionen und Klassen wurden überarbeitet (refactored), entschlackt, auf Sinnhaftigkeit und Logik überprüft und ggf. geändert, in andere Klassen verschoben oder überhaupt entfernt.
    • Sprachvariablen wurden überarbeitet und ggf. ergänzt oder entfernt
    • Im "Wer ist wo online" wird nun angezeigt, falls sich jemand den Adventskalender oder einen Eintrag daraus ansieht
    • Harmonisierung Versionierung (5.1 war WCF 1.1 => 6.0 wäre WCF 2.0 gewesen => 6.1. ist nun WCF 2.1)
    • Und sicher noch hie und da ein paar andere oder kleinere Dinge, die mir jetzt grade nicht mehr einfallen ^^


    Alles in allem lässt sich sagen, dass eine Menge Arbeit in der neuen Version steckt und ich hoffe, dass sie euch gefällt.
    Ich bin heuer leider etwas spät dran, drum hoffe ich, dass sich eine Freischaltung noch bis vor den 1.12.16 ausgeht.

  • Version 5.1.0

    - Version changed to 5.1. Reasons see above in description
    - "SID_ARG_2ND was not converted in WIW" was fixed


    - Various PHP Errors were fixed "AdventCalendarEditForm.class.php (135): Non-static method AbstractForm::validate() should not be called statically, assuming $this from incompatible contex"


    - The code was optimized, rewritten and new features were added (see above in description)

  • Version 1.0.0 pl 1

    • Mysql-Error in Mysql-Strict Mode fixed
    • Language Variables fixed.

  • Hi, how can I change the background image? Or to add others? And is possible to add 30 days instead of 24?

  • Guten Morgen , in den Türchen steht bei mir 1 November , 2 November etc es ist aber Dezember eingestellt .

    Wie kann man das ändern ?

    lg moni

  • Habe ein Problem, Türchen vom 3. Dez = 1. Advent zeigt oben die Information

    "Heute ist ein besonderer Tag!
    Heute ist der zweite Adventsonntag! Heute können Sie die zweite Kerze am Adventskranz entzünden.[Blocked Image: http://www.seelensturm.net/wcf/images/adventCalendar/adventSunday2.png]"


    Das kann nicht stimmen, denn da war ja erst der 1. Advent.

    Wo kann man das ändern.


    Wir möchten die Information drin lassen aber die richitge, also wenn 1. Advent ist sollte da nicht stehen es sein der 2. Advent. Wird dann wohl am 2. Advent, am Sonntag auch falsch angezeigt, dann hat der Kalender schon den 3. Advent bei der Info oben drin

    • Hi,


      ohne Gewähr, versuche Folgendes:


      Datei WCF-Verzeichnis\lib\data\advent\Advent.class.php bearbeiten. Suche nach Zeile 182:


      Code
      1. return date('j', strtotime('+'.$sundayNo.' sunday', mktime(0, 0, 0, 11, 26, $year)));


      und ersetze gegen:


      Code
      1. return date('j', strtotime('+'.$sundayNo.' sunday', mktime(0, 0, 0, 11, 27, $year)));



      Der Logik nach ist der frühestmögliche Termin für einen Adventsonntag jener nach dem 26.11. Habe mich da wohl um einen Tag vertan und er hat den 26.11. als 1. Adventsonntag berechnet. Durch diesen fix sollte der Kalender richtig rechnen.


      Ich teste es bei mir lokal auch gleich noch und wenn das den Fehler behebt, lade ich die Bugfix Version gleich hoch.



      // Edit: oben genante Methode behebt den Fehler => neue Version ist bereits erstellt und eingereicht. Sollte als Update auftauchen, sobald sie von der Moderation freigeschaltet wurde.

    • Vielen dank, das Update kam an und nun funktioniert es.


  • Lässt sich leider nicht in folgendes Forumsystem installieren


    WoltLab Suite Forum-Version 5.0.11
    WoltLab Suite-Version 3.0.11 pl 1

    • Jop, ist auch so kategorisiert und in der Beschreibung vermerkt. Habs nun nochmals etwas besser hervorgehoben.


      Die geplante Anpassung an die Woltlab Suite musste ich aus Zeitgründen leider auf Eis legen, tut mir Leid. Vielleicht geht sie sich im kommenden Jahr aus. ;)


      Trotzdem einen schönen Advent!

    • Danke, Dir / Euch auch.

      Schade, hätte den Mitglieder gern was geboten.

      Dann wünsche ich mir das zu Weihnachten 2018 ;)

    • Jop, tut mir Leid. Werde schauen, dass es sich für Weihnachten 2018 ausgeht. ;-)

  • Türchen Heute (17.12.) lässt sich nicht öffnen, obwohl ein Inhalt drin ist. Was ist da los?
    Geht das nun mit den anderen Türchen auch so?
    Wenn ja dann hätte ich mir die ganze Mühe sparen, die Einträge im Forum als einzelne Threads lassen können, statt alles mühevoll in Kalender einstellen.


    Nachtrag
    Eine Std nach dem das eine Türchen nicht aufging spinnt nun der ganze Kalender. Teilweise gar nicht zu öffnen, teilweise sagt der das kein Inhalt da sei. Was nicht stimmt!! Habe bis und mit Heute alle Türchen gefüllt und ist im ACP auch zu sehen!

  • "Version 6.1.x ist nur mit dem WCF 2.1 kompatibel (WCF 2.0 ist ungetestet und Funktionalität dort ist nicht garantiert)"
    Ich sehe unter Versionen nur die 5.1.0 und die vorherige 1.0.0


    Gibt es die 6.1.x überhaupt irgendwo?

    • Ja, auf Anfrage schicke ich sie derzeit per PN (Konversation), auf eigene Verantwortung. Hier wurde Version 6.1.x letztes Jahr nicht freigeschalten, weil es noch Optimierungsbedarf gab (funktioniert hat sie und gab meines Wissens auch keine Sicherheitslücken, nur Optimierungswünsche, um dem aktuellen WCF Standard zu entsprechen). Hatte dann leider nur keine Zeit mehr, die Optimierungen vorzunehmen und nochmals hochzuladen.


      Ich schick dir ne Nachricht und schaue, ob ich dieses Wochenende vielleicht die gewünschten Optimierungen noch hinbiegen kann, um die Datei erneut einzureichen (damit sie auch offziell wieder hier ist).

    • Das wäre echt super wenn das hinkriegst mit den Optimierungen, weil ich denke da hätten auch andere noch Interesse dran und es geht ja schon bald los mit Türchen öffnen.

  • Super Plugin, nur ich finds einbisschen schade dass er nicht schreibt wer als erstes, zweites ect. das Türchen geöffnet hat.

  • Super Plugin, jedoch hat es einiges zerlegt. -> HTML hat im Forum keine Auswirkung mehr + BB Codes auch nicht. Bitte um Hilfe :) !

  • Übermorgen ist der 1.12. !
    Kann man vorher noch mit der Version 6.1 rechnen, würde auch dafür bezahlen.
    Gruß

  • ich kann das nicht mal installieren :( (Das Paket „com.agi.wcf.adventkalender“ enthält keine gültigen Installations-Anweisungen.)

    • Version 5.1.0 lässt sich nur im WCF 1.1 installieren.
      Für ein neueres WCF bräuchtest du Version 6.1 vom Kalender. Die Freischaltung wird aber wohl noch etwas dauern.

    • Echt bedauerlich, dass das Plugin scheinbar vor allem in diesem Fall nicht bei der Freischaltung priorisiert wird. Am kommenden Sonntag ist der 1. Advent und viele möchten sicherlich ungerne in einer Nacht und Nebel-Aktion den Adventskalender konfigurieren oder aber auf dieses Plugin verzichten müssen. Für mich ist bei dem Adventskalender vor allem das integrierte Gewinnspiel wichtig und das bietet das Alternativplugin im Store leider überhaupt nicht.

    • Öhm, also mein Plugin hatte nie ein Gewinnspiel integriert ... sorry.


      Zur Info: Die urspr. Version wurde leider abgelehnt, da es noch Verbesserungspotenzial gibt. Ich bin aber dran, die verbesserte Version möglichst rasch "an den Start" zu bringen.
      Da die Zeit jedoch drängt, kann ich anbieten, die abgelehnte Version quasi als "Beta" auf eigene Gefahr zur Verfügung zu stellen, damit ihr den Kalender vorbereiten könnt => dann bitte PN an mich.


      Ein Update auf die verbesserte Version wird dann selbstverständlich möglich sein.

  • Warte Sehnlichts auf die 6.1 Version!!

  • wäre prima wenn ihr es in den nächsten 10 tagen schaffen könntet

  • Wie komme ich an die Version 6.1? Vielen Dank.

    • Ist derzeit noch in Begutachtung durch die Moderation. Sollte aber bald freigeschalten werden (hoffe ich). :)

  • Ist eine Umsetzung für WBB4 geplant?

    • Ich habe es geplant, kann es allerdings nicht versprechen (kommt drauf an, wie ich diesen Sommer neben Beruf dazukomme).

  • Ich nutze das Plugin nun schon Jahre, bereits im Wbb2! Ich danke dir Agi für das tolle Plugin, das immer funktioniert hat und mir persönlich nie irgendwelche Probleme gemacht hat! Im Gegenteil, selbsterklärend und sehr umfangreich! DANKE!!!

    • Vielen Dank für das positive Feedback! Freut mich sehr, dass es gefällt. :)

    • Ist eine tolle Idee <3 Aber eine Kurzanleitung wo man welche Einstellungen finden kann wäre wirklich hilfreich... Gerade verzweifel ich hier, weil ich keine grundlegenden Einstellungen tätigen kann :(

    • Hallo Phoebe, Zuerst die Gruppenrechte einstellen: Da findest du sowohl bei "Allgemeine Rechte" einen Sub-Eintrag "Adventskalender" als auch unter "Administrative Rechte". Allgemein gibt an, wer den Kalender wie wann betreten darf; die Admin Rechte geben an, wer den Kalender konfigurieren darf. Dir als Admin solltest du am besten überall alle Haken setzen, speichern.


      Anschließend findest du unter "System -> Allgemein" einen Reiter "Adventskalender", wo du die Einstellungen festlegen kannst. Ich habe mich bemüht, die Einstellungen ausführlich zu beschreiben, sodass daraus hervorgehen sollte, was wofür ist.


      Ich hoffe, dass dir das weitergeholfen hat. Ansonsten, falls noch Fragen offen sind, einfach wieder melden. ;)

  • Herzlichen Dank für dieses Plugin und die Weiterentwicklung.
    Ich habe soeben das Update (Version 5.1) installiert und musste nur die Hintergrundgrafik in das verwendete Image - Verzeichnis kopieren und den Dateinamen anpassen sowie dem Team das den Kalender bearbeitet die Rechte zuordnen.


    Frohe Weihnachten !

  • Ich finde die Idee wirklich gelungen, allerdings fehlen mir in Bezug auf das implementierte Gewinnspiel einige Hilfen.


    Wer sind zum Beispiel die teilnehmenden Mitspieler?
    Was bedeutet (Datum (zwischen 1 und 24)) ?
    Wie erfahre ich als Admin vom Gewinner?


    Noch etwas: Dein Supportforum nervt: Anmeldung funktioniert nicht, Emails kommen nur wenn man sie sich noch einmal senden lässt, Weiterleitung funktioniert nicht. Ich habe mir deshalb erlaubt hier zu posten, weil ich doch schon gerne eine Lösung hätte.


    Verlosung 1. -24. Dezember
    Heute, am 27.12. ist immer noch nichts passiert. Wo kann ich den Gewinner sehen?

  • bis PHP5.3 funktioniert das Plugin super, ab 5.4 gibt es folgende Meldung beim Editieren:


    >>>
    AdventCalendarEditForm.class.php (135): Non-static method AbstractForm::validate() should not be called statically, assuming $this from incompatible context
    <<<


    sollte gefixt werden

  • Hallo, ich habe gerade das Adventplugin installiert, doch leider finde ich unter Allgemein keinen Reiter mit Adventskalender... Was mach ich da falsch?

  • Nach anfänglichen Schwierigkeiten läuft das Plugin nun super. Die Inhalte sind einfach einzufügen. Vielen Dank dafür :)

  • Also ich weiß nicht ob es an mir liegt, aber ich finde nirgends den Reiter Adventskalender wo ich alles einstellen kann.
    Oder ist er doch nicht unter Allgemein zu finden. Oder geht das bei den Burning Board lite nicht

  • Muss sagen das ist ein richtig klasse Plugin, habs heuer verpasst. Jetzt bringts auch nix mehr. Aber für nächstes Jahr merk ich mir das. ;)