Module für Terminverwaltung

PseudoPunk
Beiträge: 26
Registriert: So 7. Aug 2005, 12:43
Kontaktdaten:

Beitrag von PseudoPunk » So 7. Aug 2005, 13:33

*edit2*HEHE WIE PEINLICH... EIN POST VOR MEINEM :((
ok ndanke für die Aufmerksamkeit... und nichts für ungut, gelobe besserung
*/edit*

*edit*
oh sehe eben gerade erst das der Thred ja schon mehrere Seiten hat... mom ich lese mal evt hat sich das Problem dann ja schon erledigt ;) */edit*

hallo!

bei mir läuft das ganze (nachdem ich ein wenig gebraucht habe um das Prinzip zu verstehen) einwandfrei und ohne probleme....

allerdings hätte ich gerne eine kleine Erweiterung zu diesem Modul, leider bin ich grafiker und stehe dementsprechend mit dem Coden auf dem Kriegsfuß...
daher meine Frage:
wäre jemand so lieb und würde mir auf die Sprünge helfen wie es funktioniert, bzw kennt evt jemand ein bereits bestehendes Modul bei dem das ganze schon umgesetzt wurde...

aber erstmal zu der von mir angesprochenen Erweiterung:

ich würde gerne auf der ganzen Seite ähnlich wie bei einem newsscript, die nächsten 3 Termine rechts in einer spalte ausgeben.
diese Termine sollen dann wie bei der Übersicht mit den detailseiten verlinkt sein.

Allerdings möchte ich das wie gesagt auf der ganzen Seite und nicht nur in einer Kategorie so nutzen.


perfekt wäre es natürlich wenn der entwickler des Tools das ganze hier noch pflegen würde und dementsprechend sich um diese Erweiterung kümmern würde ;)

Allerdings will man ja auch nicht unverschämt sein und weiß selbst nur zu gut... ohne fleiß kein Preis ;)
bin also über JEDE Hilfe dankbar!!!

PseudoPunk
Beiträge: 26
Registriert: So 7. Aug 2005, 12:43
Kontaktdaten:

Beitrag von PseudoPunk » Mo 8. Aug 2005, 21:46

innotech hat geschrieben:Hi Leute!

Ich benutze auf meiner Startseite ein Modul, welches die 5 aktuellsten Termine auf darstellt (thx @ Halchteranerin :D ). Leider stellt das Modul nicht die kommenden 5 Termine statt.

Hab z.B. Termine am 25.04., 26.04., 06.05., 06.05., 09.05., 13.05 in meiner vollständigen artikelauflistung (http://www.gym-st-rupert.at/cms/front_c ... p?idcat=22), auf der Startseite werden diese alllerdings nicht angezeigt (http://www.gym-st-rupert.at/cms).

Kann mir da jemand mit der Sortierung helfen? Danke!!!
nachdem ich gestern mit heller freude diesen Code hier gefunden habe, habe ich mit einem bekannten der ein wenig mehr Ahnung als ich davon hat, mal an dem problem gebastelt, wir konnten es lösen...

hier meine angepasste Version (ACHTUNG da sind nun schon CSS defs von mir drin und es werden nurnoch die nächsten zwei termine ausgegeben, das dürfte aber kein problem sein das konnte ja sogar ich PHP-DAU lösen ;)...):

Eingabe wie die ganze zeit

Ausgabe

Code: Alles auswählen

<?php
if ("CMS_VALUE[0]" == 0)
{
  $navmod_id = $idcat;
} else
{
  $navmod_id = "CMS_VALUE[0]";
}
$gefunden=0; // um zu überprüfen, ob überhaupt Termine vorliegen
$date = date("Y-m-d");
echo '<table width="100%" border="0" cellspacing="0" >'; echo "<tr><td class="subheadline"
colspan="2"> CMS_VALUE[1]</td></tr>"; //Überschrift der Termin-Übersicht

$sql = "SELECT ARTLANG.idart, CONTENT.value, CONTENT.typeid
  FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"]." AS
ARTLANG, ".$cfg["tab"]["cat"]." AS CAT, ".$cfg["tab"]["content"]." AS CONTENT
  WHERE ARTLANG.idart = CATART.idart AND CATART.idcat = CAT.idcat AND
ARTLANG.idartlang = CONTENT.idartlang
   AND ARTLANG.idlang = '".$lang."' AND CAT.idcat = '".$navmod_id."' AND
CAT.idclient = '".$client."'
   AND ARTLANG.online = '1' AND CATART.is_start='0'
 ORDER BY ARTLANG.idart, CONTENT.typeid ASC"; $db->query($sql);
$j=0; $anz=0;
if ($db->num_rows() != 0)
{
  $termin = array(array());
  while ($j < $db->num_rows()) // alle Datensätze durchlaufen
  {
   $db->next_record();
   if ($db->f("idart") > $termin["idart"][$anz])
   {
    $anz++;
   }
   switch ($db->f("typeid")) {
    case 0: // Anfangstermin
     $termin["datum1"][$anz] = $db->f("value");
     $termin["idart"][$anz] = $db->f("idart");
    break;
    case 1: // Anfangsuhrzeit
     $termin["zeit1"][$anz] = $db->f("value");
     $termin["datum1"][$anz] = $termin["datum1"][$anz]."
".$termin["zeit1"][$anz];
    break;
    case 2: // Endtermin
     $termin["datum2"][$anz] = $db->f("value");
    break;
    case 3: // Enduhrzeit
     $termin["zeit2"][$anz] = $db->f("value");
     $termin["datum2"][$anz] = $termin["datum2"][$anz]."
".$termin["zeit2"][$anz];
    break;
    case 4: // Ort
     $termin["ort"][$anz] = $db->f("value");
    break;
    case 5: // Ortdetail
     $termin["ortdetail"][$anz] = $db->f("value");
    break;
    case 6: // Titel
     $termin["titel"][$anz] = $db->f("value");
    break;
   }
   $j++;
  }
  array_multisort ( $termin["datum1"], SORT_ASC, SORT_STRING, $termin["datum2"], SORT_ASC, SORT_STRING,
  $termin["ort"], $termin["ortdetail"], $termin["zeit1"], $termin["zeit2"], $termin["idart"], $termin["titel"] ); // nach Datum sortieren
  for ($i=0; $i<=$anz; $i++)
  {
   if ( $termin["datum1"][$i] >= $date || $termin["datum2"][$i] >= $date )
   {

    $gefunden++;
    echo '        <tr>';
    echo '
           <td  class="small">'.substr($termin["datum1"][$i],8,2).'.'.substr($termin["datum1"][$i],5,2).'.'.substr($termin["datum1"][$i],0,4);
  $navmod_link
="front_content.php?client=".$client."?=".$lang."&idcat=".$navmod_id."&idart=".$termin["idart"][$i]."";
    echo '<br><a href="'.$sess->url("$navmod_link").'"
id="font">'.urldecode($termin["titel"][$i]).'</a><br><br></td> </tr>


         ';
   }
   if($gefunden == 2) break;
  }
}
if ( $gefunden == 0 ) // falls kein aktueller Termin vorliegt
{
  echo ' <tr>
   <td colspan=2 class="text"><b>Es liegen aktuell keine Termine vor!</b></td>
  </tr>';
}
?>
       </table>
