Veranstaltungsbuchung

ctschorsch
Beiträge: 101
Registriert: So 21. Nov 2004, 23:48
Kontaktdaten:

Veranstaltungsbuchung

Beitrag von ctschorsch » Mo 22. Nov 2004, 13:35

Hallo zusammen,

ich bin noch recht neu hier und "gewöhne" mich erst langsam an contenido. Muss aber sagen das es nach dem ersten Startschwierigkeiten immer mehr Spass macht. Ich hoffe das ich demnächst hier auch mal Hilfestellung leisten kann und nicht nur um Hilfe "betteln" muss :))

Was ich zur Zeit aber suche ist ein Modul oder vielleicht einfach nur eine Idee wie ich etwas umsetzen kann. Ich suche die Möglichkeit eines Veranstaltungskalenders, bei dem wenn man auf die Veranstaltungsdetails klickt, im unteren Bereich ein Formular erscheint, wo man sich für diese VA anmelden kann. Gibt es sowas schon ? Ich konnte leider mit der Suchfunktion hier nicht das richtige finden.

Eine einfache Terminliste hab ich hinbekommen, nur fehlt mir zur Zeit der Ansatz wie ich ein Formular bauen kann.

Über eine kleine Starthilfe würde ich mich freuen
Gruss Georg

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Mo 22. Nov 2004, 17:25

*** make your own tools (wishlist :: thx)

ctschorsch
Beiträge: 101
Registriert: So 21. Nov 2004, 23:48
Kontaktdaten:

Beitrag von ctschorsch » Mo 22. Nov 2004, 21:15

ok, das formular modul ist schon klasse. mal sehen ob ich das mit meinen termin-gelumpe kombiniert bekomme :)

danke

ctschorsch
Beiträge: 101
Registriert: So 21. Nov 2004, 23:48
Kontaktdaten:

Beitrag von ctschorsch » Sa 27. Nov 2004, 22:07

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>&nbsp;</td>";
echo "<td><a href=\"".$link."\">".$termine["thema"][$i]."</a></td></tr>";
echo "<tr><td>&nbsp;</td><td>".$wochentag[date("w",$aktdate)]." den ".date("d.m.Y G:i",$aktdate)." Uhr</td></tr>";
echo "<tr><td>&nbsp;</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

simas
Beiträge: 153
Registriert: Fr 7. Mär 2003, 11:15
Wohnort: Gampelen, Schweiz
Kontaktdaten:

Beitrag von simas » Do 2. Dez 2004, 16:03

Hallo Georg,

Toll Dein Modul!
Vielen Dank. Habs gleich brauchen können.

Werde es ggf. noch umbauen, damit die Daten auch noch in eine DB-Tabelle geschrieben werden und dann ein Modul machen, welches mir die Anmeldungen ausgibt.

Sobald ich das habe, werde ich es selbstverständliche hier posten.

Grüsse aus der Schweiz
Simon

dhillesh
Beiträge: 1
Registriert: Fr 7. Jan 2005, 16:33
Kontaktdaten:

Beitrag von dhillesh » Fr 7. Jan 2005, 16:43

Hallo Zusammen!

Auch ich bin ein "neuer" und möchte mich erstmal bei allen schon bedanken für die gute Arbeit die Ihr schon geleistet habt. Also DANKE.

Leider habe ich beim oben aufgeführten Modul ein Problem, genauer gesagt mit den "Veranstaltungskalender" und zwar output Modul.

Ich habe hier in der selben Kategorie wie der Veranstaltugnskalender Termine angelegt. Die Termin sind korrekt nach den Vorgaben beim Konfigurieren eingegeben worden. Leider tauchen die Termine nicht korrekt beim Veranstaltungskalender auf. Es werden drei Termine aufgeführt, jeweils mit der "1" mit Verweis und den Termin "Donnerstag den 01.01.1970 0:59 Uhr" Dabei habe ich z.b. beim Termin 15.10.1974 mit 08:00 bis 15.10.1974 16:00 eingegeben. Also Anzahl der Termine richtig jedoch Laufende Nummer und Datum falsch. Also mit grep oder Übernahme der Variablen nicht korrekt.

Jemand ne Idee?

Gruß

Daniel

ctschorsch
Beiträge: 101
Registriert: So 21. Nov 2004, 23:48
Kontaktdaten:

Beitrag von ctschorsch » Fr 7. Jan 2005, 17:38

bin da dran, da scheint noch einiges nicht richtig abgefangen zu sein :)

Georg

