Modul Termineingabe-ausgabe-übersicht gesucht

Gesperrt
Simone
Beiträge: 193
Registriert: Fr 9. Sep 2005, 06:39
Kontaktdaten:

Modul Termineingabe-ausgabe-übersicht gesucht

Beitrag von Simone » Mo 12. Sep 2005, 16:50

Das unter http://www.contenido.org/opensourcecms/ ... a-130.html aufgeführte Modul ist leider nicht korrekt. Hat jemand ein anderes Modul, um Terminwünsche einbinden zu können?

Gruß Simone

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

Beitrag von Halchteranerin » Mo 12. Sep 2005, 17:28

Versuch's mit dieser Ausgabe:

Code: Alles auswählen

<?php 
if($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] = $ort1; 
  $termin[5] = $ort2; 
  $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\">Titel</td> 
  <td align=\"left\"><input type=\"text\" name=\"titel\" value=\"".urldecode(stripslashes($termin[6]))."\" size=27 class=Input></td> 
</tr> 
<tr> 
  <td nowrap>Startdatum <b class=klein>jjjj-mm-tt</b></td> 
  <td align=\"left\"><input type=\"text\" name=\"datum1\" value=\"".$termin[0]."\" size=11 class=Input>
   <a href=\"javascript:startcal.popup('','".$cfg['path']['contenido_fullhtml']."templates/standard/');\">
   <img src=\"".$cfg['path']['contenido_fullhtml']."images/calendar.gif\" width=16 height=16 border=0 alt=\"Startzeitpunkt wählen\"></a></td> 
</tr> 
<tr> 
  <td align=left>Start-Uhrzeit <b class=klein>hh:mm</b></td> 
  <td align=left><input type=\"text\" name=\"zeit1\" value=\"".$termin[1]."\" size=6 class=Input></td> 
  <td class=klein>(kann auch leer bleiben)</td> 
</tr> 
<tr> 
  <td align=left>Enddatum <b class=klein>jjjj-mm-tt</b></td> 
  <td><input type=\"text\" name=\"datum2\" value=\"".$termin[2]."\" size=11 class=Input>
   <a href=\"javascript:endcal.popup('','".$cfg['path']['contenido_fullhtml']."templates/standard/');\">
   <img src=\"".$cfg['path']['contenido_fullhtml']."images/calendar.gif\" width=16 height=16 border=0 alt=\"Endzeitpunkt wählen\"></a></td>
   <td class=klein>(kann auch leer bleiben)</td> 
</tr> 
<tr> 
  <td align=left>End-Uhrzeit <b class=klein>hh:mm</b></td> 
  <td><input type=\"text\" name=\"zeit2\" value=\"".$termin[3]."\" size=6 class=Input></td> 
  <td class=klein>(kann auch leer bleiben)</td> 
</tr> 
<tr> 
  <td align=left>Ort</td> 
  <td><input type=\"text\" name=\"ort1\" value=\"".urldecode(stripslashes($termin[4]))."\" size=20 class=Input></td> 
  <td class=klein>(erscheint <i>auch</i> in der Übersicht)</td> 
</tr> 
<tr> 
  <td align=left>Ort - Detail</td> 
  <td><input type=\"text\" name=\"ort2\" value=\"".urldecode(stripslashes($termin[5]))."\" size=27 class=Input></td> 
  <td class=klein>(erscheint <i>nicht</i> in der Übersicht)</td> 
</tr> 
<tr> 
  <td colspan=3 align=center> 
   <input type=\"submit\" value=\" Absenden \" class=InputButton>&nbsp;&nbsp;<input type=\"hidden\" name=\"senden\" value=1> 
   <input type=\"reset\" value=\" Abbrechen \" class=InputButton> 
  </td> 
</tr> 
</table> 
</f"."orm> 
<p>Ansprechperson/Details: CMS_HTML[7]</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 "<h1 class=\"headline\">CMS_TEXT[6]</h1> 
<font id=\"font\"><p>&nbsp;&nbsp;".$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>&nbsp;&nbsp;<b>CMS_TEXT[4]</b>"; 
if ( "CMS_TEXT[5]" ) 
{ 
echo ", CMS_TEXT[5]"; 
} 
echo "</p> 
<p><br>CMS_HTML[7]</p></font>"; 
$navmod_link ="front_content.php?client=".$client."?=".$lang."&idcat=".$idcat.""; 
echo '<p><br><a href="'.$sess->url("$navmod_link").'" id="font">Zurück zur Terminübersicht</a></p>';
} 

?>
Keine Ahnung, woher ich die habe, denn sie unterscheidet sich an einer bestimmten Stelle von der anderen Version, ich kann mich aber nicht erinnern, sie geaendert zu haben. Die Version auf contenido.de hat bei mir in der Tat auch eine rote Lampe, es kann also nicht (nur) vom Kopieren gekommen sein.
Zuletzt geändert von Halchteranerin am So 22. Okt 2006, 18:08, insgesamt 1-mal geändert.

Simone
Beiträge: 193
Registriert: Fr 9. Sep 2005, 06:39
Kontaktdaten:

Es klappt

Beitrag von Simone » Mi 14. Sep 2005, 07:19

alles sehr gut. Ich danke Dir!

Simone
Beiträge: 193
Registriert: Fr 9. Sep 2005, 06:39
Kontaktdaten:

Beitrag von Simone » Mo 31. Okt 2005, 17:30

Nachtrag für alle, die das Modul benutzen.

Das von Halchteranerin bereitgestellte Modul funktioniert in 99% aller Fälle.

Anfänglich funktionierte das Modul Termineinausgabe bei mir, bis es plötzlich aussetzte und sich im Forum als das "Donnerstagsproblem" herausstellte.

Die Lösung des Problems stammt von emergence
siehe http://contenido.org/forum/viewtopic.php?t=9896

Simone

Gesperrt