hoffe es hilft noch jemanden so wie mir das ursprüngliche Script gestern geholfen hat :-)

nettertaler
Beiträge: 15
Registriert: So 6. Feb 2005, 23:29
Kontaktdaten:

Beitrag von nettertaler » Mo 8. Aug 2005, 23:39

Hallo zusammen

Erstmal vielen Dank für das Script und den guten Suport.
Leider habe ich noch das "nicht richtig sortiert Problem". Ich nutze das Script von Seite 3, ohne eine Veränderung darin vorgenommen zu haben, in meinem 4.4.4 Contenido und es werden die Termine immer in der Reihenfolge sortiert, wie ich sie eingetragen habe und nicht nach Termindatum. Leider habe ich noch keine Lösung gefunden.

Es wäre nett, wenn ihr mir nochmal helfen könntet.

Gruß Ralf

peanut
Beiträge: 246
Registriert: Do 25. Nov 2004, 19:34
Kontaktdaten:

Beitrag von peanut » Sa 13. Aug 2005, 14:04

Hast du schon mal einen Termin eingegeben überhaupt ? Wenn es trotzdem nicht gehen sollte nimm die version von der www.contenido.de - Module - download - damit ging es bei mir

wo ich nun ein problem habe ist mit den sprachen - da kommt der error

Warning: array_multisort(): Argument #1 is expected to be an array or a sort flag in /var/www/sites/lenz-power.com/html/flylpi/cms/front_content.php(567) : eval()'d code on line 782

und ich weiss nicht was das sein kann

Danke für eure Hilfe Leute

Gruss
Peanut
du liest nie ein Buch und weisst weise der Bildung auszuweichen ....

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin » So 14. Aug 2005, 17:17

peanut hat geschrieben:Warning: array_multisort(): Argument #1 is expected to be an array or a sort flag in /var/www/sites/lenz-power.com/html/flylpi/cms/front_content.php(567) : eval()'d code on line 782
Wenn ich mich recht entsinne, liegt so etwas daran, dass eine Variable mit dem gleichen Namen in einem anderen Modul auf derselben Seite benutzt wird. Guck mal nach ...

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

Teminkalender ergänzen

Beitrag von salsa » Do 1. Dez 2005, 19:19

Ich verwende das Doppelmodul von Argon in Bearbeitungen von der Halchteranerin. Mit einiger Mühe habe ich das geschafft. Es gibt drei Module: Terminein- & ausgabe (hier: Termineingabe); die Terminübersicht (hier: Terminliste) und die Terminübersicht für die Startseite der Halchteranerin (hier: Terminübersicht). Im Prinzip alles ganz toll!
Die Terminübersicht ist ganz o.k..
Bei der Termineingabe habe ich die Formatierung gändert. Ich kann das posten, wenn es jemand interessiert.
Bei der Terminliste nun hätte ich gerne zwei zusätzliche Schmackerl:
Ich fände es toll, wenn die Titelzeile auch ein Link zu dem Terminartikel wäre - so wie bei der Terminübersicht.
Wie muss der Link aussehen? Das hier funktioniert nicht:

Code: Alles auswählen

<a href="front_content.php?client=".$client."1=".$lang."1=".$termin["idart"][$i].""> 
        '.urldecode($termin["titel"][$i]).'</a>
Zweitens wäre es schön, wenn in der Terminliste die Wochentage abgekürzt (Mo, Di ...) ausgegeben würden.

Hier die Seite: http://www.gegart.de/cms/front_content.php?idcat=357 und "Terminetest".

Halchteranerin, kannst du mir bitte wieder helfen? Oder jemand anderes!
Schönen Gruß aus Dortmund

blackelementz
Beiträge: 106
Registriert: Di 27. Sep 2005, 13:53
Kontaktdaten:

Beitrag von blackelementz » Fr 9. Dez 2005, 15:16

Hallo,

super Modul. Ein weniger großes Problem. Ich verstehe die Konfiguration des Moduls nicht wirklich... möchte die Schriftart und Forum einstellen bzw. anpassen. Aber hab da nicht wirklich durchgeblickt. Will den Kalender Zentriert auf meiner Seite anzeigen lassen.

www.black-elementz.com black_eventz/Kalender

MfG

Ryan

blackelementz
Beiträge: 106
Registriert: Di 27. Sep 2005, 13:53
Kontaktdaten:

Beitrag von blackelementz » Mo 19. Dez 2005, 17:51

Kann keiner weiter helfen?