mediaculture
Beiträge: 17
Registriert: Fr 20. Feb 2004, 11:44
Wohnort: Zürich / Zürich
Kontaktdaten:

Super Gedanke und Leistungen

Beitrag von mediaculture » Di 21. Jun 2005, 14:39

Hallo Zusammen, ich finde das Modul genau das Richigte für mich, nur wollte ich dem Entwickler fragen, ob er noch die Zeit gefunden hat es zu vollenden, würde mich riesig freuen.

Die Errors: (bei der TerminListe)

bei mir kommen egla wieviel artikel es sind immer die gleiche angaben
"Donnerstag den 01.01.1970 0:59 Uhr"


siehe Demo Seite:
http://www.batisec.ch/cms/front_content.php?idcat=33

Ich würde mich mega freuen wenn ich einen feedback bekommen würde.

gruss und im voraus herzlichen dank für die bemühungen.

ctschorsch
Beiträge: 101
Registriert: So 21. Nov 2004, 23:48
Kontaktdaten:

Beitrag von ctschorsch » Mi 22. Jun 2005, 06:41

Hi,

hab das Modul mitlerweile fertig und auch unter www.verband-sonderpaedagogik.de im Einsatz. Ich poste mal die aktuelle Version. Wenn Fragen oder weitere Fehler sind bitte hier melden. Ich hab hoffentlich alles Kundenspezifische rausgenommen, kann sein das noch ein zwei css divs drin sind :)

Gruss Georg

Code: Alles auswählen

TERMIN

INPUT
-------------------------------------

$tageskasse="CMS_VALUE[16]";
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>Vollzahler:</td>
          <td><input type=\"text\" name=\"CMS_VAR[10]\" value=\"CMS_VALUE[10]\"></td>
        </tr>
      <tr>
          <td>Student/Referendar:</td>
          <td><input type=\"text\" name=\"CMS_VAR[11]\" value=\"CMS_VALUE[11]\"></td>
        </tr>
      <tr>
          <td>Mitglied:</td>
          <td><input type=\"text\" name=\"CMS_VAR[12]\" value=\"CMS_VALUE[12]\"></td>
        </tr>
      <tr>
          <td>Student + Mitglied:</td>
          <td><input type=\"text\" name=\"CMS_VAR[13]\" value=\"CMS_VALUE[13]\"></td>
        </tr>
      <tr>
          <td>Sonderpreis-Name:</td>
          <td><input type=\"text\" name=\"CMS_VAR[14]\" value=\"CMS_VALUE[14]\"></td>
        </tr>
      <tr>
          <td>Sonderpreis-Wert:</td>
          <td><input type=\"text\" name=\"CMS_VAR[15]\" value=\"CMS_VALUE[15]\"></td>
        </tr>
      <tr>
          <td>Tageskasse?:</td>
          <td><input type=\"checkbox\" name=\"CMS_VAR[16]\" value=\"1\" ";
          if ($tageskasse == "1") echo " checked";
          echo ">Ja</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
---------------------------------------
<?
include("Mail.php");

