"mitarbeit_form.html"
);
//----------------------------------------------------------------------------
// Frontend session management
rt_session_resume();
//----------------------------------------------------------------------------
// Functions
function check_emailsyntax($email)
{
if ($email == "")
{
return FALSE;
}
if (! strstr($email, '@'))
{
return FALSE;
}
list($local, $domain) = explode('@', $email);
$pattern_local = '^([0-9a-z]*([-|_]?[0-9a-z]+)*)(([-|_]?)\.([-|_]?)[0-9a-z]*([-|_]?[0-9a-z]+)+)*([-|_]?)$';
$pattern_domain = '^([0-9a-z]+([-]?[0-9a-z]+)*)(([-]?)\.([-]?)[0-9a-z]*([-]?[0-9a-z]+)+)*\.[a-z]{2,4}$';
$match_local = eregi($pattern_local, $local);
$match_domain = eregi($pattern_domain, $domain);
if ($match_local && $match_domain)
{
return TRUE;
}
else
{
return FALSE;
}
}
function feedback_send_email($email_to, $email_from, $subject, $comment)
{
$return_code = 0;
$mail = new smtp_mime_mail();
$mail->headers = "X-Mailer: Workforce Red Tools;";
$mail->to = $email_to;
$mail->from = $email_from;
$mail->subject = $subject;
$mail->sending_domain = SENDING_DOMAIN;
$mail->body = $comment."\n";
return $mail->mail_send($return_code);
}
//----------------------------------------------------------------------------
// Parse parameters
//
// Note: no rt_clean_string here, since we send a mail from this (and we do
// not want HTML entities in mails)
$act = isset($HTTP_GET_VARS["act"]) ? $HTTP_GET_VARS["act"] : "";
$email = isset($HTTP_POST_VARS["email"]) ? $HTTP_POST_VARS["email"] : "";
$gender = isset($HTTP_POST_VARS["gender"]) ? $HTTP_POST_VARS["gender"] : "";
$vorname = isset($HTTP_POST_VARS["first_name"]) ? $HTTP_POST_VARS["first_name"] : "";
$nachname = isset($HTTP_POST_VARS["family_name"]) ? $HTTP_POST_VARS["family_name"] : "";
$titel = isset($HTTP_POST_VARS["title"]) ? $HTTP_POST_VARS["title"] : "";
$gebdatdd = isset($HTTP_POST_VARS["bday"]) ? $HTTP_POST_VARS["bday"] : "";
$gebdatmm = isset($HTTP_POST_VARS["bmonth"]) ? $HTTP_POST_VARS["bmonth"] : "";
$gebdatyyyy = isset($HTTP_POST_VARS["byear"]) ? $HTTP_POST_VARS["byear"] : "";
$phone = isset($HTTP_POST_VARS["phone"]) ? $HTTP_POST_VARS["phone"] : "";
$adress = isset($HTTP_POST_VARS["street"]) ? $HTTP_POST_VARS["street"] : "";
$zip = isset($HTTP_POST_VARS["zip_code"]) ? $HTTP_POST_VARS["zip_code"] : "";
$ort = isset($HTTP_POST_VARS["city"]) ? $HTTP_POST_VARS["city"] : "";
$district = isset($HTTP_POST_VARS["district"]) ? $HTTP_POST_VARS["district"] : "";
$newsletter = isset($HTTP_POST_VARS["newsletter"]) ? 1 : 0;
$best1 = isset($HTTP_POST_VARS["best1"]) ? 1 : 0;
$best1_txt = (1 == $best1) ? " Rettungsdienst\n" : "";
$best2 = isset($HTTP_POST_VARS["best2"]) ? 1 : 0;
$best2_txt = (1 == $best2) ? " Zivildienst\n" : "";
$best3 = isset($HTTP_POST_VARS["best3"]) ? 1 : 0;
$best3_txt = (1 == $best3) ? " Soziale Dienste\n" : "";
$best4 = isset($HTTP_POST_VARS["best4"]) ? 1 : 0;
$best4_txt = (1 == $best4) ? " Jugendrotkreuz\n" : "";
$best5 = isset($HTTP_POST_VARS["best5"]) ? 1 : 0;
$best5_txt = (1 == $best5) ? " Katastrophenhilfe\n" : "";
$best6 = isset($HTTP_POST_VARS["best6"]) ? 1 : 0;
$best6_txt = (1 == $best6) ? " Auslandseinsatz\n" : "";
$comment = isset($HTTP_POST_VARS["comment"]) ? $HTTP_POST_VARS["comment"] : "";
//----------------------------------------------------------------------------
// Execute commands
$status_msg = "";
if ($act == "submit") // Submit form
{
// Check fields
if ($email == "")
{
$status_msg .= "Bitte geben Sie Ihr E-Mailadresse an!
";
}
else
{
if (!check_emailsyntax($email))
{
$status_msg .= "Bitte geben Sie eine gültige eMail-Adresse an!";
}
}
if ($vorname == "") $status_msg .= "Bitte geben Sie Ihren Vornamen an!
";
if ($nachname == "") $status_msg .= "Bitte geben Sie Ihren Nachnamen an!
";
if ($adress == "") $status_msg .= "Bitte geben Sie Ihre Adresse an!
";
if ($zip == "") $status_msg .= "Bitte geben Sie Ihre Plz an!
";
if ($ort == "") $status_msg .= "Bitte geben Sie Ihren Wohnort an!
";
if (($gebdatdd == "") OR ($gebdatmm == "") OR ($gebdatyyyy == "")) $status_msg .= "Bitte geben Sie Ihr vollständiges Geburtsdatum an!
";
if ($phone == "") $status_msg .= "Bitte geben Sie Ihre Telefonnummer an!
";
if (($best1 == 0) AND ($best2 == 0) AND ($best3 == 0) AND ($best4 == 0) AND ($best5 == 0) AND ($best6 == 0)) $status_msg .= "Bitte wählen Sie wenigstens EIN Interessensgebiet!
";
if ($status_msg == "")
{
// Create subject
$mail_subject = "Mail bzgl. Interesse an Mitarbeit von ".$HTTP_HOST;
// Create msg body
$msg = "\nDiese Nachricht stammt vom Red Tools Formular Interesse an Mitarbeit auf $HTTP_HOST.\n\n";
$msg .= "Ich interessiere mich für Mitarbeit in den Bereichen:"." \n";
$msg .= $best1_txt;
$msg .= $best2_txt;
$msg .= $best3_txt;
$msg .= $best4_txt;
$msg .= $best5_txt;
$msg .= $best6_txt;
$msg .= "\nDaten des Absenders: \n";
$msg .= " ".$gender." ";
if ("" != $title)
{
$msg .= $titel." ";
}
$msg .= $vorname." ".$nachname." \n";
$msg .= " ".$street." \n";
$msg .= " ".$zip." ".$ort."\n";
$msg .= " geboren am: ".$gebdatdd.".".$gebdatmm.".".$gebdatyyyy."\n";
$msg .= " Telefon: ".$phone;
// Ok, send mail
$status_msg = "Die Informationen wurden übermittelt. Danke für Ihr Interesse!";
if (!feedback_send_email(MITARBEIT_EMAIL_TO, $email, $mail_subject, $msg))
{
$status_msg = "Die Informationen können zur Zeit nicht übermittelt werden. ".
"Bitte versuchen Sie es ein wenig später nochmals. Danke für Ihr Verständnis.";
}
// User Registration START
if (($conn = db_connect()) != FALSE)
{
if (($cmi = cmi_get($conn)) != FALSE)
{
$unique_list = array("EMAIL" => $email);
$coid = $cmi->ct_register($unique_list);
if ($coid > 0) rt_session_identify_stats($conn, $coid);
$cmi->ct_set_nonstd_attrib($coid, "GENDER", $gender);
$cmi->ct_set_nonstd_attrib($coid, "FIRST_NAME", $vorname);
$cmi->ct_set_nonstd_attrib($coid, "FAMILY_NAME", $nachname);
$cmi->ct_set_nonstd_attrib($coid, "TITLE", $titel);
if ($gebdatyyyy != "" AND $gebdatmm != "" AND $gebdatdd != "")
{
$birthday = new RT_Date($gebdatyyyy, $gebdatmm, $gebdatdd);
$cmi->ct_set_nonstd_attrib($coid, "BIRTHDAY", $birthday->get_sdate());
}
$cmi->ct_set_nonstd_attrib($coid, "TELEPHONE1", $phone);
$cmi->ct_set_nonstd_attrib($coid, "ADDRESS1", $adress);
$cmi->ct_set_nonstd_attrib($coid, "ZIP1", $zip);
$cmi->ct_set_nonstd_attrib($coid, "CITY1", $ort);
$cmi->ct_set_nonstd_attrib($coid, "STATE_REF1", $district);
$int_desc = "Ich interessiere mich für Mitarbeit in den Bereichen:".$best1_txt.$best2_txt.$best3_txt.$best4_txt.$best5_txt.$best6_txt;
$cmi->ct_set_nonstd_attrib($coid, "INT_DESC", $int_desc);
$cmi->ct_set_nonstd_attrib($coid, "EXT_DESC", $comment);
$ct_groups = $cmi->ct_get_groups($coid); // get current groups
if (!is_array($ct_groups)) red_log(RED_LOG_ERROR, "mitarbeit: failed to get groups for contact $coid, code=$ct_groups");
if (!in_array(CONTACT_GROUP_MITARBEIT, $ct_groups)) // not in group yet?
{
$ct_groups[] = CONTACT_GROUP_MITARBEIT;
if (($result = $cmi->ct_set_groups($coid, $ct_groups)) != CMI_OK) red_log(RED_LOG_ERROR, "mitarbeit: failed to set groups for contact $coid, code=$result");
}
if ($newsletter != 0)
{
// Assign to contact group "Newsletter" (preserve all old assignments)
if (!in_array(CONTACT_GROUP_NEWSLETTER, $ct_groups)) // not in group yet?
{
$ct_groups[] = CONTACT_GROUP_NEWSLETTER;
if (($result = $cmi->ct_set_groups($coid, $ct_groups)) != CMI_OK)
{
red_log(RED_LOG_ERROR, "mitarbeit: failed to set groups for contact $coid, code=$result");
}
}
}
}
}
// User Registration END
}
}
//----------------------------------------------------------------------------
// Generate page
// Determine the already known values from logged in user for comfort:
$known_props = array();
if ($act == "" && $rt_session_auth_contact_id != "")
{
if (($conn = db_connect()) != FALSE)
{
if (($cmi = cmi_get($conn)) != FALSE)
{
$known_props = $cmi->ct_get_attribs($rt_session_auth_contact_id);
}
}
}
$t = use_templates($templ_files);
// Set page variables
$t->set_var("FORM_ACTION", common_create_url($tp, "act", "submit"));
$t->set_var("VAR_".strtoupper($gender)."_SELECTED", "selected");
$t->set_var("VAR_FIRST_NAME", isset($known_props["FIRST_NAME"]) ? $known_props["FIRST_NAME"] : rt_clean_string($vorname));
$t->set_var("VAR_FIRST_NAME_SIZE", awr(20));
$t->set_var("VAR_FAMILY_NAME", isset($known_props["FAMILY_NAME"]) ? $known_props["FAMILY_NAME"] : rt_clean_string($nachname));
$t->set_var("VAR_FAMILY_NAME_SIZE", awr(20));
$t->set_var("VAR_TITLE", isset($known_props["TITLE"]) ? $known_props["TITLE"] : rt_clean_string($titel));
$t->set_var("VAR_TITLE_SIZE", awr(20));
if (isset($known_props["BIRTHDAY"]))
{
$birthday = new RT_Date();
$birthday -> put_sdate($known_props["BIRTHDAY"]);
}
$t->set_var(("VAR_".$gebdatdd."D_SELECTED"), "selected");
$t->set_var(("VAR_".$gebdatmm."M_SELECTED"), "selected");
$t->set_var("VAR_BYEAR", isset($known_props["BIRTHDAY"]) ? $birthday->get_year() : rt_clean_string($gebdatyyyy));
$t->set_var("VAR_BYEAR_SIZE", awr(4));
$t->set_var("VAR_PHONE", isset($known_props["TELEPHONE1"]) ? $known_props["PHONE"] : rt_clean_string($phone));
$t->set_var("VAR_PHONE_SIZE", awr(20));
$t->set_var("VAR_STREET", isset($known_props["ADDRESS1"]) ? $known_props["STREET"] : rt_clean_string($adress));
$t->set_var("VAR_STREET_SIZE", awr(25));
$t->set_var("VAR_ZIP_CODE", isset($known_props["ZIP1"]) ? $known_props["ZIP_CODE"] : rt_clean_string($zip));
$t->set_var("VAR_ZIP_CODE_SIZE", awr(4));
$t->set_var("VAR_CITY", isset($known_props["CITY1"]) ? $known_props["CITY"] : rt_clean_string($ort));
$t->set_var("VAR_CITY_SIZE", awr(25));
$t->set_var(("VAR_".strtoupper($district)."_SELECTED"), "selected");
$t->set_var("VAR_EMAIL", isset($known_props["EMAIL"]) ? $known_props["EMAIL"] : rt_clean_string($email));
$t->set_var("VAR_EMAIL_SIZE", awr(25));
$t->set_var("SET_CHECKED_NEWS", ("1" == $newsletter) ? "checked" : "");
$t->set_var("SET_CHECKED_BEST1", ("1" == $best1) ? "checked" : "");
$t->set_var("SET_CHECKED_BEST2", ("1" == $best2) ? "checked" : "");
$t->set_var("SET_CHECKED_BEST3", ("1" == $best3) ? "checked" : "");
$t->set_var("SET_CHECKED_BEST4", ("1" == $best4) ? "checked" : "");
$t->set_var("SET_CHECKED_BEST5", ("1" == $best5) ? "checked" : "");
$t->set_var("SET_CHECKED_BEST6", ("1" == $best6) ? "checked" : "");
$t->set_var("VAR_COMMENT", isset($known_props["EXT_DESC"]) ? $known_props["EXT_DESC"] : rt_clean_string($comment));
$t->set_var("COMMENT_SIZE", awr(60));
// Display status message
$t->set_block("FORM_MITARBEIT", "BLOCK_RESULT");
if ($status_msg != "") // is there a status to display?
{
$t->set_var("VAR_RESULT_MSG", $status_msg);
$t->parse("BLOCK_RESULT", "BLOCK_RESULT");
}
else
{
$t->set_var("BLOCK_RESULT", "");
}
$t->parse("PAGE_OUTPUT", "FORM_MITARBEIT");
$t->p("PAGE_OUTPUT"); // finish and print
?>