Hab noch ein neues Problem...
Wenn ich Termine eingebe für die Terminübersicht und diese dann ONline schalte dann wird der Inhalt jeweils immer ein Zeile weiter nach untenverschoben ... bin jetzt mittlerweile bei 7 Zeilen die der MONAT Dezember nach unten gerutscht ist und ich möchte das der Kalender natürlich immer so stehen bleibt und zwar oben unter dem CSS Balken den grau/schwarzen

zu sehen unter black-elementz.com Black_Eventz / Kalender


Bitte um Hilfe
Gruß Ryan

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

Terminmodule geändert

Beitrag von salsa » Mi 18. Jan 2006, 15:19

Ich habe die Termin-Module verändert. Zu sehen sind sie unter
http://www.gegart.de

Code: Alles auswählen

<?php
/***********************************************

/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :     Terminein- und -ausgabe
* Author        :     agon
* Copyright   :     Contenido - four for business
* Created     :     22-08-2002
* Modified    :     Halchteranerin; 18-01-2006 Michael Hüttemann
************************************************/



if($edit && !$_REQUEST["edit"])// Überprüfen, ob im Editiermodus aufgerufen
{
$submit="";
echo " <script language=\"JavaScript\" src=\"../contenido/scripts/calendar1.js.php?contenido=".$sess->id."\"></script>"; // Kalender einbinden
$sql = "SELECT ARTLANG.idartlang, CONTENT.idtype, CONTENT.typeid, CONTENT.value, CONTENT.idcontent
  FROM ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["content"]." AS CONTENT
  WHERE ARTLANG.idart = ".$idart." AND ARTLANG.idartlang = CONTENT.idartlang
  ORDER BY CONTENT.typeid ASC";
$db->query($sql); // Artikelangaben einlesen
if ($db->num_rows() != 0)
{
  $termin = array();
  $exists = array();
  $db->next_record();
  $idartlang = $db->f("idartlang");
  for ($i=0; $i<$db->num_rows(); $i++)
  {
   if ( $db->f("idtype") == 3 )
   {
    $j = $db->f("typeid");
    $termin[$j] = $db->f("value");
    $exists[$j] = 1;
   }
  $db->next_record();
  }
}
if($termin[6]=="") // falls noch kein Titel eingetragen, Seitentitel einlesen
{
  $sql = "SELECT ARTLANG.title
   FROM ".$cfg["tab"]["art_lang"]." AS ARTLANG
   WHERE ARTLANG.idart = ".$idart."";
  $db->query($sql);
  $db->next_record();
  $termin[6] = $db->f("title");
}
if($senden==1) // falls das Terminformular abgeschickt wurde, Daten in Datenbank schreiben
{
  $senden=0;
  $date = date("Y-m-d H:i:s");
  $author = $auth->auth["uname"];
  if (strlen($datum1)==10)
  {
   $termin[0] = $datum1;
  } else
  {
   $termin[0] = "";
  }
  $termin[1] = $zeit1;
  if (strlen($datum2)==10 && $datum2 >= $datum1)
  {
   $termin[2] = $datum2;
  } else
  {
   $termin[2] = "";
  }
  $termin[3] = $zeit2;
  $termin[4] = $ort;
  $termin[5] = $zusatz;
  $termin[6] = $titel;
  for ($i=0; $i<=6; $i++)
  {
   if($exists[$i]==1)
   {
    $sql = "UPDATE ".$cfg["tab"]["content"]."
     SET value='".$termin[$i]."', lastmodified='".$date."'
     WHERE idartlang = ".$idartlang." AND idtype='3' AND typeid='".$i."'";
    $db->query($sql);
   } else
   {
    $sql = "INSERT INTO ".$cfg["tab"]["content"]."
     (idcontent, idartlang, idtype, typeid, value, author, created, lastmodified)
      VALUES('".$db->nextid($cfg["tab"]["content"])."', '".$idartlang."', '3', '".$i."', '".$termin[$i]."', '".$author."', '".$date."', '".$date."')";
    $db->query($sql);
   }
  }
}
// ab hier das Formular für die Editieransicht
echo "<form action=\"".$REQUEST_URI."\" method=\"post\" name=\"eintrag\">
	<table border=0 cellspacing=2 cellpadding=1>
<tr>
  <td align=\"left\" class=klein>Titel</td>
			<td align=\"left\"><input type=\"text\" name=\"titel\" value=\"".urldecode(stripslashes($termin[6]))."\" size=38></td>
		</tr>
		<tr>
			<td align='\"left\"' class=klein>Zusatz</td>
			<td align='\"left\"'><input type=\"text\" name=\"zusatz\" value=\"".urldecode(stripslashes($termin[5]))."\" style=\"color: rgb(255, 0, 0)\" size=38></td>
			<td></td>
		</tr>
		<tr>
  <td nowrap class=klein>Startdatum <b class=klein >jjjj-mm-tt</b></td>
			<td align=\"left\"><input type=\"text\" name=\"datum1\" value=\"".$termin[0]."\" size=9>
   <a href=\"javascript:startcal.popup('','".$cfg['path']['contenido_fullhtml']."templates/standard/');\">
   <img src=\"".$cfg['path']['contenido_fullhtml']."images/calendar.gif\" width=20 height=20 align=absmiddle border=0 alt=\"Startzeitpunkt wählen\"></a></td>
		</tr>
<tr>
  <td align=left class=klein>Start-Uhrzeit <b class=klein>hh:mm</b></td>
  <td align=left><input type=\"text\" name=\"zeit1\" value=\"".$termin[1]."\" size=4></td>
  <td class=klein></td>
</tr>
<tr>
  <td align=left class=klein>Enddatum <b class=klein>jjjj-mm-tt</b></td>
  <td><input type=\"text\" name=\"datum2\" value=\"".$termin[2]."\" size=9>
   <a href=\"javascript:endcal.popup('','".$cfg['path']['contenido_fullhtml']."templates/standard/');\">
   <img src=\"".$cfg['path']['contenido_fullhtml']."images/calendar.gif\" width=20 height=20 align=absmiddle border=0 alt=\"Endzeitpunkt wählen\"></a></td>
   <td class=klein></td>
</tr>
<tr>
  <td align=left class=klein>End-Uhrzeit <b class=klein>hh:mm</b></td>
  <td><input type=\"text\" name=\"zeit2\" value=\"".$termin[3]."\" size=4></td>
  <td class=klein></td>
</tr>
		<tr>
  <td align=left class=klein>Ort</td>
  <td><input type=\"text\" name=\"ort\" value=\"".urldecode(stripslashes($termin[4]))."\" size=38></td>
  <td class=klein></td>
</tr>
		<tr>
  <td colspan=3 align=center>
   <input type=\"submit\" value=\" Speichern \" class=InputButton>&nbsp;&nbsp;<input type=\"hidden\" name=\"senden\" value=1>
   <input type=\"reset\" value=\" Abbrechen \" class=InputButton>
  </td>
</tr>
</table>
	</f"."orm>
	
	<p span style=\"font-weight: 400\">Weitere Informationen: </span><span style=\"font-weight: 400\">CMS_HTML[7]</span></p>
	<script language=\"JavaScript\">
var startcal = new calendar1(document.forms['eintrag'].elements['datum1']);
startcal.year_scroll = true;
startcal.time_comp = false;
var endcal = new calendar1(document.forms['eintrag'].elements['datum2']);
endcal.year_scroll = true;
endcal.time_comp = false;
</script>";
} else // ab hier Terminausgabe für Frontend-Ansicht bzw. Vorschau
{
$tag1 = substr("CMS_TEXT[0]",8,2);
$monat1 = substr("CMS_TEXT[0]",5,2);
$jahr1 = substr("CMS_TEXT[0]",0,4);
$tag2 = substr("CMS_TEXT[2]",8,2);
$monat2 = substr("CMS_TEXT[2]",5,2);
$jahr2 = substr("CMS_TEXT[2]",0,4);
$datum1 = $tag1.".".$monat1.".".$jahr1;
$datum2 = $tag2.".".$monat2.".".$jahr2;
$date1 = getdate(mktime(0,0,0,$monat1,$tag1,$jahr1));
$date2 = getdate(mktime(0,0,0,$monat2,$tag2,$jahr2));
switch ($date1[wday]) {
  case 1: $wtag1 = "Montag"; break;
  case 2: $wtag1 = "Dienstag"; break;
  case 3: $wtag1 = "Mittwoch"; break;
  case 4: $wtag1 = "Donnerstag"; break;
  case 5: $wtag1 = "Freitag"; break;
  case 6: $wtag1 = "Samstag"; break;
  case 0: $wtag1 = "Sonntag"; break; }
switch ($date2[wday]) {
  case 1: $wtag2 = "Montag"; break;
  case 2: $wtag2 = "Dienstag"; break;
  case 3: $wtag2 = "Mittwoch"; break;
  case 4: $wtag2 = "Donnerstag"; break;
  case 5: $wtag2 = "Freitag"; break;
  case 6: $wtag2 = "Samstag"; break;
  case 0: $wtag2 = "Sonntag"; break; }

echo "CMS_TEXT[6]
<p span style=\"color: rgb(255, 0, 0)\">CMS_TEXT[5]
<p>".$wtag1.", ".$datum1;
if ( "CMS_TEXT[1]"!=="" )
{
echo ", CMS_TEXT[1]";
if ( "CMS_TEXT[3]"=="" )
{
  echo " Uhr";
}
}
if ( strlen($datum2)==10 || "CMS_TEXT[3]"!=="" )
{
echo " – ";
if ( strlen($datum2)==10 )
{
  echo $wtag2.", ".$datum2;
}
if ( strlen($datum2)==10 && "CMS_TEXT[3]"!=="" )
{
  echo ', ';
}
if ( "CMS_TEXT[3]"!=="" )
{
  echo "CMS_TEXT[3] Uhr";
}
}
echo "</p>
<p class=\"text\">CMS_TEXT[4]";

echo "</p>
<p class=\"text\">CMS_HTML[7]</p>";
$navmod_link ="front_content.php?client=".$client."?=".$lang."&idcat=".$idcat."";
echo '<p><br><a href="'.$sess->url("$navmod_link").'" id="font">>> Zurück</a></p>';

}