$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]";
$vollzahler="CMS_VALUE[10]";
$studi="CMS_VALUE[11]";
$mitglied="CMS_VALUE[12]";
$studimitglied="CMS_VALUE[13]";
$sondername="CMS_VALUE[14]";
$sonderwert="CMS_VALUE[15]";
$tageskasse="CMS_VALUE[16]";
$wochentag = array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
$laender=array("Baden-Württenberg","Bayern","Berlin","Brandenburg"."Bremen","Hamburg","Hessen","Mecklenburg-Vorpommern","Nidersachsen","Nordrhein-Westfalen", "Rheinland-Pfalz","Saarland","Sachsen","Sachsen-Anhalt","Schleswig-Holstein","Thüringen");
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($lv)<=0) $error="Bitte wählen Sie Ihr Bundesland";
  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($beitrag)<=0) $error="Bitte Beitrag ausw&auml;hlen";
  if(strlen($zahlungsart)<=0) $error="Bitte Zahlungsart ausw&auml;hlen";
  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&lv=$lv&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>Landesverband:</td><td>$lv</td></tr>";
    echo "<tr><td>Email:</td><td>$email</td></tr>";
    echo "<tr><td colspan=2>Den Tagungsbeitrag in H&ouml;he von $beitrag EUR ";
    if ($zahlungsart=="tagungskonto") 
      echo "zahlen Sie bitte auf unser Tagungskonto ein.</td></tr>";
    if ($zahlungsart=="lastschrift") 
      echo "Buchen wir von Ihrem Konto $konto bei der $bank ($blz) ab.</td></tr>";
    if ($zahlungsart=="tageskasse") 
      echo "zahlen Sie bar an der Tageskasse.</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 vds
    $from="CMS_VALUE[7]";
    $to="CMS_VALUE[6]";
    $emailbody="Folgende Daten wurden übermittelt:\n\n";
    $emailbody.="Name: ".$name."\n";

    $emailbody.="Adresse: ".$adresse."\n";
    $emailbody.="PLZ/Ort: ".$wohnort."\n";
    $emailbody.="Bundesland: ".$lv."\n";

    $emailbody.="Email: ".$email."\n";
    $emailbody.="Den Tagungsbeitrag in H&ouml;he von $beitrag EUR ";
    if ($zahlungsart=="tagungskonto") 
     $emailbody.="wird auf das Tagungskonto eingezahlt.\n";
    if ($zahlungsart=="lastschrift") 
     $emailbody.="bitte vom  Konto $konto bei der $bank ($blz) abbuchen.\n";
    if ($zahlungsart=="tageskasse") 
     $emailbody.="wird an der Tageskasse bezahlt.\n";

    $emailbody.="Bemerkung:\n".$bemerkung."\n\n";
    $emailbody.="Liebe Gruesse vom Webmailer";
    $headers["From"]    = "WebMailer < ".$from." >";
    $headers["To"]      = $to;
    $headers["Subject"] = "Neue Anmeldung: ".$thema;
    $params["host"] = "localhost";
    $params["port"] = "25";
    $params["auth"] = false;
    $mail_object =& Mail::factory("smtp", $params);
    $mail_object->send($to, $headers, $emailbody);
    //Email an gast
    if (strlen($email)>0) {
      $subject="Anmeldung: ".$thema;
      $from="CMS_VALUE[7]";
      $to=$email;
      $emailbody="";
      $emailbody="Ihre Anmeldung zur folgenden Veranstaltung wurde zur Geschäftsstelle weitergeleitet:\n\n";
      $emailbody.=$thema."\n";
      $emailbody.="Am ".date("d.m.Y",$date1)." in ".$ort."\n\n";
      $emailbody.="Ihre Daten werden von der Geschäftstelle bearbeitet und Sie erhalten danach ";
      $emailbody.="eine verbindliche Anmeldebestätigung.\n\n";
      $emailbody.="Liebe Grüße vom Webmailer\n";
      $headers["From"]    = "WebMailer < ".$from." >";
      $headers["To"]      = $to;
      $headers["Subject"] = "Anmeldebestätigung: ".$thema;
      $params["host"] = "localhost";
      $params["port"] = "25";
      $params["auth"] = false;
      $mail_object =& Mail::factory("smtp", $params);
      $mail_object->send($to, $headers, $emailbody);
    }
  }
  
  /********** 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\"></a>";
    echo "Wenn Sie sich für diese Veranstaltung anmelden wollen, füllen Sie bitte folgendes Formular aus.";
    echo " Ihre Daten werden dann an die Geschäftsstelle zur Bearbeitung weitergeleitet. Die mit * ";
    echo "markierten Felder sind Pflichtfelder.<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=3 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>* Bundesland:</td>";
    echo "<td><select name=\"lv\" size=1 cols=36>";
    for ($i=0;$i<sizeof($laender);$i++) {
         echo "<option value=\"".$laender[$i]."\" ";
         if ($laender[$i]==$lv) echo "selected";
         echo ">".$laender[$i]."</option>";
   }
    echo "</select></td></tr>";
    echo "<tr><td>Email:</td>";
    echo "<td><input type=\"text\" size=40 name=\"email\" value=\"$email\"></td></tr>";
    if ((strlen($vollzahler)!=0)||(strlen($studi)!=0)||(strlen($vds)!=0)||(strlen($studivds)!=0)) {
      echo "<tr><td colspan=2>Der Tagungsbeitrag in H&ouml;he von:</td></tr>";
      if(strlen($vollzahler)!=0) {
	echo "<tr><td align=\"center\">";
	echo "<input type=\"radio\" name=\"beitrag\" value=\"".$vollzahler."\">$vollzahler EUR";
	echo "</td><td>Vollzahler</td></tr>";
      }
      if(strlen($studi)!=0) {
	echo "<tr><td align=\"center\">";
	echo "<input type=\"radio\" name=\"beitrag\" value=\"".$studi."\">$studi EUR";
	echo "</td><td>Student/in oder Studienreferendar/in<br>(Nachweis wird nachgereicht)</td></tr>";
      }
      if(strlen($mitglied)!=0) {
	echo "<tr><td align=\"center\">";
	echo "<input type=\"radio\" name=\"beitrag\" value=\"".$mitglied."\">$mitglied EUR";
	echo "</td><td>Mitglied</td></tr>";
      }
      if(strlen($studimitglied)!=0) {
	echo "<tr><td align=\"center\">";
	echo "<input type=\"radio\" name=\"beitrag\" value=\"".$studimitglied."\">$studimitglied EUR";
	echo "</td><td>Student/in oder Studienreferendar/in und Mitglied im vds<br>(Nachweis wird nachgereicht)</td></tr>";
      }
      if(strlen($sonderwert)!=0) {
	echo "<tr><td align=\"center\">";
	echo "<input type=\"radio\" name=\"beitrag\" value=\"".$sonderwert."\">$sonderwert EUR";
	echo "</td><td>$sondername</td></tr>";
      }

      echo "<tr><td colspan=2><input type=\"radio\" name=\"zahlungsart\" value=\"tagungskonto\">";
      echo "wird &uuml;berwiesen auf das Tagunskonto.</td></tr>";
      echo "<tr><td colspan=2><input type=\"radio\" name=\"zahlungsart\" value=\"lastschrift\">";
      echo "soll abgebucht werden von meinem Konto:</td></tr>";
      echo "<tr><td align=\"right\">Konto:</td><td><input type=\"text\" name=\"konto\" size=10></td></tr>";
      echo "<tr><td align=\"right\">BLZ:</td><td><input type=\"text\" name=\"blz\" size=10></td></tr>";
      echo "<tr><td align=\"right\">Bank:</td><td><input type=\"text\" name=\"bank\" size=10></td></tr>";
      if ($tageskasse==1) {
        echo "<tr><td colspan=2><input type=\"radio\" name=\"zahlungsart\" value=\"tageskasse\">";
        echo "wird an der Tageskasse bar bezahlt.</td></tr>";
      }  
    }
    echo "<tr><td valign=\"top\">Bemerkung:</td>";
    echo "<td><textarea name=\"bemerkung\" cols=30 rows=5></textarea></td></tr>";
    echo "<tr><td colspan=2><input type=\"submit\" name=\"button\" value=\"Abschicken\"></td></tr>";
    echo "</table>";

    echo "</fo"."rm></div>";
   } else echo "</div>";
 }
?>
Noch die Terminliste:

Code: Alles auswählen

Terminliste

Nicht vergessen den Layoutcontainer der Termine anzupassen !

INPUT
--------------------------------
//Anpassen !!
$termincontainer=3;

$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>";
            }
            $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' ".
                     " ORDER BY A.idtree"; //AND C.visible=1
            $db->query($query);
            while ($db->next_record()) {
              $spaces = "|";
              $levels = $db->f("level");
              for ($i = 0; $i < $levels; $i ++) {
                $spaces = $spaces . "--";
              } 
              $spaces .= ">";
              if ($selected == $db->f("idcat")) {
                echo "<option selected=\"selected\" value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";
              } else {
                echo "<option value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";
              } 
            }
echo "      </select>";
echo "    </td></tr></table>";

OUTPUT
------------------------------------------------------------------
<?
$selcat = "CMS_VALUE[0]";

if( $selcat!="0" && $selcat!="" )
{
  $query = "SELECT ART.idclient, ARTLANG.idlang, ARTLANG.idart, ARTLANG.idartlang FROM ".
                 $cfg["tab"]["cat_art"]." AS CATART, ".
                 $cfg["tab"]["art"]." AS ART,".
                 $cfg["tab"]["art_lang"]." AS ARTLANG ".
                 "WHERE CATART.idcat = '$selcat' AND ARTLANG.idart = CATART.idart AND ".
                 "ART.idart = ARTLANG.idart AND ".
                 "ARTLANG.online = '1' AND CATART.is_start='0' ORDER BY CATART.idart DESC";
  $db->query($query);
  unset($articleID);  unset($linkID);
  unset($langID); unset($clientID);
  while ($db->next_record()) {
    $articleID[] = $db->f("idartlang");
    $linkID[] = $db->f("idart");
    $langID[]=$db->f("idlang");
    $clientID[]=$db->f("idclient");
  }
  $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 
      $tplCfg->client=$clientID[$key];  //restore idclient idlang
      $tplCfg->lang=$langID[$key];
      $exampleAr = $tplCfg->getData($termincontainer); //get all informations for container #
      $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>=time()) {
      $termine["datum"][$tid]=$date1;
      $termine["ort"][$tid]=$ort;
      $termine["thema"][$tid]=$thema;
      $termine["linkid"][$tid]=$linkID[$key] ;
      $termine["client"][$tid]=$clientID[$key];
      $termine["lang"][$tid]=$langID[$key];
      $tid++;
      }
         unset($ort); unset($thema); unset($erg); unset($date1);
    }
    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=".$termine["client"][$i]."&lang=".
                                   $termine["lang"][$i]."&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>&nbsp;</td>";	
	echo "<td><a href=\"".$link."\">".$termine["thema"][$i]."</a></td></tr>";
	echo "<tr><td>&nbsp;</td><td>".$wochentag[date("w",$aktdate)]." den ".date("d.m.Y G:i",$aktdate)." Uhr</td></tr>";
	echo "<tr><td>&nbsp;</td><td>".$termine["ort"][$i]."</td></tr>";
      }
      echo "</table></div>";
    } else
      echo "Es liegen keine Termine vor</div>";
  } //if array
 }  
?>
    
    
    


mediaculture
Beiträge: 17
Registriert: Fr 20. Feb 2004, 11:44
Wohnort: Zürich / Zürich
Kontaktdaten:

Danke für die prompte Antwort

Beitrag von mediaculture » Mi 22. Jun 2005, 09:03

Ich habe 2 Punkte die ich gerne Fragen möchte.

Punkt 1.

Nun stellt es bei mir keine Termine mehr vor, anstelle Termine bringt es mir diese Meldung: "Es liegen keine Termine vor"

Punkt 2.

was meinnst Genau damit:
-------------------------------------------------------------------------------
Terminliste

Nicht vergessen den Layoutcontainer der Termine anzupassen !

INPUT
--------------------------------
//Anpassen !!
$termincontainer=3;
-------------------------------------------------------------------------------

Ich Danke dir nochmals im Voraus und Wünsche dir viel Erfolg

PS: ich werde es auch in Französisch und Italienische Sprache umwandeln falls interesse hast lege ich es im Forum.

gruss

ctschorsch
Beiträge: 101
Registriert: So 21. Nov 2004, 23:48
Kontaktdaten:

Beitrag von ctschorsch » Mi 22. Jun 2005, 09:39

Hi,

du musst bei termincontainer die containernummer eintragen in der das terminmodul in deinem termintemplate liegt. sonst finder der nix :)

Georg

mediaculture
Beiträge: 17
Registriert: Fr 20. Feb 2004, 11:44
Wohnort: Zürich / Zürich
Kontaktdaten:

hm...

Beitrag von mediaculture » Mi 22. Jun 2005, 09:44

also

$termincontainer=3; -----> = CONTAINER[3]

so hast du das gemeint ja :roll:

danke dir im Voraus

gruss stefano

ctschorsch
Beiträge: 101
Registriert: So 21. Nov 2004, 23:48
Kontaktdaten:

Beitrag von ctschorsch » Do 23. Jun 2005, 15:25

aeh,

selbstverständlich muss das $termincontainer=x in den output teil....
*schaem*

es war ein wenig früh :) oder zu wenig kaffee, oder beides

Georg

Christoph1
Beiträge: 1
Registriert: So 22. Jan 2006, 20:26
Kontaktdaten:

Beitrag von Christoph1 » Mo 23. Jan 2006, 01:09

Hallo,

Wie könnte ich das Modul denn unter der Version 4.6 zum laufen bringen. Hat das schon jemand geschafft? Ich kann leider nicht viel mehr als "hello-world" in PHP :-)

Danke

Christoph

AndreasP
Beiträge: 30
Registriert: Fr 6. Jan 2006, 22:12
Wohnort: Kitzbühel
Kontaktdaten:

Beitrag von AndreasP » So 5. Feb 2006, 14:15

Ich habe es versucht, in 4.6 zum Laufen zu bringen!
Aber keine Chance! Vielleicht gibt es professionelle Hilfe! :?:

Zudem ist mir nicht ganz klar, wie das aufgebaut sein soll!

Es gibt da also 2 Module: "Termin" und "Terminliste"
Ich erstelle also auch zwei Templates?

Ist die Terminliste einer Artikelliste gleichbedeutend?
Heisst das, dass man den Startartikel als "Terminliste" macht, die einzelnen Artikel aber dann mit dem "Termin"-Template füllt?

Andreas

Gesperrt