Terminliste universal V2.6 mit sKalender u. Mehrfachtermin

gassi
Beiträge: 46
Registriert: Mi 7. Dez 2005, 22:25
Kontaktdaten:

Re: Terminliste universal V2.6 mit sKalender u. Mehrfachtermin

Beitrag von gassi » Mi 18. Feb 2009, 23:02

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

salsa
Beiträge: 165
Registriert: Mi 27. Apr 2005, 15:47
Wohnort: Dortmund
Kontaktdaten:

Re: Terminliste universal V2.6 mit sKalender u. Mehrfachtermin

Beitrag von salsa » Do 19. Feb 2009, 17:29

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....
In der Terminliste ist kein Bild vorgesehen; nur in der Terminanzeige und im Terminteaser. Da musst du dir wohl selbst etwas passendes basteln.
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...
[IMG1] und [IMG2] habe ich bei keinem Modul-Template gefunden; es gibt ja mehrere.

Martin S.
Beiträge: 183
Registriert: Fr 14. Jan 2005, 10:46
Kontaktdaten:

Re: Terminliste universal V2.6 mit sKalender u. Mehrfachtermin

Beitrag von Martin S. » So 8. Mär 2009, 16:42

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

matt.loker
Beiträge: 203
Registriert: Mo 7. Mai 2007, 09:05
Kontaktdaten:

Re: Terminliste universal V2.6 mit sKalender u. Mehrfachtermin

Beitrag von matt.loker » Mo 16. Mär 2009, 14:32

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?

Code: Alles auswählen

<div class="kalenderfelder">&nbsp;</div>
<div class="kalenderfelder">&nbsp;</div>
<div class="kalenderfelder">&nbsp;</div>
<div class="kalenderfelder">&nbsp;</div>
<div class="kalenderfelder">&nbsp;</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>

idea-tec
Beiträge: 1242
Registriert: Do 19. Sep 2002, 14:41
Wohnort: Dichtelbach
Kontaktdaten:

Re: Terminliste universal V2.6 mit sKalender u. Mehrfachtermin

Beitrag von idea-tec » Mo 16. Mär 2009, 14:42

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()"
Invalid argument supplied for foreach()
Das entsteht, wenn man bereits einen Wert (auch wenn dieser 0 oder NULL sein sollte) aber KEIN Array an die Schleifen-Funktion übergibt
The first argument should be an array in
Sagt zudem klar und eindeutig aus, dass -> Übersetzung: Das erste Argument sollte ein Array sein

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
}
http://www.selfphp.de/funktionsreferenz ... _array.php
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!!! ;-)

djavet
Beiträge: 264
Registriert: Do 22. Jan 2004, 11:31
Kontaktdaten:

Re: Terminliste universal V2.6 mit sKalender u. Mehrfachtermin

Beitrag von djavet » Fr 27. Mär 2009, 10:32

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

Cosmotom
Beiträge: 1
Registriert: Fr 27. Mär 2009, 14:47
Kontaktdaten:

Re: Terminliste universal V2.6 mit sKalender u. Mehrfachtermin

Beitrag von Cosmotom » Fr 27. Mär 2009, 14:57

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

Steffen44
Beiträge: 134
Registriert: So 12. Dez 2004, 12:18
Kontaktdaten:

Re: Terminliste universal V2.6 mit sKalender u. Mehrfachtermin

Beitrag von Steffen44 » Fr 3. Apr 2009, 11:04

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.
if (!is_array($<<deinevariable>>)) {
echo '$<<deinevariable>> ist kein array';
} else {
//-- Hier dann deine foreach() reingepackt
}
Danke und Gruß
Steffen
Super neues Forum **freu** jetzt geht auch die E-Mail Benachrichtigung für Freenet Acounts !

Nakoda
Beiträge: 219
Registriert: Fr 2. Jul 2004, 23:50
Wohnort: Hamburg
Kontaktdaten:

Re: Terminliste universal V2.6 mit sKalender u. Mehrfachtermin

Beitrag von Nakoda » Mo 13. Apr 2009, 15:41

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. :D
Gruß aus HH

Armin
http://sig.sysprofile.de/quicksys/sysp-102592.png
Contenido 4.8.18

Steffen44
Beiträge: 134
Registriert: So 12. Dez 2004, 12:18
Kontaktdaten:

Re: Terminliste universal V2.6 mit sKalender u. Mehrfachtermin

Beitrag von Steffen44 » Mo 13. Apr 2009, 18:51

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 ;-)
Super neues Forum **freu** jetzt geht auch die E-Mail Benachrichtigung für Freenet Acounts !

Nakoda
Beiträge: 219
Registriert: Fr 2. Jul 2004, 23:50
Wohnort: Hamburg
Kontaktdaten:

Re: Terminliste universal V2.6 mit sKalender u. Mehrfachtermin

Beitrag von Nakoda » Di 14. Apr 2009, 09:12

Alles klar danke schööön. :D
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. :wink: :D :roll:

Danke und Gruß aus HH
Gruß aus HH

Armin
http://sig.sysprofile.de/quicksys/sysp-102592.png
Contenido 4.8.18

GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Re: Terminliste universal V2.6 mit sKalender u. Mehrfachtermin

Beitrag von GaMbIt_ » Di 14. Apr 2009, 18:20

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...
Nützliche Contenido Infos gibts hier: Contenido Wiki

shi
Beiträge: 251
Registriert: Fr 5. Nov 2004, 14:12
Kontaktdaten:

Re: Terminliste mit Bild

Beitrag von shi » Mi 15. Apr 2009, 09:42

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.

aSoahc
Beiträge: 49
Registriert: Fr 6. Feb 2009, 13:55
Kontaktdaten:

Re: Terminliste universal V2.6 mit sKalender u. Mehrfachtermin

Beitrag von aSoahc » Di 21. Apr 2009, 22:50

Hi Zusammen,

ich habe mir gerade dieses Modul angeschaut und bin recht erstaut, was es so alles enthält und kann. :o 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

DiMiZu
Beiträge: 68
Registriert: Sa 8. Okt 2005, 12:49
Kontaktdaten:

Re: Terminliste universal V2.6 mit sKalender u. Mehrfachtermin

Beitrag von DiMiZu » Mi 22. Apr 2009, 09:40

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!

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&auml;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"] ].'&nbsp;'.$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].'&nbsp;'.$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&uuml;bersicht anzeigen.").'">'.$MOD_sK_monatsnamen[ $MOD_sK_datum["mon"] ].'&nbsp;'.$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&auml;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>&nbsp</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>&nbsp</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> ";

?>

Gesperrt