?>

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :     Terminliste
* Author         :     agon
* Copyright   :     Contenido - four for business
* Created     :     22-08-2002
* Modified    :     Halchteranerin; 18-01-2006 Michael Hüttemann
************************************************/

$navmod_id = ((int)"CMS_VALUE[0]" == 0) ? $idcat : (int)"CMS_VALUE[0]";

$gefunden=0; // um zu überprüfen, ob überhaupt Termine vorliegen
$date = date("Y-m-d");
echo '<table border=0 cellspacing=0 cellpadding=0 width="100%">';
echo "<tr><td colspan=2 class=\"headline\">CMS_HTMLHEAD[1]</td></tr>"; // Überschrift der Seite mit der Termin-Übersicht
echo "<tr><td colspan=2 class=\"subheadline\">CMS_HTMLHEAD[2]</td></tr>"; // Weiterer Text
echo '<tr height="10"><td colspan=2>&nbsp;</td></tr>'; // Leerzeile vor der Termin-Übersicht

$sql = "SELECT ARTLANG.idart, CONTENT.value, CONTENT.typeid
 FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["cat"]." AS CAT, ".$cfg["tab"]["content"]." AS CONTENT
 WHERE ARTLANG.idart = CATART.idart AND CATART.idcat = CAT.idcat AND ARTLANG.idartlang = CONTENT.idartlang
  AND ARTLANG.idlang = '".$lang."' AND CAT.idcat = '".$idcat."' AND CAT.idclient = '".$client."'
  AND ARTLANG.online = '1' AND CATART.is_start='0'
 ORDER BY ARTLANG.idart, CONTENT.typeid ASC"; // Alle Artikel der Kategorie einlesen, die nicht Startartikel (= Terminübersicht) sind
