Tach zusammen,
so, ich hab es mit viel Beispielcode hier aus dem Forum und einem crashkurs php geschafft was zusammenzubauen was genau das macht, was ich brauch. :)) Ich poste mal das Terminmodul und das übersichtsmodul hier. Vielleicht hat ja wer verwendung dafür.
Terminmodul
INPUT
echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
<tr>
<td>Thema:</td>
<td><input type=\"text\" name=\"CMS_VAR[0]\" value=\"CMS_VALUE[0]\"></td>
</tr>
<tr>
<td>Startzeit (tt.mm.jjjj hh:mm)</td>
<td><input type=\"text\" name=\"CMS_VAR[1]\" value=\"CMS_VALUE[1]\"></td>
</tr>
<tr>
<td>Endzeit (tt.mm.jjjj hh:mm)</td>
<td><input type=\"text\" name=\"CMS_VAR[2]\" value=\"CMS_VALUE[2]\"></td>
</tr>
<tr>
<td>Buchungsstart (tt.mm.jjjj hh:mm)</td>
<td><input type=\"text\" name=\"CMS_VAR[3]\" value=\"CMS_VALUE[3]\"></td>
</tr>
<tr>
<td>Buchungsende (tt.mm.jjjj hh:mm)</td>
<td><input type=\"text\" name=\"CMS_VAR[4]\" value=\"CMS_VALUE[4]\"></td>
</tr>
<tr>
<td>Ort:</td>
<td><input type=\"text\" name=\"CMS_VAR[5]\" value=\"CMS_VALUE[5]\"></td>
</tr>
<tr>
<td>Email-Empfänger:</td>
<td><input type=\"text\" name=\"CMS_VAR[6]\" value=\"CMS_VALUE[6]\"></td>
</tr>
<tr>
<td>Absenderadresse:</td>
<td><input type=\"text\" name=\"CMS_VAR[7]\" value=\"CMS_VALUE[7]\"></td>
</tr>
</table>";
OUTPUT
<?
$thema="CMS_VALUE[0]";
$start="CMS_VALUE[1]";
$stop="CMS_VALUE[2]";
$startres="CMS_VALUE[3]";
$stopres="CMS_VALUE[4]";
$ort="CMS_VALUE[5]";
$empfaenger="CMS_VALUE[6]";
$absender="CMS_VALUE[7]";
$wochentag = array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
if (preg_match("/^(\d+).(\d+).(\d+)\s(\d+):(\d+)/",$start,$erg)==0) $date1=-1;
else $date1=mktime($erg[4],$erg[5],0,$erg[2],$erg[1],$erg[3]);
if (preg_match("/^(\d+).(\d+).(\d+)\s(\d+):(\d+)/",$stop,$erg)==0) $date2=-1;
else $date2=mktime($erg[4],$erg[5],0,$erg[2],$erg[1],$erg[3]);
if (preg_match("/^(\d+).(\d+).(\d+)\s(\d+):(\d+)/",$startres,$erg)==0) $date3=-1;
else $date3=mktime($erg[4],$erg[5],0,$erg[2],$erg[1],$erg[3]);
if (preg_match("/^(\d+).(\d+).(\d+)\s(\d+):(\d+)/",$stopres,$erg)==0) $date4=-1;
else $date4=mktime($erg[4],$erg[5],0,$erg[2],$erg[1],$erg[3]);
if ($date1==-1) $start="Bitte ein Datum eingeben";
if ($date2==-1) $stop=""; //darf leer sein, nur unglltig abfangen
if ($date3==-1) $startres="";
if ($date4==-1) $stopres="";
/************ Formular bearbeitung ***************/
if (isset($button)&&($button!="")) {
$error="";
if(strlen($wohnort)<=0) $error="Bitte geben Sie Ihre Postleitzahl und Ihren Wohnort ein ein";
if(strlen($adresse)<=0) $error="Bitte geben Sie Ihre Strasse und Hausnummer ein";
if(strlen($name)<=0) $error="Bitte geben Sie Ihren Namen ein";
if(strlen($email)>0) {
if (preg_match("/^[^@]+@[^@]+\.[^\.@]+/",$email,$erg)==0) {
$error="Wenn schon email, dann gltig :)";
$email="";
}
}
if (strlen($error)!=0) {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&error=$error&name=$name&wohnort=$wohnort&adresse=$adresse&email=$email#anmeldung\">";
} else {
echo "<div id=\"seitentitel\">";
echo $thema;
echo "</div>";
echo "Vielen Dank für Ihr Interesse an der Veranstaltung <b>$thema</b> am <b>".date("d.m.Y",$date1).".</b><br>";
echo "Sie wurden mit folgenden Daten angemeldet:<p>";
echo "<table border=0 cellspacing=0 cellpadding=0 id=\"beitrag\">";
echo "<tr><td>Name:</td><td>$name</td></tr>";
echo "<tr><td>Adresse:</td><td>$adresse</td></tr>";
echo "<tr><td>PLZ/Ort:</td><td>$wohnort</td></tr>";
echo "<tr><td>Email:</td><td>$email</td></tr>";
echo "<tr><td>Bemerkung:</td><td>$bemerkung</td></tr>";
echo "</table>";
echo "<p>Sie erhalten in den nächsten Minuten eine Bestätigungsemail. ";
echo "Sollten weitere Fragen bestehen wenden Sie sich bitte an folgende <a href=\"mailto:CMS_VALUE[6]\">Emailadresse";
echo "<p><a href=\"front_content.php?client=$client&lang=$lang&idcat=$idcat\">zurück zur Übersicht</a>";
//Email an mich
$subject="Neue Anmeldung: ".$thema;
$from="CMS_VALUE[7]";
$to="CMS_VALUE[6]";
$header="From: Webmailer <".$from.">\n";
$header.="X-Mailer: PHP/" .phpversion()."\n";
$header.="X-Sender-IP: $REMOTE_ADDR\n";
$emailbody="Folgende Daten wurden übermittelt:\n\n";
$emailbody.="Name: ".$name."\n";
$emailbody.="Adresse: ".$adresse."\n";
$emailbody.="PLZ/Ort: ".$wohnort."\n";
$emailbody.="Email: ".$email."\n";
$emailbody.="Bemerkung:\n".$bemerkung."\n\n";
$emailbody.="Liebe Gruesse vom Webmailer";
if (!mail($to,$subject,$emailbody,$header)) {
echo "<font id=\"error\">Fehler beim Mailversand. Bitte Webmaster informieren.<br></font>";
}
//Email an gast
if (strlen($email)>0) {
$subject="Anmeldebstätigung: ".$thema;
$from="CMS_VALUE[7]";
$to=$email;
$header="From: Webmailer <".$from.">\n";
$header.="X-Mailer: PHP/" .phpversion()."\n";
$header.="Reply-To: CMS_VALUE[6]\n";
$header.="X-Sender-IP: $REMOTE_ADDR\n";
$emailbody="Ihre Anmeldung zur folgenden Veranstaltung wurde weitergeleitet:\n\n";
$emailbody.=$thema."\n";
$emailbody.="Am ".date("d.m.Y",$date1)." in ".$ort."\n\n";
$emailbody.="Ihre Daten werden bearbeitet und Sie erhalten danach ";
$emailbody.="eine verbindliche Anmeldebestätigung.\n\n";
$emailbody.="Liebe Grüße vom\nWebmailer\n";
if (!mail($to,$subject,$emailbody,$header)) {
echo "<font id=\"error\">Fehler beim Mailversand. Bitte Webmaster informieren.<br></font>";
}
}
}
/********** Ausgabe ***************************/
} else {
echo "<div id=\"seitentitel\">";
echo $thema;
echo "</div>";
if ($date1!=-1) {
echo "<b>".$wochentag[ date("w",$date1) ].", den ".date("d.m.y",$date1)." ".date("G:i",$date1)." Uhr</b>";
if ($date2!=-1) {
echo "<br>bis ";
echo $wochentag[ date("w",$date2) ].", den ".date("d.m.y",$date2)." ".date("G:i",$date2)." Uhr";
}
} else echo $start; //Fehler ausgeben
echo "<p><b>".$ort."</b><p>";
echo "Infos/Thema:<br>";
echo "CMS_HTML[1]<p>";
/*********** buchung einblenden **************/
// wenn innerhalb des buchungszeitraumes
if ( (($date3==-1)&&($date4==-1)) || (($date3<time())&&($date4==-1)) || (($date3<time())&&($date4>time())) ) {
echo "<a name=\"anmeldung\">";
echo "Wenn sie sich für diese Veranstaltung anmelden wollen, füllen Sie bitte folgendes Formular aus.";
echo " Ihre Daten werden zur Bearbeitung weitergeleitet. Die mit * ";
echo "markierten Felder sind Pflichtpfelder.<br>";
echo "<f"."orm action=\"front_content.php\">";
echo "<input type=\"hidden\" name=\"client\" value=\"$client\">";
echo "<input type=\"hidden\" name=\"lang\" value=\"$lang\">";
echo "<input type=\"hidden\" name=\"idcat\" value=\"$idcat\">";
echo "<input type=\"hidden\" name=\"idart\" value=\"$idart\">";
if(isset($error)&&($error!=""))
echo "<font id=\"error\">".$error."</font>";
echo "<table border=0 cellspacing=0 cellpadding=0 id=\"beitrag\">";
echo "<tr><td>* Name:</td>";
echo "<td><input type=\"text\" size=40 name=\"name\" value=\"$name\"></td></tr>";
echo "<tr><td>* Adresse:</td>";
echo "<td><input type=\"text\" size=40 name=\"adresse\" value=\"$adresse\"></td></tr>";
echo "<tr><td>* PLZ/Ort:</td>";
echo "<td><input type=\"text\" size=40 name=\"wohnort\" value=\"$wohnort\"></td></tr>";
echo "<tr><td>Email:</td>";
echo "<td><input type=\"text\" size=40 name=\"email\" value=\"$email\"></td></tr>";
echo "<tr><td valign=\"top\">Bemerkung:</td>";
echo "<td><textarea name=\"bemerkung\" cols=36 rows=5></textarea></td></tr>";
echo "<tr><td colspan=2><input type=\"submit\" name=\"button\" value=\"Abschicken\"></td></tr>";
echo "</table>";
echo "</fo"."rm>";
}
}
?>
Styles sind glaub ich keine mehr drinne, event. muss noch der Absendername angepasst werden. Terminthema, Ort, Start und Enddatum sowie der Buchungsstart und das Buchungsende werden über die Konfiguration bestimmt. Buchungsstart und Buchungsende legen den Zeitrahmen fest, in dem das Formular eingeblendet wird.
Buchungsstart/ende können freigelassen werden, dann wird das formular immer angezeigt, oder wenn nur ein Start angelegt wird, wird das Formular bis zur Veranstaltung angezeigt.
Hier jetzt noch ein Veranstaltungskalender, der input Bereich z.B. ist so ein Beispielcode von hier :)
Terminliste
// selected category
$selected = "CMS_VALUE[0]";
echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
<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>";
OUTPUT
<?
// selected category
$selcat = "CMS_VALUE[0]";
if($selcat!="0" && $selcat!=""){
//Alle Artikel der Category
$query = "SELECT ARTLANG.idart, ARTLANG.idartlang FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".
$cfg["tab"]["art_lang"]." AS ARTLANG ".
"WHERE CATART.idcat = '$selcat' AND ARTLANG.idart = CATART.idart AND ARTLANG.idlang = '$lang' AND ".
"ARTLANG.online = '1' AND CATART.is_start='0' ORDER BY CATART.idart DESC";
$db->query($query);
unset($articleID);
unset($linkID);
//IDs speichern
while ($db->next_record()) {
$articleID[] = $db->f("idartlang");
$linkID[] = $db->f("idart");
}
//loop
$monat=array("Januar","Feburar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
$wochentag = array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
$termine = array(array());
$tid=0;
if (is_array($articleID)) {
foreach ($articleID as $key => $value) {
$tplCfg = new templateConfig($linkID[$key]); //get template configuration for current article
$exampleAr = $tplCfg->getData(4); //get all informations for container 20 fo
$start=urldecode($exampleAr[1]);
if (preg_match("/^(\d+).(\d+).(\d+)\s(\d+):(\d+)/",$start,$erg)==0) $date1=-1;
else $date1=mktime($erg[4],$erg[5],0,$erg[2],$erg[1],$erg[3]);
$thema=urldecode($exampleAr[0]);
$ort=urldecode($exampleAr[5]);
if (($date1<=0)||$date1<time()) next; //alte Termine raus
$termine["datum"][$tid]=$date1;
$termine["ort"][$tid]=$ort;
$termine["thema"][$tid]=$thema;
$termine["linkid"][$tid]=$linkID[$key] ;
$tid++;
unset($ort); unset($thema);
}
echo "<table border=0 cellspacing=0 cellpadding=0 id=\"beitrag\">";
if ($tid>0) { //Termine da
array_multisort($termine["datum"], SORT_ASC, SORT_NUMERIC,$termine["ort"],$termine["thema"],$termine["linkid"]);
for($i=0;$i<$tid;$i++) {
echo "<tr>";
$aktdate=$termine["datum"][$i];
$link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selcat&idart=".$termine["linkid"][$i]."&m=$m&s=$s");
if (date("m",$aktdate)!=date("m",$termine["datum"][$i-1])) {
echo "<td><b>".$monat[date("m",$aktdate)-1];
if (date("Y",$aktdate)!=date("Y",$termine["datum"][$i-1]))
// gegf. Jahr anzeigen
echo " ".date("Y",$aktdate),"</td>";
else echo "</td>";
} else echo "<td> </td>";
echo "<td><a href=\"".$link."\">".$termine["thema"][$i]."</a></td></tr>";
echo "<tr><td> </td><td>".$wochentag[date("w",$aktdate)]." den ".date("d.m.Y G:i",$aktdate)." Uhr</td></tr>";
echo "<tr><td> </td><td>".$termine["ort"][$i]."</td></tr>";
}
echo "</table>";
} else
echo "Es liegen keine Termine vor";
} //if array
}
?>
Ich hoffe ich hab durch das löschen der Kundenspezifischen Teile keine Fehler eingebaut.
Vielleicht brauchts ja wer :)
Gruss Georg