Terminliste universal V2.6 mit sKalender u. Mehrfachtermin
Re: Terminliste universal V2.6 mit sKalender u. Mehrfachtermin
Hallo,
ich habe die Terminliste 2.6 erfolgreich in C-4.8.11 integriert - Jedoch benötige ich wie im Teaser schon möglich - auf der Terminlistenseite eine Ausgabe des Teaserbildes. Im Modul-template gibt es da auch 2 Variablen die sich [IMG1] und [IMG2] nennen... die jedoch ohne Werte vom Modul stehen.
Ich finde auch im Output-Modul (Terminliste_universal v2.6) keine Logik zu den Variablen...
Hat da jemand sich auch schon mit beschäftigt oder muss ich die beiden Module zusammenmixen?
Habe mir schon beide mal angeschaut - aber so schlau werde ich daraus leider noch nicht....
Wäre dankbar für Anregungen etc....
Gruss Gassi
ich habe die Terminliste 2.6 erfolgreich in C-4.8.11 integriert - Jedoch benötige ich wie im Teaser schon möglich - auf der Terminlistenseite eine Ausgabe des Teaserbildes. Im Modul-template gibt es da auch 2 Variablen die sich [IMG1] und [IMG2] nennen... die jedoch ohne Werte vom Modul stehen.
Ich finde auch im Output-Modul (Terminliste_universal v2.6) keine Logik zu den Variablen...
Hat da jemand sich auch schon mit beschäftigt oder muss ich die beiden Module zusammenmixen?
Habe mir schon beide mal angeschaut - aber so schlau werde ich daraus leider noch nicht....
Wäre dankbar für Anregungen etc....
Gruss Gassi
Re: Terminliste universal V2.6 mit sKalender u. Mehrfachtermin
In der Terminliste ist kein Bild vorgesehen; nur in der Terminanzeige und im Terminteaser. Da musst du dir wohl selbst etwas passendes basteln.gassi hat geschrieben:Hallo,
ich habe die Terminliste 2.6 erfolgreich in C-4.8.11 integriert - Jedoch benötige ich wie im Teaser schon möglich - auf der Terminlistenseite eine Ausgabe des Teaserbildes.
Hat da jemand sich auch schon mit beschäftigt oder muss ich die beiden Module zusammenmixen?
Habe mir schon beide mal angeschaut - aber so schlau werde ich daraus leider noch nicht....
[IMG1] und [IMG2] habe ich bei keinem Modul-Template gefunden; es gibt ja mehrere.Im Modul-template gibt es da auch 2 Variablen die sich [IMG1] und [IMG2] nennen... die jedoch ohne Werte vom Modul stehen.
Ich finde auch im Output-Modul (Terminliste_universal v2.6) keine Logik zu den Variablen...
Re: Terminliste universal V2.6 mit sKalender u. Mehrfachtermin
Sagt mal hat einer von euch schon mal vor dem Problem gestanden, dass die Terminsuche mit "Kategorie A" ODER "Kategorie B" in eine UND-Suche gewandelt werden soll. So dass sich die Kategorien gegenseitig ausschließen.
Als Beispiel, in der Kategorie A ist ein Ort hinterlegt und in Kategorie B die Art des Termins, also Messe, Kongress oder so.
Wähle ich jetzt in A Köln und in B Messe aus, dann kommen alle Termine in Köln und Messen werden nicht mehr berücksichtigt. Es ist also alles ODER-Verknüpft, wie ändert man das? Habt ihr einen Tipp?
Danke
Als Beispiel, in der Kategorie A ist ein Ort hinterlegt und in Kategorie B die Art des Termins, also Messe, Kongress oder so.
Wähle ich jetzt in A Köln und in B Messe aus, dann kommen alle Termine in Köln und Messen werden nicht mehr berücksichtigt. Es ist also alles ODER-Verknüpft, wie ändert man das? Habt ihr einen Tipp?
Danke
-
- Beiträge: 203
- Registriert: Mo 7. Mai 2007, 09:05
- Kontaktdaten:
Re: Terminliste universal V2.6 mit sKalender u. Mehrfachtermin
Hallo Zusammen,
mein sKalender bricht gelegentlich komplett insich zusammen und zeigt dann nur noch eine Fehlermeldung nach der anderen an. Hat jemand eine Idee was das Problem ist?
mein sKalender bricht gelegentlich komplett insich zusammen und zeigt dann nur noch eine Fehlermeldung nach der anderen an. Hat jemand eine Idee was das Problem ist?
Code: Alles auswählen
<div class="kalenderfelder"> </div>
<div class="kalenderfelder"> </div>
<div class="kalenderfelder"> </div>
<div class="kalenderfelder"> </div>
<div class="kalenderfelder"> </div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochenende"><a class="tag" title="Für den 01.03.2009 existieren keine Termine.">1</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochentag"><a class="tag" title="Für den 02.03.2009 existieren keine Termine.">2</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochentag"><a class="tag" title="Für den 03.03.2009 existieren keine Termine.">3</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochentag"><a class="tag" title="Für den 04.03.2009 existieren keine Termine.">4</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochentag"><a class="tag" title="Für den 05.03.2009 existieren keine Termine.">5</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochentag"><a class="tag" title="Für den 06.03.2009 existieren keine Termine.">6</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochenende"><a class="tag" title="Für den 07.03.2009 existieren keine Termine.">7</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochenende"><a class="tag" title="Für den 08.03.2009 existieren keine Termine.">8</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochentag"><a class="tag" title="Für den 09.03.2009 existieren keine Termine.">9</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochentag"><a class="tag" title="Für den 10.03.2009 existieren keine Termine.">10</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochentag"><a class="tag" title="Für den 11.03.2009 existieren keine Termine.">11</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochentag"><a class="tag" title="Für den 12.03.2009 existieren keine Termine.">12</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochentag"><a class="tag" title="Für den 13.03.2009 existieren keine Termine.">13</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochenende"><a class="tag" title="Für den 14.03.2009 existieren keine Termine.">14</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochenende"><a class="tag" title="Für den 15.03.2009 existieren keine Termine.">15</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder heute"><a class="tag" title="Für den 16.03.2009 existieren keine Termine.">16</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochentag"><a class="tag" title="Für den 17.03.2009 existieren keine Termine.">17</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochentag"><a class="tag" title="Für den 18.03.2009 existieren keine Termine.">18</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochentag"><a class="tag" title="Für den 19.03.2009 existieren keine Termine.">19</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochentag"><a class="tag" title="Für den 20.03.2009 existieren keine Termine.">20</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochenende"><a class="tag" title="Für den 21.03.2009 existieren keine Termine.">21</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochenende"><a class="tag" title="Für den 22.03.2009 existieren keine Termine.">22</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochentag"><a class="tag" title="Für den 23.03.2009 existieren keine Termine.">23</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochentag"><a class="tag" title="Für den 24.03.2009 existieren keine Termine.">24</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochentag"><a class="tag" title="Für den 25.03.2009 existieren keine Termine.">25</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochentag"><a class="tag" title="Für den 26.03.2009 existieren keine Termine.">26</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochentag"><a class="tag" title="Für den 27.03.2009 existieren keine Termine.">27</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochenende"><a class="tag" title="Für den 28.03.2009 existieren keine Termine.">28</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochenende"><a class="tag" title="Für den 29.03.2009 existieren keine Termine.">29</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochentag"><a class="tag" title="Für den 30.03.2009 existieren keine Termine.">30</a></div>
<br>
<b>Warning</b>: array_keys() [<a href="function.array-keys">function.array-keys</a>]: The first argument should be an array in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>873</b><br>
<br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/web194/html/cms/cms/front_content.php(954) : eval()'d code</b> on line <b>874</b><br>
<div class="kalenderfelder wochentag"><a class="tag" title="Für den 31.03.2009 existieren keine Termine.">31</a></div>
Re: Terminliste universal V2.6 mit sKalender u. Mehrfachtermin
du versuchst eine Schleife zu durchlaufen und hast KEIN array zur verfügung, eigentlich ganz klare sache.
Das sagt eindeutig aus: Ungültiges Argument geliefert für "foreach()"
Kannst du abfangen, wenn du das um die foreach() legst:
http://www.selfphp.de/funktionsreferenz ... _array.php
Das sagt eindeutig aus: Ungültiges Argument geliefert für "foreach()"
Das entsteht, wenn man bereits einen Wert (auch wenn dieser 0 oder NULL sein sollte) aber KEIN Array an die Schleifen-Funktion übergibtInvalid argument supplied for foreach()
Sagt zudem klar und eindeutig aus, dass -> Übersetzung: Das erste Argument sollte ein Array seinThe first argument should be an array in
Kannst du abfangen, wenn du das um die foreach() legst:
Code: Alles auswählen
if (!is_array($<<deinevariable>>)) {
echo '$<<deinevariable>> ist kein array';
} else {
//-- Hier dann deine foreach() reingepackt
}
MfG, Karsten
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)
Re: Terminliste universal V2.6 mit sKalender u. Mehrfachtermin
Guten Tag!
Super Module.
Ich wunsche ein Kontaktformular einfügen an jede Termin um die Leute sich anmelden.
So die Leute sind auf ein Detail von Termin (wie ein Seminar) und schiken ein mail durch ein kontaktformular für diese Termin.
Wie kann ich das machen?
Im detail ich wünsche dieses:
http://www.bildungsakademie-sonderpaeda ... p?idcat=55
Es kommt von:
http://forum.contenido.org/viewtopic.php?p=50148#p50148
Aber mit Contenido 4.8.x...
Viel Danke für Ihre Hilfe.
Dom
Super Module.
Ich wunsche ein Kontaktformular einfügen an jede Termin um die Leute sich anmelden.
So die Leute sind auf ein Detail von Termin (wie ein Seminar) und schiken ein mail durch ein kontaktformular für diese Termin.
Wie kann ich das machen?
Im detail ich wünsche dieses:
http://www.bildungsakademie-sonderpaeda ... p?idcat=55
Es kommt von:
http://forum.contenido.org/viewtopic.php?p=50148#p50148
Aber mit Contenido 4.8.x...
Viel Danke für Ihre Hilfe.
Dom
Re: Terminliste universal V2.6 mit sKalender u. Mehrfachtermin
Hallo,
auf einer Contenido 4.6.x Seite mit installierter Terminliste v2.6 kommt es zu massiven Performanceproblemen.
Sobald die die Module Terminliste Teaser oder die Kalenderansicht aktiviert werden pro Modul ca. 3000 Datenbankabfragen zusätzlich an die MySQL geschickt.
Hat jemand einen Tip wo durch das verursacht werden kann? Das ist ja bestimmt so nicht gedacht.
Danke für eure Hilfe
auf einer Contenido 4.6.x Seite mit installierter Terminliste v2.6 kommt es zu massiven Performanceproblemen.
Sobald die die Module Terminliste Teaser oder die Kalenderansicht aktiviert werden pro Modul ca. 3000 Datenbankabfragen zusätzlich an die MySQL geschickt.
Hat jemand einen Tip wo durch das verursacht werden kann? Das ist ja bestimmt so nicht gedacht.
Danke für eure Hilfe
Re: Terminliste universal V2.6 mit sKalender u. Mehrfachtermin
wo muß man das einfügen ?
Das Problem tritt bei mir auch auf und das liegt auch offensichtlich daran das der Kalender leer ist somit das Array leer ist und somit eigentlich als Bug geführt werden sollte.
Steffen
Das Problem tritt bei mir auch auf und das liegt auch offensichtlich daran das der Kalender leer ist somit das Array leer ist und somit eigentlich als Bug geführt werden sollte.
Danke und Grußif (!is_array($<<deinevariable>>)) {
echo '$<<deinevariable>> ist kein array';
} else {
//-- Hier dann deine foreach() reingepackt
}
Steffen
Super neues Forum **freu** jetzt geht auch die E-Mail Benachrichtigung für Freenet Acounts !
Re: Terminliste universal V2.6 mit sKalender u. Mehrfachtermin
Hallo zusammen,
ich finde dieses Modul ja 'ne dolle Sache.
Aaaaaber....
....irgendwie bin ich zu doof zur Installation/Konfiguration des ganzen.
Ist vielleicht jemand von den Fachleuten hier bereit mich dabei zu unterstützen?
Wäre echt super und danke sage ich auch schon mal vorab.
ich finde dieses Modul ja 'ne dolle Sache.
Aaaaaber....
....irgendwie bin ich zu doof zur Installation/Konfiguration des ganzen.
Ist vielleicht jemand von den Fachleuten hier bereit mich dabei zu unterstützen?
Wäre echt super und danke sage ich auch schon mal vorab.
Re: Terminliste universal V2.6 mit sKalender u. Mehrfachtermin
lasse das Teil einfach weg du machst dir weniger Arbeit wenn du einen normalen Artikel anlegest und alles im WYSIWYG machst als wie dieses Modul zu benutzen. Man Muß für jeden Eintrag einen Artikel anlegen jedem Artikel muß man dann erstmal alle Meta Tags und die Überschrift zuweisen. Wenn man 30 Einträge hat wird man mit dem Modul einfach nie fertig es ist ein unglaublicher Verwaltungsaufwand.
Wenn du die Anleitung auf der ersten Seite haargenau befolgst bekommst du es hin
Wenn du die Anleitung auf der ersten Seite haargenau befolgst bekommst du es hin
Super neues Forum **freu** jetzt geht auch die E-Mail Benachrichtigung für Freenet Acounts !
Re: Terminliste universal V2.6 mit sKalender u. Mehrfachtermin
Alles klar danke schööön.
Hab mir so etwas schon gedacht. Wenn man dann für das ganze Jahr etwas vorbereiten möchte dann ist man wahrscheinlich fertig wenn das JAhr schon rum ist.
Danke und Gruß aus HH
Hab mir so etwas schon gedacht. Wenn man dann für das ganze Jahr etwas vorbereiten möchte dann ist man wahrscheinlich fertig wenn das JAhr schon rum ist.
Danke und Gruß aus HH
Re: Terminliste universal V2.6 mit sKalender u. Mehrfachtermin
Ich muss ganz ehrlich sagen dass das Modul super Arbeit leistet.. und hat man erstmals seine "regelmässigen" Termine angelegt ist auch der Rest kein Problem mehr... Aber...
Wie schon gesagt...
Jeder Termin ist ein eigener Artikel... und dementsprechen hoch ist auch der Verwaltungsaufwand...
Nein.. ein Jahr braucht man nicht... aber komfortabler wäre sicher besser...
Wie schon gesagt...
Jeder Termin ist ein eigener Artikel... und dementsprechen hoch ist auch der Verwaltungsaufwand...
Nein.. ein Jahr braucht man nicht... aber komfortabler wäre sicher besser...
Nützliche Contenido Infos gibts hier: Contenido Wiki
Re: Terminliste mit Bild
Hallo, hat jemand schon die Terminliste der Version 2.6 so umgearbeitet das ein Bild mit angezeigt wird? Für die Version 2.5.1 beta gab es das mal aber das hat sich ja inzwischen einiges getan.
Re: Terminliste universal V2.6 mit sKalender u. Mehrfachtermin
Hi Zusammen,
ich habe mir gerade dieses Modul angeschaut und bin recht erstaut, was es so alles enthält und kann. Vielen Dank.
Allerdings fehlt mir eine Wochen- bzw. Monatsansicht als Übersicht über die Termine.
Wird es das evt. in der nächsten Version so etwas geben?
Hmmm ... generell überlege ich, ob eine Terminablage in der Datenbank evt. sinnvoll wäre.
Gruß aSoahc
ich habe mir gerade dieses Modul angeschaut und bin recht erstaut, was es so alles enthält und kann. Vielen Dank.
Allerdings fehlt mir eine Wochen- bzw. Monatsansicht als Übersicht über die Termine.
Wird es das evt. in der nächsten Version so etwas geben?
Hmmm ... generell überlege ich, ob eine Terminablage in der Datenbank evt. sinnvoll wäre.
Gruß aSoahc
Re: Terminliste universal V2.6 mit sKalender u. Mehrfachtermin
Ich hatte immer wieder Problemchen mit dem Kalendermodul. Die Version 2.5.2 war zu langsam (habe mehr oder weniger das ganze Jahr komplett voller Termine). Darum habe bei Version 2.6 eine entsprechende Anpassung bei der Datenbankabfrage die ich hier im Forum gefunden hatte (kann mich leider niht mehr daran erinnen wemm der Dank gebührt) vorgenommen. Leider hatte diese Version dann Probleme mit der Darstellung von zyklischen Terminen und auch mit zusätzlichen Termine. Habe auch daran rumgebastelt.
Hier nun das Ergebnis, vielleicht braucht es der eine oder andere. Aber Achtung: habe ziemlich rumgebastelt und wenig getestet. Könnte auch sein, dass die Programmierung jetzt ein Mischmasch aus V2.5.2 und V2.6 ist und dass sich noch Fehler darin verbergen. Bei mir funktioniert der Kalender nun mit den Vorteilen: schnell, zyklische Termine und zusätzliche Termine. Vielleicht kann ja mal ein Experte drüber gehen und Schönheitskorrekturen vornehmen, den so richtig steige ich bei dem Kalendermodul noch nicht durch.
Output sKalender V2.6 modifiziert (Schnelligkeit, zyklische Termine und zusätzliche Termine werden dargestellt):
ACHTUNG TABELLENNAMEN sind fix verdrahtet!
Hier nun das Ergebnis, vielleicht braucht es der eine oder andere. Aber Achtung: habe ziemlich rumgebastelt und wenig getestet. Könnte auch sein, dass die Programmierung jetzt ein Mischmasch aus V2.5.2 und V2.6 ist und dass sich noch Fehler darin verbergen. Bei mir funktioniert der Kalender nun mit den Vorteilen: schnell, zyklische Termine und zusätzliche Termine. Vielleicht kann ja mal ein Experte drüber gehen und Schönheitskorrekturen vornehmen, den so richtig steige ich bei dem Kalendermodul noch nicht durch.
Output sKalender V2.6 modifiziert (Schnelligkeit, zyklische Termine und zusätzliche Termine werden dargestellt):
ACHTUNG TABELLENNAMEN sind fix verdrahtet!
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : Termin sKalender universal
* Version : 2.6
* Author : schlaucher
* Created : 02-08-2006
* Modified : 06-10-2008
************************************************/
cInclude('frontend', 'includes/functions.terminliste.php');
#$time_start = microtime(true);
if ($_REQUEST['MOD_sK_newdate']) // Datum wurde über den sKalender neu gesetzt
{
$MOD_sK_newdate_array = explode("-",$_REQUEST['MOD_sK_newdate']); // yyyy-m-t oder mm tt
$MOD_sK_checkdate_von = date("Y-m-d", mktime (0,0,0, $MOD_sK_newdate_array[1], 1, $MOD_sK_newdate_array[0]));
$MOD_sK_tag_max = date( "t", mktime(0,0,0, $MOD_sK_newdate_array[1], 1, $MOD_sK_newdate_array[0]));
$MOD_sK_checkdate_bis = date("Y-m-d", mktime (0,0,0, $MOD_sK_newdate_array[1], $MOD_sK_tag_max, $MOD_sK_newdate_array[0]));
}
else // aktuelles Datum verwenden
{
$MOD_sK_heute = getdate();
$MOD_sK_checkdate_von = date("Y-m-d", mktime (0,0,0, $MOD_sK_heute["mon"], 1, $MOD_sK_heute["year"]));
$MOD_sK_tag_max = date( "t", mktime(0,0,0, $MOD_sK_heute["mon"], 1, $MOD_sK_heute["year"]));
$MOD_sK_checkdate_bis = date("Y-m-d", mktime (0,0,0, $MOD_sK_heute["mon"], $MOD_sK_tag_max, $MOD_sK_heute["year"]));
}
//echo 'Anzeige von: '.$MOD_sK_checkdate_von.' bis '.$MOD_sK_checkdate_bis.'<br>';
$MOD_sK_zaehler = 0;
$MOD_sK_zaehler2 = 0;
$MOD_sK_tage= array(mi18n("So"),mi18n("Mo"),mi18n("Di"),mi18n("Mi"),mi18n("Do"),mi18n("Fr"),mi18n("Sa"));
// Variablen aus Input Bereich
if ("CMS_VALUE[4]" == '') // Link zu den Terminen aktiv
$MOD_sK_linkyn = false;
else
$MOD_sK_linkyn = true;
if ("CMS_VALUE[7]" == 'datum') // Anzeigemodus Datum oder Status// Überprüfung ob zusätzliche Kategorien gewählt wurden
$MOD_sK_anzeigemodus = true;
else
$MOD_sK_anzeigemodus = false;
if ("CMS_VALUE[9]" == '') // Dropdown-Feld aktiv
$MOD_sK_ddownyn = false;
else
$MOD_sK_ddownyn = true;
$MOD_sK_idcat = "CMS_VALUE[1]";
$MOD_sK_idcatart = "CMS_VALUE[3]";
$MOD_sK_add_tree = "CMS_VALUE[5]"; // zusätzliche Kategorien anzeigen
$MOD_sK_add_tree_ids = "CMS_VALUE[6]"; // ids der zusätzlichen Kategorien
$MOD_sk_ddown = "CMS_VALUE[8]"; // Angezeigte Jahre im Dropdown Feld
if ($MOD_sK_add_tree == "" || ($MOD_sK_add_tree_ids == "" && $MOD_sK_add_tree == "auswahl"))
$MOD_sK_add_tree = 'keine';
if (eregi(',', $MOD_sk_ddown))
$MOD_sk_arry_down = explode(",", $MOD_sk_ddown);
else
$MOD_sk_arry_down[0] = $MOD_sk_ddown;
// zusätzliche Kategorien ermitteln
$MOD_sK_sel_tree = "'".$MOD_sK_idcat."'";
switch ($MOD_sK_add_tree)
{
case "unterhalb":
$MOD_sK_tree_level = -1;
$MOD_sK_sql_tree = "SELECT CAT.idcat AS idcat, CATTREE.level AS level ";
$MOD_sK_sql_tree .= "FROM ".$cfg["tab"]["cat"]." AS CAT,";
$MOD_sK_sql_tree .= " ".$cfg["tab"]["cat_tree"]." AS CATTREE ";
$MOD_sK_sql_tree .= "WHERE CAT.idcat = CATTREE.idcat ";
$MOD_sK_sql_tree .= "ORDER BY CATTREE.idtree";
$db->query($MOD_sK_sql_tree);
while($db->next_record())
{
if ($db->f("idcat") == $MOD_sK_idcat)
$MOD_sK_tree_level = $db->f("level");
else if ($MOD_sK_tree_level > -1 && $db->f("level") > $MOD_sK_tree_level)
$MOD_sK_sel_tree .= ",'".$db->f("idcat")."'";
else if ($db->f("level") <= $MOD_sK_tree_level)
break;
}
break;
case "auswahl":
$MOD_sK_add_tree_array = explode(",",$MOD_sK_add_tree_ids);
foreach ($MOD_sK_add_tree_array as $MOD_sK_add_tree_value)
{
if (is_numeric($MOD_sK_add_tree_value))
$MOD_sK_sel_tree .= ",'".$MOD_sK_add_tree_value."'";
}
break;
default:
}
// Alle Artikel der Kategorie einlesen, die nicht Startartikel sind
$MOD_sK_sql = "
SELECT DISTINCT
ARTLANG.idart AS idart,
ARTLANG.idartlang AS idartlang,
CONTENT_datum1.value AS datum1,
CONTENT_zeit1.value AS zeit1,
CONTENT_datum2.value AS datum2,
CONTENT_zeit2.value AS zeit2,
CONTENT_ort.value AS ort,
CONTENT_titel.value AS titel,
IF(CONTENT_html.value = '', 'yes', 'no') AS html_empty,
CONTENT_teaseryn.value AS teaseryn,
CONTENT_link.value AS link,
CONTENT_linkframe.value AS linkframe,
CONTENT_linkdesc.value AS linkdesc,
CONTENT_zyklus.value AS zyklus,
CONTENT_wtagezyklus.value AS wtagezyklus,
CONTENT_wtagemon.value AS wtagemon,
CONTENT_image.value AS image,
CONTENT_imagedesc.value AS imagedesc,
CONTENT_kategoriea.value AS kategoriea,
CONTENT_xtag.value AS xtag,
CONTENT_aliste.value AS aliste,
CONTENT_hightlight.value AS hightlight,
CONTENT_kategorieb.value AS kategorieb,
CONTENT_zutermine.value AS zutermine,
CONTENT_status.value AS status
FROM
con_cat AS CAT
INNER JOIN con_cat_art AS CATART ON (CATART.idcat = CAT.idcat AND CAT.idclient = '$client' AND CAT.idcat IN ($MOD_sK_sel_tree))
INNER JOIN con_art_lang AS ARTLANG ON (CATART.idart = ARTLANG.idart AND ARTLANG.idlang = '$lang' AND ARTLANG.online = '1')
INNER JOIN con_cat_lang AS CATLANG ON (CATART.idcat = CATLANG.idcat)
INNER JOIN con_content AS CONTENT_datum1 ON (ARTLANG.idartlang = CONTENT_datum1.idartlang AND CONTENT_datum1.typeid = 0 AND CONTENT_datum1.idtype = 3)
LEFT JOIN con_content AS CONTENT_zeit1 ON (ARTLANG.idartlang = CONTENT_zeit1.idartlang AND CONTENT_zeit1.typeid = 1 AND CONTENT_zeit1.idtype = 3)
LEFT JOIN con_content AS CONTENT_datum2 ON (ARTLANG.idartlang = CONTENT_datum2.idartlang AND CONTENT_datum2.typeid = 2 AND CONTENT_datum2.idtype = 3)
LEFT JOIN con_content AS CONTENT_zeit2 ON (ARTLANG.idartlang = CONTENT_zeit2.idartlang AND CONTENT_zeit2.typeid = 3 AND CONTENT_zeit2.idtype = 3)
LEFT JOIN con_content AS CONTENT_ort ON (ARTLANG.idartlang = CONTENT_ort.idartlang AND CONTENT_ort.typeid = 4 AND CONTENT_ort.idtype = 3)
LEFT JOIN con_content AS CONTENT_titel ON (ARTLANG.idartlang = CONTENT_titel.idartlang AND CONTENT_titel.typeid = 6 AND CONTENT_titel.idtype = 3)
LEFT JOIN con_content AS CONTENT_html ON (ARTLANG.idartlang = CONTENT_html.idartlang AND CONTENT_html.typeid = 8)
LEFT JOIN con_content AS CONTENT_teaseryn ON (ARTLANG.idartlang = CONTENT_teaseryn.idartlang AND CONTENT_teaseryn.typeid = 7 AND CONTENT_teaseryn.idtype = 3)
LEFT JOIN con_content AS CONTENT_link ON (ARTLANG.idartlang = CONTENT_link.idartlang AND CONTENT_link.typeid = 9 AND CONTENT_link.idtype = 6)
LEFT JOIN con_content AS CONTENT_linkframe ON (ARTLANG.idartlang = CONTENT_linkframe.idartlang AND CONTENT_linkframe.typeid = 9 AND CONTENT_linkframe.idtype = 7)
LEFT JOIN con_content AS CONTENT_linkdesc ON (ARTLANG.idartlang = CONTENT_linkdesc.idartlang AND CONTENT_linkdesc.typeid = 9 AND CONTENT_linkdesc.idtype = 8)
LEFT JOIN con_content AS CONTENT_zyklus ON (ARTLANG.idartlang = CONTENT_zyklus.idartlang AND CONTENT_zyklus.typeid = 10 AND CONTENT_zyklus.idtype = 3)
LEFT JOIN con_content AS CONTENT_wtagezyklus ON (ARTLANG.idartlang = CONTENT_wtagezyklus.idartlang AND CONTENT_wtagezyklus.typeid = 11 AND CONTENT_wtagezyklus.idtype = 3)
LEFT JOIN con_content AS CONTENT_wtagemon ON (ARTLANG.idartlang = CONTENT_wtagemon.idartlang AND CONTENT_wtagemon.typeid = 12 AND CONTENT_wtagemon.idtype = 3)
LEFT JOIN con_content AS CONTENT_image ON (ARTLANG.idartlang = CONTENT_image.idartlang AND CONTENT_image.typeid = 14 AND CONTENT_image.idtype = 4)
LEFT JOIN con_content AS CONTENT_imagedesc ON (ARTLANG.idartlang = CONTENT_imagedesc.idartlang AND CONTENT_imagedesc.typeid = 14 AND CONTENT_imagedesc.idtype = 5)
LEFT JOIN con_content AS CONTENT_kategoriea ON (ARTLANG.idartlang = CONTENT_kategoriea.idartlang AND CONTENT_kategoriea.typeid = 13 AND CONTENT_kategoriea.idtype = 3)
LEFT JOIN con_content AS CONTENT_xtag ON (ARTLANG.idartlang = CONTENT_xtag.idartlang AND CONTENT_xtag.typeid = 16 AND CONTENT_xtag.idtype = 3)
LEFT JOIN con_content AS CONTENT_aliste ON (ARTLANG.idartlang = CONTENT_aliste.idartlang AND CONTENT_aliste.typeid = 17 AND CONTENT_aliste.idtype = 3)
LEFT JOIN con_content AS CONTENT_hightlight ON (ARTLANG.idartlang = CONTENT_hightlight.idartlang AND CONTENT_hightlight.typeid = 20 AND CONTENT_hightlight.idtype = 3)
LEFT JOIN con_content AS CONTENT_kategorieb ON (ARTLANG.idartlang = CONTENT_kategorieb.idartlang AND CONTENT_kategorieb.typeid = 21 AND CONTENT_kategorieb.idtype = 3)
LEFT JOIN con_content AS CONTENT_zutermine ON (ARTLANG.idartlang = CONTENT_zutermine.idartlang AND CONTENT_zutermine.typeid = 22 AND CONTENT_zutermine.idtype = 3)
LEFT JOIN con_content AS CONTENT_status ON (ARTLANG.idartlang = CONTENT_status.idartlang AND CONTENT_status.typeid = 23 AND CONTENT_status.idtype = 3)
";
if ($cfg["is_start_compatible"] == true)
$MOD_sK_sql .= "WHERE CATART.is_start = '0';";
else
$MOD_sK_sql .= "WHERE ARTLANG.idartlang != CATLANG.startidartlang;";
$db->query($MOD_sK_sql);
// weiter, wenn Artikel gefunden wurden
if ($db->num_rows() > 0)
{
$MOD_sK_termine = array(array()); // Array erzeugen, in dem die Termine abgelegt werden;
while ($MOD_sK_datensaetze < $db->num_rows()) // alle Datensätze durchlaufen
{
$db->next_record();
if (isStartArticle($db->f("idartlang"),$MOD_sK_durchlaufdcat,$lang)==FALSE)
{
$MOD_sK_termine["datum1"][$MOD_sK_zaehler] = (strlen($db->f("datum1")) < 10 ) ? '1970-01-01' : $db->f("datum1");
$MOD_sK_termine["idart"][$MOD_sK_zaehler] = $db->f("idart");
$MOD_sK_termine["zyklus"][$MOD_sK_zaehler] = ($db->f("zyklus") === NULL) ? 'no' : $db->f("zyklus");
$MOD_sK_termine["datum2"][$MOD_sK_zaehler] = $db->f("datum2");
$MOD_sK_termine["status"][$MOD_sK_zaehler] = $db->f("status");
$MOD_sK_termine["xtag"][$MOD_sK_zaehler] = $db->f("xtag");
$MOD_sK_termine["aliste"][$MOD_sK_zaehler] = $db->f("aliste");
$MOD_sK_termine["zutermine"][$MOD_sK_zaehler] = $db->f("zutermine");
$MOD_sK_termine["wtagezyklus"][$MOD_sK_zaehler] = $db->f("wtagezyklus");
$MOD_sK_termine["wtagemon"][$MOD_sK_zaehler] = $db->f("wtagemon");
}
$MOD_sK_zaehler++;
$MOD_sK_datensaetze++;
}
// Ermittlung der zyklischen Termine und Löschen von Datensätzen, die nicht angezeigt werden müssen aus 2.5.2
$MOD_sK_zaehler2 = $MOD_sK_zaehler+1; // zweiten Zähler anlegen
for ($MOD_sK_durchlauf=0; $MOD_sK_durchlauf<=$MOD_sK_zaehler; $MOD_sK_durchlauf++)
{
if (($MOD_sK_termine["zyklus"][$MOD_sK_durchlauf] != 'no' || $MOD_TL_termine["zutermine"][$MOD_sK_durchlauf] != '') && $MOD_sK_termine["idart"][$MOD_sK_durchlauf] != '' ) // Zyklischer Termin
{
//echo 'Zyklus: '.$MOD_sK_durchlauf.' | '.$MOD_sK_termine["datum1"][$MOD_sK_durchlauf].' | '.$MOD_sK_termine["titel"][$MOD_sK_durchlauf].'<br>';
$MOD_sK_zdate_array = makedatearray($MOD_sK_termine["datum1"][$MOD_sK_durchlauf],$MOD_sK_termine["datum2"][$MOD_sK_durchlauf],
$MOD_sK_termine["zyklus"][$MOD_sK_durchlauf],$MOD_sK_termine["xtag"][$MOD_sK_durchlauf],
$MOD_sK_termine["aliste"][$MOD_sK_durchlauf],$MOD_sK_checkdate_von,$MOD_sK_checkdate_bis,
$MOD_sK_termine["wtagezyklus"][$MOD_sK_durchlauf],$MOD_sK_termine["wtagemon"][$MOD_sK_durchlauf],$MOD_TL_termine["zutermine"][$MOD_sK_durchlauf]);
if(count($MOD_sK_zdate_array) >= 1)
{
if($MOD_sK_termine["datum1"][$MOD_sK_durchlauf] != $MOD_sK_zdate_array[0])
{
$MOD_sK_termine["datum1"][$MOD_sK_zaehler2] = $MOD_sK_zdate_array[0];
$MOD_sK_termine["datum2"][$MOD_sK_zaehler2] = '';
$MOD_sK_termine["idart"][$MOD_sK_zaehler2] = $MOD_sK_termine["idart"][$MOD_sK_durchlauf];
$MOD_sK_termine["status"][$MOD_sK_zaehler2] = $MOD_sK_termine["status"][$MOD_sK_durchlauf];
$MOD_sK_zaehler2++;
}
for ($MOD_sK_durchlauf2=1; $MOD_sK_durchlauf2<count($MOD_sK_zdate_array); $MOD_sK_durchlauf2++)
{
$MOD_sK_termine["datum1"][$MOD_sK_zaehler2] = $MOD_sK_zdate_array[$MOD_sK_durchlauf2];
$MOD_sK_termine["datum2"][$MOD_sK_zaehler2] = '';
$MOD_sK_termine["idart"][$MOD_sK_zaehler2] = $MOD_sK_termine["idart"][$MOD_sK_durchlauf];
$MOD_sK_termine["status"][$MOD_sK_zaehler2] = $MOD_sK_termine["status"][$MOD_sK_durchlauf];
$MOD_sK_zaehler2++;
}
}
if ($MOD_sK_termine["zyklus"][$MOD_sK_durchlauf] != 'no')
$MOD_sK_termine["datum2"][$MOD_sK_durchlauf] = '';
}
}
// Prüfung ob Termin im aktuellen Anzeigezeitrahmen ist
for ($MOD_sK_durchlauf=0; $MOD_sK_durchlauf<=$MOD_sK_zaehler2; $MOD_sK_durchlauf++)
{
if (!(($MOD_sK_termine["datum1"][$MOD_sK_durchlauf] >= $MOD_sK_checkdate_von && $MOD_sK_termine["datum1"][$MOD_sK_durchlauf] <= $MOD_sK_checkdate_bis) ||
($MOD_sK_termine["datum2"][$MOD_sK_durchlauf] >= $MOD_sK_checkdate_von && $MOD_sK_termine["datum2"][$MOD_sK_durchlauf] <= $MOD_sK_checkdate_bis ) ||
($MOD_sK_termine["datum1"][$MOD_sK_durchlauf] < $MOD_sK_checkdate_von && $MOD_sK_termine["datum2"][$MOD_sK_durchlauf] > $MOD_sK_checkdate_bis)))
{
unset ($MOD_sK_termine["datum1"][$MOD_sK_durchlauf]);
unset ($MOD_sK_termine["datum2"][$MOD_sK_durchlauf]);
unset ($MOD_sK_termine["idart"][$MOD_sK_durchlauf]);
unset ($MOD_sK_termine["status"][$MOD_sK_durchlauf]);
}
}
}
else
{
// Bugfix, da sonst Fehlermeldung beim prüfen der belegten Termine
$MOD_sK_termine["datum1"][0] = '1970-01-01';
$MOD_sK_termine["datum2"][0] = '1970-01-01';
$MOD_sK_termine["idart"][0] = '0';
$MOD_sK_termine["status"][0] = '0';
}
if( !empty($MOD_sK_termine["datum1"]) )
{
array_multisort ( $MOD_sK_termine["datum1"], SORT_ASC, SORT_STRING,
$MOD_sK_termine["datum2"], SORT_ASC, SORT_STRING,
$MOD_sK_termine["idart"],
$MOD_sK_termine["status"]);
}
$sKalender = new sKalender();
$sKalender->setDate( $MOD_sK_newdate_array[2], $MOD_sK_newdate_array[1], $MOD_sK_newdate_array[0] );
$sKalender->printCalender();
class sKalender
{
var $MOD_sK_akt_datum;
var $MOD_sK_admin;
function sKalender()
{
// Verhindert mögliche Endlosloops Ausführungszeit max 1 Sek.
//set_time_limit( 1 );
// wird der Funktion eine Parameter übergeben, wird diese dem Key "MOD_sK_admin" zugeordent
if( func_num_args() == 1 )
$this->MOD_sK_admin = func_get_arg( 0 );
else
$this->MOD_sK_admin = false;
// aktuelles Datum in Array MOD_sK_akt_datum schreiben
$this->MOD_sK_akt_datum = getdate();
}
function setDate( $MOD_sK_tag, $MOD_sK_monat, $MOD_sK_jahr )
{
// prüft, ob alle Werte übergeben wurden und schreibt diese dann ins Array
if( $MOD_sK_tag != "" && $MOD_sK_monat != "" && $MOD_sK_jahr != "" )
{
$this->MOD_sK_akt_datum["mday"] = $MOD_sK_tag*1; // führende Nullen entfernen
$this->MOD_sK_akt_datum["mon"] = $MOD_sK_monat*1; // führende Nullen entfernen
$this->MOD_sK_akt_datum["year"] = $MOD_sK_jahr;
return true;
}
else
return false;
}
function getDateByMonth( $MOD_sk_neuer_monat )
{
$MOD_sK_neues_datum = mktime (0,0,0, ($this->MOD_sK_akt_datum["mon"] + $MOD_sk_neuer_monat), $this->MOD_sK_akt_datum["mday"], $this->MOD_sK_akt_datum["year"] );
return $MOD_sK_neues_datum;
}
function printCalender()
{
// Globale Variablen definieren
global $MOD_sK_linkyn;
global $idcatart;
global $MOD_sK_idcatart;
global $MOD_sk_arry_down;
global $MOD_sK_ddownyn;
if( $this->MOD_sK_akt_datum == "" )
return false;
else
$MOD_sK_datum = $this->MOD_sK_akt_datum;
$MOD_sK_wochenbeginn = 2; // Die Woche beginnt mit Montag, PHP beginnt mit Sonntag = 1
$MOD_sK_admin = "&MOD_sK_admin=" . $this->MOD_sK_admin;
$MOD_sK_monatsnamen = array("",mi18n("Januar"),mi18n("Februar"),mi18n("März"),mi18n("April"),mi18n("Mai"),mi18n("Juni"),mi18n("Juli"),mi18n("August"),mi18n("September"),mi18n("Oktober"),mi18n("November"),mi18n("Dezember"));
echo '<div id="mod_sK">
<table>
<tr>';
// Einen Monat zurück
$MOD_sK_neues_datum = $this->getDateByMonth( -1 );
$MOD_sK_newdate = date("Y", $MOD_sK_neues_datum ).'-'.date("n", $MOD_sK_neues_datum ).'-1';
echo '<td class="navl"><a href="front_content.php?idcatart='.$idcatart.'&MOD_sK_newdate='.$MOD_sK_newdate.'" title="'.mi18n("vorheriger Monat").'"><<</a></td>';
// aktueller Monat
$MOD_sK_neues_datum = $this->getDateByMonth( 0 );
$MOD_sK_newdate = date("Y", $MOD_sK_neues_datum ).'-'.date("n", $MOD_sK_neues_datum ).'-1';
// Dropdownfeld aufbauen
$MOD_sk_arry_years = count($MOD_sk_arry_down); // Anzahl der Jahre
$MOD_sk_dropdown = '<select name="MOD_sK_newdate" onchange="parent.frames.top.location.href = this.value">';
$MOD_sk_dropdown .= '<option value="'.$MOD_sK_newdate.'">'.$MOD_sK_monatsnamen[ $MOD_sK_datum["mon"] ].' '.$MOD_sK_datum["year"].'</option>';
for( $MOD_sK_dyears = 0; $MOD_sK_dyears < $MOD_sk_arry_years; $MOD_sK_dyears++ )
{
for( $MOD_sK_dmonth = 1; $MOD_sK_dmonth <= 12; $MOD_sK_dmonth++ )
{
$MOD_sk_dropdown .= '<option value="front_content.php?client='.$client.'&parent='.$parent.'&subid='.$subid.'&idcatart='.$idcatart.'&MOD_sK_newdate='.$MOD_sk_arry_down[$MOD_sK_dyears].'-'.$MOD_sK_dmonth.'-1">'.$MOD_sK_monatsnamen[$MOD_sK_dmonth].' '.$MOD_sk_arry_down[$MOD_sK_dyears].'</option>';
}
}
$MOD_sk_dropdown .= '</select>';
if(!$MOD_sK_ddownyn)
echo '<td class="navm"><a href="front_content.php?idcatart='.$MOD_sK_idcatart.'&MOD_sK_newdate='.$MOD_sK_newdate.'&MOD_sK_show=m" title="'.mi18n("Monatsübersicht anzeigen.").'">'.$MOD_sK_monatsnamen[ $MOD_sK_datum["mon"] ].' '.$MOD_sK_datum["year"].'</a></td>';
else
echo '<td class="navm">'.$MOD_sk_dropdown.'</td>';
// Einen Monat vor
$MOD_sK_neues_datum = $this->getDateByMonth( +1 );
$MOD_sK_newdate = date("Y", $MOD_sK_neues_datum ).'-'.date("n", $MOD_sK_neues_datum ).'-1';
echo '<td class="navr"><a href="front_content.php?idcatart='.$idcatart.'&MOD_sK_newdate='.$MOD_sK_newdate.'" title="'.mi18n("nächster Monat").'">>></a></td>';
echo '
</tr>
</table>
<table>';
// Ermittle die maximalen Tage für den aktuellen Monat
$MOD_sK_tag_max = date( "t", mktime( 0, 0, 0, $MOD_sK_datum["mon"], 1, $MOD_sK_datum["year"] ) );
for( $MOD_sK_tag_aktuell = 1; $MOD_sK_tag_aktuell <= $MOD_sK_tag_max; $MOD_sK_tag_aktuell++ )
{
$MOD_sK_tag_nummer = date("w", mktime(0, 0, 0, $MOD_sK_datum["mon"], $MOD_sK_tag_aktuell, $MOD_sK_datum["year"])) + 1;
if ($MOD_sK_tag_aktuell == 1)
{
echo '
<tr>
<td class="wtag">'.mi18n("Mo").'</td>
<td class="wtag">'.mi18n("Di").'</td>
<td class="wtag">'.mi18n("Mi").'</td>
<td class="wtag">'.mi18n("Do").'</td>
<td class="wtag">'.mi18n("Fr").'</td>
<td class="wtag">'.mi18n("Sa").'</td>
<td class="wtag">'.mi18n("So").'</td>
</tr>';
// Leere Felder am Anfang / Ende
echo '<tr>';
for( $MOD_sK_check_tag = $MOD_sK_wochenbeginn; $MOD_sK_tag_nummer != $MOD_sK_check_tag; $MOD_sK_check_tag++ )
{
echo '<td> </td>';
if( $MOD_sK_tag_nummer == 1 && $MOD_sK_check_tag == 7 ) // Workaround !!!
{
echo( $this->getCell( $MOD_sK_tag_aktuell ) );
break;
}
if( $MOD_sK_check_tag > 15 ) // Workaround !!!
break;
}
if ($MOD_sK_tag_nummer == $MOD_sK_check_tag)
echo( $this->getCell( $MOD_sK_tag_aktuell ) );
}
else if ($MOD_sK_tag_nummer == $MOD_sK_wochenbeginn)
{
echo '
</tr>
<tr>';
echo( $this->getCell( $MOD_sK_tag_aktuell ) );
}
else
echo( $this->getCell( $MOD_sK_tag_aktuell ) );
}
$MOD_sK_tag_aktuell = $MOD_sK_tag_aktuell - 6;
$MOD_sK_tag_nummer = date("w", mktime(0, 0, 0, $MOD_sK_datum["mon"], $MOD_sK_tag_aktuell, $MOD_sK_datum["year"]));
while( $MOD_sK_tag_nummer != $MOD_sK_wochenbeginn )
{
echo ' <td> </td>';
$MOD_sK_tag_aktuell++;
$MOD_sK_tag_nummer = date("w", mktime(0, 0, 0, $MOD_sK_datum["mon"], $MOD_sK_tag_aktuell, $MOD_sK_datum["year"]));
}
echo '
</tr>
</table>
</div>';
return true;
}
function checkDayFor1( $MOD_sK_datum_check )
{
global $MOD_sK_termine;
$MOD_sk_status_ok = false;
$MOD_sK_array_keys = (array_keys ($MOD_sK_termine["datum1"], $MOD_sK_datum_check));
foreach($MOD_sK_array_keys as $MOD_sK_array_key => $MOD_sK_array_key_value)
{
if ($MOD_sK_termine["datum2"][$MOD_sK_array_key_value] == '')
$MOD_sk_status_ok = true;
}
return $MOD_sk_status_ok;
}
function checkDayFor2( $MOD_sK_datum_check )
{
global $MOD_sK_termine;
$MOD_sK_anzahl = count($MOD_sK_termine["datum1"]);
$MOD_sk_check_ok = false;
for ($MOD_sK_durchlauf = 0; $MOD_sK_durchlauf <= $MOD_sK_anzahl-1; $MOD_sK_durchlauf++)
{
if ( $MOD_sK_datum_check >= $MOD_sK_termine["datum1"][$MOD_sK_durchlauf] && $MOD_sK_datum_check <= $MOD_sK_termine["datum2"][$MOD_sK_durchlauf] )
$MOD_sk_check_ok = true;
}
return $MOD_sk_check_ok;
}
function checkDayFor3( $MOD_sK_datum_check )
{
global $MOD_sK_termine;
$MOD_sK_anzahl = count($MOD_sK_termine["zutermine"]);
$MOD_sk_check_ok = false;
for ($MOD_sK_durchlauf = 0; $MOD_sK_durchlauf <= $MOD_sK_anzahl-1; $MOD_sK_durchlauf++)
{
$pos=strpos($MOD_sK_termine["zutermine"][$MOD_sK_durchlauf], $MOD_sK_datum_check);
if ($pos !== false ) {
$MOD_sk_check_ok = true;
}
}
return $MOD_sk_check_ok;
}
function checkStatus1( $MOD_sK_datum_check ) // Tag mit reservierten Terminen
{
global $MOD_sK_termine;
$MOD_sk_status_ok = false;
$MOD_sK_array_keys = (array_keys ($MOD_sK_termine["datum1"], $MOD_sK_datum_check));
foreach($MOD_sK_array_keys as $MOD_sK_array_key => $MOD_sK_array_key_value)
{
if ($MOD_sK_termine["status"][$MOD_sK_array_key_value] == '1')
$MOD_sk_status_ok = true;
}
return $MOD_sk_status_ok;
}
function checkStatus2( $MOD_sK_datum_check ) // Tag mit gebuchten Terminen
{
global $MOD_sK_termine;
$MOD_sk_status_ok = false;
$MOD_sK_array_keys = (array_keys ($MOD_sK_termine["datum1"], $MOD_sK_datum_check));
foreach($MOD_sK_array_keys as $MOD_sK_array_key => $MOD_sK_array_key_value)
{
if ($MOD_sK_termine["status"][$MOD_sK_array_key_value] == '2')
$MOD_sk_status_ok = true;
}
return $MOD_sk_status_ok;
}
function getCell( $MOD_sK_tag )
{
global $MOD_sK_linkyn;
global $MOD_sK_anzeigemodus;
$MOD_sK_datum_aktuell= date("Y-m-d", mktime(0, 0, 0, date("m", $this->getDateByMonth( 0 ) ), $MOD_sK_tag, date("Y", $this->getDateByMonth( 0 ) ) ) );
$MOD_sK_datum_title= date("d.m.Y", mktime(0, 0, 0, date("m", $this->getDateByMonth( 0 ) ), $MOD_sK_tag, date("Y", $this->getDateByMonth( 0 ) ) ) );
$MOD_sK_wochentag = date("w", mktime(0, 0, 0, date("m", $this->getDateByMonth( 0 ) ), $MOD_sK_tag, date("Y", $this->getDateByMonth( 0 ) ) ) );
$MOD_sK_termin_ok = false;
if ($MOD_sK_anzeigemodus)
{
if( $MOD_sK_wochentag == 6 || $MOD_sK_wochentag == 0 ) // Wochenende
$MOD_sK_style = "wochenende";
else // Normal
$MOD_sK_style = "wochentag";
if( date("Y-m-d") == $MOD_sK_datum_aktuell) // Heute
$MOD_sK_style = "heute";
if( $this->checkDayFor1($MOD_sK_datum_aktuell ) ) // Tag mit direkten Terminen
{
$MOD_sK_termin_ok = true;
if( $MOD_sK_wochentag == 6 || $MOD_sK_wochentag == 0 ) // Wochenende
$MOD_sK_style = "belegtwe";
else
$MOD_sK_style = "belegt";
}
else
{
if( $this->checkDayFor2($MOD_sK_datum_aktuell ) ) // Tag mit indirekten Terminen
{
$MOD_sK_termin_ok = true;
if( $MOD_sK_wochentag == 6 || $MOD_sK_wochentag == 0 ) // Wochenende
$MOD_sK_style = "tangiertwe";
else
$MOD_sK_style = "tangiert";
}
}
if( $this->checkDayFor3($MOD_sK_datum_aktuell ) ) // Tag mit zusätzlichen Terminen
{
$MOD_sK_termin_ok = true;
if( $MOD_sK_wochentag == 6 || $MOD_sK_wochentag == 0 ) // Wochenende
$MOD_sK_style = "tangiertwe";
else
$MOD_sK_style = "tangiert";
}
}
else
{
$MOD_sK_style = "wochentag"; //
if( $this->checkStatus1( $MOD_sK_datum_aktuell ) ) // Tag mit reservierten Terminen
{
$MOD_sK_termin_ok = true;
$MOD_sK_style = "tangiert";
}
if( $this->checkStatus2( $MOD_sK_datum_aktuell ) ) // Tag mit gebuchten Terminen
{
$MOD_sK_termin_ok = true;
$MOD_sK_style = "belegt";
}
}
global $MOD_sK_idcatart;
if ($MOD_sK_termin_ok)
{
if($MOD_sK_linkyn)
$MOD_sK_val = '<td class="'.$MOD_sK_style.'"><a class="tag" href="front_content.php?idcatart='.$MOD_sK_idcatart.'&MOD_sK_newdate='.$MOD_sK_datum_aktuell.'&MOD_sK_show=t" title="'.mi18n("Termine für den").' '.$MOD_sK_datum_title.' '.mi18n("anzeigen").'.">'.$MOD_sK_tag.'</a></td>';
else
{
if ($MOD_sK_anzeigemodus)
$MOD_sK_val = '<td class="'.$MOD_sK_style.'"><a class="tag" title="'.mi18n("Für den").' '.$MOD_sK_datum_title.' '.mi18n("existieren Termine").'.">'.$MOD_sK_tag.'</a></td>';
else
$MOD_sK_val = '<td class="'.$MOD_sK_style.'"><a class="tag" title="'.mi18n("gebucht").'">'.$MOD_sK_tag.'</a></td>';
}
}
else
{
if ($MOD_sK_anzeigemodus)
$MOD_sK_val = '<td class="'.$MOD_sK_style.'"><a class="tag" title="'.mi18n("Für den").' '.$MOD_sK_datum_title.' '.mi18n("existieren keine Termine.").'">'.$MOD_sK_tag.'</a></td>';
else
$MOD_sK_val = '<td class="'.$MOD_sK_style.'"><a class="tag" title="'.mi18n("frei").'">'.$MOD_sK_tag.'</a></td>';
}
return $MOD_sK_val;
}
}
#$time_end = microtime(true);
#$time = $time_end - $time_start;
#echo "<p style='font-size:8px'>Zeit:$time</p> ";
?>