$db->query($sql);
$j=0; $anz=0;
if ($db->num_rows() != 0)
{
 $termin = array(array()); // Array erzeugen, in dem die Termine abgelegt werden;
 while ($j < $db->num_rows()) // alle Datensätze durchlaufen
 {
  $db->next_record();
  if ($db->f("idart") > $termin["idart"][$anz])
  {
   $anz++;
  }
  switch ($db->f("typeid")) {
   case 0: // Anfangstermin
    $termin["datum1"][$anz] = $db->f("value");
    $termin["idart"][$anz] = $db->f("idart");
   break;
   case 1: // Anfangsuhrzeit
    $termin["zeit1"][$anz] = $db->f("value");
    $termin["datum1"][$anz] = $termin["datum1"][$anz]." ".$termin["zeit1"][$anz];
   break;
   case 2: // Endtermin
    $termin["datum2"][$anz] = $db->f("value");
   break;
   case 3: // Enduhrzeit
    $termin["zeit2"][$anz] = $db->f("value");
    $termin["datum2"][$anz] = $termin["datum2"][$anz]." ".$termin["zeit2"][$anz];
   break;
   case 4: // Ort
    $termin["ort"][$anz] = $db->f("value");
   break;
   case 5: // Ortdetail
    $termin["ortdetail"][$anz] = $db->f("value");
   break;
   case 6: // Titel
    $termin["titel"][$anz] = $db->f("value");
   break;
  }
  $j++;
 }
 array_multisort ( $termin["datum1"], SORT_ASC, SORT_STRING, $termin["datum2"], SORT_ASC, SORT_STRING,
  $termin["ort"], $termin["ortdetail"],
  $termin["zeit1"], $termin["zeit2"], $termin["idart"], $termin["titel"] ); // nach Datum sortieren
 for ($i=0; $i<=$anz; $i++)
 {
  if ( $termin["datum1"][$i] >= $date || $termin["datum2"][$i] >= $date ) // nur Termine, die noch aktuell sind, aufnehmen
  {
   if ( substr($termin["datum1"][$i],5,2) !== substr($termin["datum1"][$i-1],5,2) || $gefunden == 0 ) // überprüfen, ob Monatsnahme einzufügen ist
   {
    $farbe=0;
    if ( $gefunden == 1 )
    {
     echo '      </table>';
    }
    echo ' 
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="text">
	<tr>
		<td colspan="2">
			<table width="100%" border="0" cellspacing="0" cellpadding="2">
				<tr>
					<td colspan="2" class="headline" style="border: 1px; border-left: 0px; border-right:0px; border-color: #4779A0; border-style: solid; background-color: #EEEEEE">';
    switch (substr($termin["datum1"][$i],5,2)) {
     case 1: echo "Januar"; break;
     case 2: echo "Februar"; break;
     case 3: echo "März"; break;
     case 4: echo "April"; break;
     case 5: echo "Mai"; break;
     case 6: echo "Juni"; break;
     case 7: echo "Juli"; break;
     case 8: echo "August"; break;
     case 9: echo "September"; break;
     case 10: echo "Oktober"; break;
     case 11: echo "November"; break;
     case 12: echo "Dezember"; break; }
    echo ' '.substr($termin["datum1"][$i],0,4).'</td>
				</tr>
			</table>
		</td>
		<td></td>
		<td></td>
	</tr>
	';
   }
   $gefunden=1;
   echo ' 
	<tr';
   if ( $farbe == 1 )
   {
    echo ' bgcolor="#d5e6f5"';
   }
   echo '>
	<td valign="top" align="left" width="139">	
		
		'.substr($termin["datum1"][$i],8,2).'.'.substr($termin["datum1"][$i],5,2).'.'.substr($termin["datum1"][$i],0,4);
$navmod_link = "front_content.php?client=".$client."?=".$lang."&idcat=".$navmod_id."&idart=".$termin["idart"][$i]."";
   if ( strlen($termin["zeit1"][$i]) >1 )
   {
    echo ', '.$termin["zeit1"][$i].'&nbsp;Uhr';
   }
   if ( strlen(substr($termin["datum2"][$i],8,2)) > 1)
   {
    echo '&nbsp;–<br>';

    if ( strlen(substr($termin["datum2"][$i],8,2)) > 1 )
    {
     echo substr($termin["datum2"][$i],8,2).'.'.substr($termin["datum2"][$i],5,2).'.'.substr($termin["datum2"][$i],0,4);
     if ( strlen($termin["zeit2"][$i]) >1 )
     {
      echo ', ';
     }
    }
    if ( strlen($termin["zeit2"][$i]) >1 )
    {
     echo $termin["zeit2"][$i].'&nbsp;Uhr';
    }
   }
   echo '</td>
	<td valign="top" align="left">
		<div align="left">
			<font size="1">&nbsp;</font><b><a href="'.$sess->url("$navmod_link").'" id="font">'.urldecode($termin["titel"][$i]).'</a><font color="red"> '.urldecode($termin["ortdetail"][$i]).'</font></b></div>
	</td>
	</tr>';
   if ( strlen($termin["ort"][$i]) > 1 )
   {
    echo ' 
	<tr';
    if ( $farbe == 1 )
    {
     echo ' bgcolor="#d5e6f5"';
    }
    echo '>
	<td colspan="2" valign="top"> '.urldecode($termin["ort"][$i]).'</td>
	</tr>';
   }
   $sql2 = "SELECT CONTENT.value
    FROM ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["cat"]." AS CAT, ".$cfg["tab"]["content"]." AS CONTENT
    WHERE ARTLANG.idart = ".$termin["idart"][$i]." AND ARTLANG.idartlang = CONTENT.idartlang AND CONTENT.typeid = '7'";
   $db->query($sql2);
   if ($db->num_rows() != 0)
   {
    echo ' 
	<tr';
    if ( $farbe == 1 )
    {
     echo ' bgcolor="#d5e6f5"';
    }
    $db->
	next_record();
     $navmod_link = "front_content.php?client=".$client."?=".$lang."&idcat=".$navmod_id."&idart=".$termin["idart"][$i]."";
    echo '>
</tr>';
   }
   if ( $farbe == 0 ) { $farbe=1; } else { $farbe=0; }
  }
}
}
if ( $gefunden == 0 ) // falls kein aktueller Termin vorliegt
{
 echo ' 
	<tr>
		<td valign="top" align="left" width="120"></td>
		<td valign="top" align="left"></td>
		<td valign="top"></td>
		<td valign="top"></td>
	</tr>
	<tr>
		<td colspan=2><b>Es liegen aktuell keine Termine vor!</b></td>
	</tr>
	';
}
?>
</table>
Das Modul "Terminübersicht" ist ähnlich der "Terminliste" - jedoch ohne Uhrzeit und Zusatz-Text. Es eignet sich als Kontext-Liste.

