habe mir mal die terminlösungen hier angesehen und ausprobiert, mich dann aber entschlossen, eine eigene variante zu programmieren.
da ich die termindaten teilweise im- und exprotieren muss, möchte ich eigene datenbanktabellen für die veranstaltungen, die orte, referenten etc. haben.
der ansatz (hier der codeschnipsel für die termineingabe) sähe dann für contenido so aus:
Code: Alles auswählen
if (!is_object($tpl))
{
$tpl = new Template;
}
$tpl->reset();
$template = "termin.html";
if (!is_object($db))
$db = new DB_Contenido;
$db1 = new DB_Contenido;
$db2 = new DB_Contenido;
$db3 = new DB_Contenido;
$db4 = new DB_Contenido;
$db5 = new DB_Contenido;
cInclude('classes', 'class.template.php');
cInclude('classes', 'class.termine.php');
if ($edit)
{
echo '<script type="text/javascript" src="'.$cfg['path']['contenido_fullhtml'].'scripts/calendar1.js.php?contenido='.$sess->id.'"></script>';
if(isset($_POST['senden']))
{
$sql = "insert into ".$cfg["tab"]["veranstaltung"]." (te_beginn_datum, te_end_datum, te_kategorie_text1, te_titel, te_kurz_text, te_lang_text, te_kosten, te_kosten_zusatz, te_beginn_zeit, te_end_zeit, te_uhrzeit_text, st_veranstaltungsort, an_ansprechpartner, re_referent1, re_referent2) values ('$te_beginn_datum', '$te_end_datum', '".$_POST['te_kategorie_text1']."', '".$_POST['te_titel']."', '".$_POST['te_kurz_text']."', '".$_POST['te_lang_text']."', '".$_POST['te_kosten']."', '".$_POST['te_kosten_zusatz']."', '".$_POST['te_beginn_zeit']."', '".$_POST['te_end_zeit']."', '".$_POST['te_uhrzeit_text']."', '".$_POST['st_veranstaltungsort']."', '".$_POST['an_ansprechpartner']."', '".$_POST['re_referent1']."', '".$_POST['re_referent2']."')";
$db1->query($sql);
$db1->next_record();
}
// Termineingabe Backend
echo '<form action="'.$REQUEST_URI.'" method="post" name="formulareintrag">
<table align="center" cellpadding="2" cellspacing="2" border="0" width="90%">
<tr><td align="center" colspan="2"><b>Neuen Termin eingeben</b><br><br></td></tr>
<tr><td>'.mi18n("Datum Beginn (Format: JJJJ-MM-TT)").'</td><td valign="top"><input type="text" name="te_beginn_datum" size="15"> <a href="javascript:startcal.popup(\'\',\''.$cfg['path']['contenido_fullhtml'].'templates/standard/\');"><img src="'.$cfg['path']['contenido_fullhtml'].'images/calendar.gif" width="16" valign="top" height="16" border="0" alt="'.mi18n("Bitte Datum mit Hilfe des Kalenders waehlen").'"></a></td></tr>
<tr><td>'.mi18n("Datum Ende (Format: JJJJ-MM-TT)").'</td><td valign="top"><input type="text" name="te_end_datum" size="15" class=Input> <a href="javascript:endcal.popup(\'\',\''.$cfg['path']['contenido_fullhtml'].'templates/standard/\');"><img src="'.$cfg['path']['contenido_fullhtml'].'images/calendar.gif" width="16" valign="top" height="16" border="0" alt="'.mi18n("Bitte Datum mit Hilfe des Kalenders waehlen").'"></a></td></tr>
<tr><td>'.mi18n("Kategorie").' </td><td><input name="te_kategorie_text1" type="text" size="30"></td></tr>
<tr><td>'.mi18n("Veranstaltungsname").' </td><td><input name="te_titel" type="text" size="50"></td></tr>
<tr><td>'.mi18n("Kurztext").' </td><td><textarea name="te_kurz_text" rows="3" cols="45"></textarea></td></tr>
<tr><td>'.mi18n("Langtext").' </td><td><textarea name="te_lang_text" rows="6" cols="45"></textarea></td></tr>
<tr><td>'.mi18n("Kosten").' </td><td><input name="te_kosten" type="text" size="15"> (Format: 00,00)</td></tr>
<tr><td>'.mi18n("Kosten Kommentar").' </td><td><input name="te_kosten_zusatz" type="text" size="50"></td></tr>
<tr><td>'.mi18n("Zeit (Beginn)").' </td><td><input name="te_beginn_zeit" type="text" size="20"> (Format: hh:mm:ss)</td></tr>
<tr><td>'.mi18n("Zeit (Ende)").' </td><td><input name="te_end_zeit" type="text" size="20"> (Format: hh:mm:ss)</td></tr>
<tr><td>'.mi18n("Zeit Kommentar (optional)").' </td><td><input name="te_uhrzeit_text" type="text" size="40"></td></tr>
<tr><td>'.mi18n("Veranstaltungsort").' </td><td><select name="st_veranstaltungsort" size="1">';
$sql = "SELECT st_veranstaltungsort FROM ".$cfg["tab"]["veranstaltungsort"]."";
$db2->query($sql);
while ($db2->next_record())
{
echo "<option>".$db2->f("st_veranstaltungsort")."</option>";
}
echo '</select></td></tr>
<tr><td>Anmeldung </td><td><select name="an_ansprechpartner" size="1">';
$sql = "SELECT an_ansprechpartner FROM ".$cfg["tab"]["anmeldung"]."";
$db3->query($sql);
while ($db3->next_record())
{
echo "<option>".$db3->f("an_ansprechpartner")."</option>";
}
echo '</select></td></tr>
<tr><td>Referent 1 </td><td><select name="re_referent1" size="1">';
$sql = "SELECT re_referent FROM ".$cfg["tab"]["referent"]."";
$db4->query($sql);
while ($db4->next_record())
{
echo "<option>".$db4->f("re_referent")."</option>";
}
echo '</select></td></tr>
<tr><td>Referent 2 </td><td><select name="re_referent2" size="1">
<option>Bitte wählen</option>';
$sql = "SELECT re_referent FROM ".$cfg["tab"]["referent"]."";
$db5->query($sql);
while ($db5->next_record())
{
echo "<option>".$db5->f("re_referent")."</option>";
}
echo '</select></td></tr>
<tr><td> </td><td><input type="submit" value="'.mi18n("Absenden").'" class=InputButton> <input type="hidden" name="senden" value=1><input type="reset" value="'.mi18n("Zuruecksetzen").'" class=InputButton></td>
</tr></table></form>';
echo '<script language="JavaScript">
var startcal = new calendar1(document.forms[\'formulareintrag\'].elements[\'te_beginn_datum\']);
startcal.year_scroll = true;
startcal.time_comp = false;
var endcal = new calendar1(document.forms[\'formulareintrag\'].elements[\'te_end_datum\']);
endcal.year_scroll = true;
endcal.time_comp = false;
</script>';
}
schlaucher hat das in seiner terminverwaltung gelöst, indem er alle daten in die tabelle con_content ablegt. dies ist sicher auch der einzig mögliche weg, aber ich bin noch nicht so fit, um seinen code komplett zu verstehen.
hat jemand einen einfachen vorschlag oder tipp, wie ich meinen code ergänzen kann, um die daten des termins eindeutig in die tabelle con_content abzulegen, so dass ich später wieder darauf zugreifen kann - und wie dieser zugriff aussehen müsste?
danke und gruss, V.