Code: Alles auswählen

/***********************************************
* CONTENIDO MODUL 
*
* Modulname   :     Terminübersicht
* Author        :     agon
* Copyright   :     Contenido - four for business
* Created     :     22-08-2002
* Modified    :     Halchteranerin; 18-01-2006 Michael Hüttemann
************************************************/


//INPUT

// selected category
$selected = "CMS_VALUE[0]";

echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
        <tr>
          <td>Überschrift</td>
          <td><input type=\"text\" name=\"CMS_VAR[1]\" value=\"CMS_VALUE[1]\"></td>
        </tr>

        <tr valign=\"top\">
          <td>Kategorie wählen:</td>
          <td>
            <select name=\"CMS_VAR[0]\">";
            if($selected!="0" && $selected!=""){
             echo"<option value=\"0\">--- kein ---</option>";

            }else{
            echo"<option selected=\"selected\" value=\"0\">--- kein ---</option>";
            }

            // fetch all categorys
            $query = "SELECT A.idcat, A.level, C.name FROM ".$cfg["tab"]["cat_tree"]." AS A, ".
                     $cfg["tab"]["cat"]." AS B,  ".$cfg["tab"]["cat_lang"]." AS C WHERE A.idcat=B.idcat ".
                     "AND B.idcat=C.idcat AND C.idlang='$lang' AND B.idclient='$client' ".
                     "AND C.visible=1 ORDER BY A.idtree";
            // execute query
            $db->query($query);

            // loop result and build the options
            while ($db->next_record()) {

              // indent spacer
              $spaces = "|";

              // how many levels
              $levels = $db->f("level");

              for ($i = 0; $i < $levels; $i ++) {
                // add 2 spaces for every level
                $spaces = $spaces . "--";

              } // end for
             
              $spaces .= ">";


              if ($selected == $db->f("idcat")) {
                // selected category
                echo "<option selected=\"selected\" value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";

              } else {
                // category
                echo "<option value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";

              } // end if

            } // end while

echo "      </select>";

echo "    </td>
        </tr>

      </table>";
-----------------------------------------------------------------------
<?php
//OUTPUT

$navmod_id = ((int)"CMS_VALUE[0]" == 0) ? $idcat : (int)"CMS_VALUE[0]";

$gefunden = 0; // um zu überprüfen, ob überhaupt Termine vorliegen
$date = date("Y-m-d");

echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" ";

echo "<tr>
		<td style=\"border: 1px ; border-color: #F7C473; border-style: dashed; background-color: #FCF2D5\" colspan=\"2\">

<table width=100%  border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
	<tr>
		<td height=\"21\" width=\"22\"  style=\"border: 0px; border-top:1px; border-bottom:1px; border-color: #F7C473; border-style: solid\"><img src=\"images/wuerfel.gif\"></td>
		<td class=\"punkte\">&nbsp;&nbsp;&nbsp;CMS_VALUE[1]</td>
	</tr>
</table>

</td>
	</tr>
	"; //Überschrift der Termin-Übersicht

// Alle Artikel der Kategorie einlesen, die nicht Startartikel (= Terminübersicht) sind * nur contenido 4.4.x


$sql = "SELECT
         ARTLANG.idart,
         ARTLANG.idartlang,
         CONTENT.idtype, 
         CONTENT.typeid,
         CONTENT.value,
         CONTENT.idcontent
       FROM
          ".$cfg["tab"]["cat_art"]." AS CATART,
          ".$cfg["tab"]["art_lang"]." AS ARTLANG,
          ".$cfg["tab"]["cat"]." AS CAT,
          ".$cfg["tab"]["content"]." AS CONTENT
       WHERE
          ARTLANG.idart = CATART.idart AND
          CATART.idcat = CAT.idcat AND
          ARTLANG.idartlang = CONTENT.idartlang AND
          ARTLANG.idlang = '".$lang."' AND
          CAT.idcat = '".$navmod_id."' AND
          CAT.idclient = '".$client."' AND
          ARTLANG.online = '1' AND
          CATART.is_start='0'
       ORDER BY
          ARTLANG.idart,
          CONTENT.typeid ASC";

$db->query($sql);
$j = 0;
$anz = 0;
if ($db->num_rows() != 0) {
   $termin = array (array ()); // Array erzeugen, in dem die Termine abgelegt werden;
   while ($j < $db->num_rows()) // alle Datensätze durchlaufen
      {
      $db->next_record();
      if ($db->f("idart") > $termin["idart"][$anz]) {
         $anz ++;
      }
      switch ($db->f("typeid")) {
         case 0 : // Anfangstermin
            $termin["datum1"][$anz] = $db->f("value");
            $termin["idart"][$anz] = $db->f("idart");
            break;
         case 1 : // Anfangsuhrzeit
            $termin["zeit1"][$anz] = $db->f("value");
            $termin["datum1"][$anz] = $termin["datum1"][$anz]." ".$termin["zeit1"][$anz];
            break;
         case 2 : // Endtermin
            $termin["datum2"][$anz] = $db->f("value");
            break;
         case 3 : // Enduhrzeit
            $termin["zeit2"][$anz] = $db->f("value");
            $termin["datum2"][$anz] = $termin["datum2"][$anz]." ".$termin["zeit2"][$anz];
            break;
         case 4 : // Ort
            $termin["ort"][$anz] = $db->f("value");
            break;
         case 5 : // Ortdetail
            $termin["ortdetail"][$anz] = $db->f("value");
            break;
         case 6 : // Titel
            $termin["titel"][$anz] = $db->f("value");
            break;
      }
      $j ++;
   }
   array_multisort($termin["datum1"], SORT_ASC, SORT_STRING,
                   $termin["datum2"], SORT_ASC, SORT_STRING,
                   $termin["ort"],
                   $termin["ortdetail"],
                   $termin["zeit1"],
                   $termin["zeit2"],
                   $termin["idart"],
                   $termin["titel"]); // nach Datum sortieren

   for ($i = 0; $i <= $anz; $i ++) {
      if ($termin["datum1"][$i] >= $date || $termin["datum2"][$i] >= $date) // nur Termine, die noch aktuell sind, aufnehmen
         {

         $gefunden ++;
         echo ' 
	<tr>';
         echo '
        <td valign="top" style="border: 1px; border-top:0px; border-right:0px; border-color: #F7C473; border-style: dashed; padding-left:3px" class="text">

'.substr($termin["datum1"][$i],8,2).'.'.substr($termin["datum1"][$i],5,2).'.'.substr($termin["datum1"][$i],0,4);

    if ( substr($termin["datum2"][$i],8,2) > 1 && substr($termin["datum2"][$i],8,2) != substr($termin["datum1"][$i],8,2))
   {
    echo '–<br>
		';
	}
    if ( substr($termin["datum2"][$i],8,2) > 1 && substr($termin["datum2"][$i],8,2) != substr($termin["datum1"][$i],8,2))
    {
     echo substr($termin["datum2"][$i],8,2).'.'.substr($termin["datum2"][$i],5,2).'.'.substr($termin["datum2"][$i],0,4);
    };
   
$navmod_link = "front_content.php?client=".$client."?=".$lang."&idcat=".$navmod_id."&idart=".$termin["idart"][$i]."";
         
echo '</td>
                   <td valign="top" style="border: 1px; border-top:0px; border-left:0px; border-color: #F7C473; border-style: dashed; padding-left:3px"class="text"><a href="'.$sess->url("$navmod_link").'" id="font">'.urldecode($termin["titel"][$i]).'</a></td>
                 </tr>
	';
      }

      /*Untenstehend ist die gewünschte Anzahl der anzuzeigenden Termine ggf. anzupassen.
         In diesem Fall werden 5 Termine aufgelistet. */

      if ($gefunden == 5)
         break;
   }
}
if ($gefunden == 0) // falls kein aktueller Termin vorliegt
   {
   echo ' <tr>
     <td colspan=2 style="border: 1px; border-top: 1px; border-left: 1px; border-right: 1px; border-bottom: 1px; border-color: #4779A0; border-style: solid" class=\"text\"><b>Es liegen aktuell keine Termine vor!</b></td>
    </tr>';
}

echo "</table>";
?>

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

vorweg Wochentage So Mo...

Beitrag von salsa » Mi 18. Jan 2006, 15:36

Die Terminmodule - siehe mein Beitrag oben - finde ich ganz toll.
Jetzt hätte ich gerne nur noch bei der Terminliste die abgekürzten Wochentage vorneweg (So, Mo, Di,...).
Trotz vielfältiger Versuche habe ich das noch nicht geschafft.
Wer hilft mir?
Michael Hüttemann, Dortmund

Neuling
Beiträge: 78
Registriert: Di 24. Mai 2005, 14:46
Kontaktdaten:

Beitrag von Neuling » Di 21. Feb 2006, 16:05

hallo,

ich wollte dieses Modul verwenden bekomme es aber nicht zum laufen!

Ich habe 2 Templates definiert welche einmal die Terminübersicht und einmal die Terminein und ausgabe beinhaltetn.

Auf der Startseite wird mir aber immer angezeigt "Es liegt kein aktueller Termin" vor!

Was mache ich falsch?

Auch wenn ich ein Datum auswähle und das Kalenderpopup erscheint kommt danach "Object nicht gefunden".

rezeptionist
Beiträge: 1536
Registriert: Fr 20. Aug 2004, 10:07
Kontaktdaten:

Beitrag von rezeptionist » Di 21. Feb 2006, 16:17

Hellsehen geht nicht !

So ich gehe davon aus du hast eeine Kategorie angelegt ! In dieser Kategorie hast du einen Startartikel dem das Template zugewiessen ist in dem das Modul Terminübersicht eingebunden ist . Jetzt legst du in der selbigen Kategorie einen Artikel an und weisst ihm das Template zu, in dem das Termineingabemodul implementiert ist . Nun solltest du einen Termin über die Editieransicht eingeben können. Mit welchem Browser arbeitest du ?? Und wann danach kommt diese Meldung. Was sagt der Errorlog ??
greets

Neuling
Beiträge: 78
Registriert: Di 24. Mai 2005, 14:46
Kontaktdaten:

Beitrag von Neuling » Do 23. Feb 2006, 09:28

Ja, Templates & Co. sind alle richtig konfiguriert!

Error Log sagt folgendes:

Code: Alles auswählen

[22-Feb-2006 23:48:59] PHP Warning:  strtotime() [<a href='function.strtotime'>function.strtotime</a>]: Called with an empty time parameter. in E:\Daten\web\tsv\productive_system\cms\front_content.php(772) : eval()'d code on line 684

[22-Feb-2006 23:48:59] PHP Warning:  date() [<a href='function.date'>function.date</a>]: Windows does not support dates prior to midnight (00:00:00), January 1, 1970 in E:\Daten\web\tsv\productive_system\cms\front_content.php(772) : eval()'d code on line 684

[22-Feb-2006 23:48:59] PHP Warning:  strtotime() [<a href='function.strtotime'>function.strtotime</a>]: Called with an empty time parameter. in E:\Daten\web\tsv\productive_system\cms\front_content.php(772) : eval()'d code on line 685

[22-Feb-2006 23:48:59] PHP Warning:  date() [<a href='function.date'>function.date</a>]: Windows does not support dates prior to midnight (00:00:00), January 1, 1970 in E:\Daten\web\tsv\productive_system\cms\front_content.php(772) : eval()'d code on line 685

[22-Feb-2006 23:48:59] PHP Warning:  strtotime() [<a href='function.strtotime'>function.strtotime</a>]: Called with an empty time parameter. in E:\Daten\web\tsv\productive_system\cms\front_content.php(772) : eval()'d code on line 684

[22-Feb-2006 23:48:59] PHP Warning:  date() [<a href='function.date'>function.date</a>]: Windows does not support dates prior to midnight (00:00:00), January 1, 1970 in E:\Daten\web\tsv\productive_system\cms\front_content.php(772) : eval()'d code on line 684

[22-Feb-2006 23:48:59] PHP Warning:  strtotime() [<a href='function.strtotime'>function.strtotime</a>]: Called with an empty time parameter. in E:\Daten\web\tsv\productive_system\cms\front_content.php(772) : eval()'d code on line 685

[22-Feb-2006 23:48:59] PHP Warning:  date() [<a href='function.date'>function.date</a>]: Windows does not support dates prior to midnight (00:00:00), January 1, 1970 in E:\Daten\web\tsv\productive_system\cms\front_content.php(772) : eval()'d code on line 685

[22-Feb-2006 23:48:59] PHP Warning:  strtotime() [<a href='function.strtotime'>function.strtotime</a>]: Called with an empty time parameter. in E:\Daten\web\tsv\productive_system\cms\front_content.php(772) : eval()'d code on line 684

[22-Feb-2006 23:48:59] PHP Warning:  date() [<a href='function.date'>function.date</a>]: Windows does not support dates prior to midnight (00:00:00), January 1, 1970 in E:\Daten\web\tsv\productive_system\cms\front_content.php(772) : eval()'d code on line 684

[22-Feb-2006 23:48:59] PHP Warning:  strtotime() [<a href='function.strtotime'>function.strtotime</a>]: Called with an empty time parameter. in E:\Daten\web\tsv\productive_system\cms\front_content.php(772) : eval()'d code on line 685

[22-Feb-2006 23:48:59] PHP Warning:  date() [<a href='function.date'>function.date</a>]: Windows does not support dates prior to midnight (00:00:00), January 1, 1970 in E:\Daten\web\tsv\productive_system\cms\front_content.php(772) : eval()'d code on line 685

[22-Feb-2006 23:48:59] PHP Warning:  strtotime() [<a href='function.strtotime'>function.strtotime</a>]: Called with an empty time parameter. in E:\Daten\web\tsv\productive_system\cms\front_content.php(772) : eval()'d code on line 684

[22-Feb-2006 23:48:59] PHP Warning:  date() [<a href='function.date'>function.date</a>]: Windows does not support dates prior to midnight (00:00:00), January 1, 1970 in E:\Daten\web\tsv\productive_system\cms\front_content.php(772) : eval()'d code on line 684

[22-Feb-2006 23:48:59] PHP Warning:  strtotime() [<a href='function.strtotime'>function.strtotime</a>]: Called with an empty time parameter. in E:\Daten\web\tsv\productive_system\cms\front_content.php(772) : eval()'d code on line 685

[22-Feb-2006 23:48:59] PHP Warning:  date() [<a href='function.date'>function.date</a>]: Windows does not support dates prior to midnight (00:00:00), January 1, 1970 in E:\Daten\web\tsv\productive_system\cms\front_content.php(772) : eval()'d code on line 685

[22-Feb-2006 23:48:59] PHP Warning:  strtotime() [<a href='function.strtotime'>function.strtotime</a>]: Called with an empty time parameter. in E:\Daten\web\tsv\productive_system\cms\front_content.php(772) : eval()'d code on line 684

[22-Feb-2006 23:48:59] PHP Warning:  date() [<a href='function.date'>function.date</a>]: Windows does not support dates prior to midnight (00:00:00), January 1, 1970 in E:\Daten\web\tsv\productive_system\cms\front_content.php(772) : eval()'d code on line 684

[22-Feb-2006 23:48:59] PHP Warning:  strtotime() [<a href='function.strtotime'>function.strtotime</a>]: Called with an empty time parameter. in E:\Daten\web\tsv\productive_system\cms\front_content.php(772) : eval()'d code on line 685

[22-Feb-2006 23:48:59] PHP Warning:  date() [<a href='function.date'>function.date</a>]: Windows does not support dates prior to midnight (00:00:00), January 1, 1970 in E:\Daten\web\tsv\productive_system\cms\front_content.php(772) : eval()'d code on line 685
Ich muss dazu sagen das ich einen Apache Webserver (Xampp) unter Windows verwende und ich bei einem anderen Modul (Artikelliste) ein ähnliches Problem habe! Aber nur lokal unter Windows! Unter linxu geht es! Das habe ich mit diesem Terminmodul noch nicht probiert!
Das heitßt doch so viel das er die Zeit nicht speichern kann oder!?
Muss ich da irgendwas an meiner Serverkonfiguration ändern?

Neuling
Beiträge: 78
Registriert: Di 24. Mai 2005, 14:46
Kontaktdaten:

Beitrag von Neuling » Fr 24. Feb 2006, 13:27

kann mir keiner mit diesem Problem helfen? Solange das Modul nicht offline läuft kann ich es nicht anpassen und testen...

rezeptionist
Beiträge: 1536
Registriert: Fr 20. Aug 2004, 10:07
Kontaktdaten:

Beitrag von rezeptionist » Fr 24. Feb 2006, 13:31

stell das teil mal online und ich würde zu 99% sagen das es dann geht :wink:

(und ab und an muss jeder hier auch Geld verdienen ) :wink:
greets

Gesperrt