Dateigrösse: 12.46 kb
<?php
$ok = null;
$nr = 100;
$wer = '';
$email = '';
$text = '';
$copyText = '';
$alert = array('• Bitte E-Mail-Adresse der Firma überprüfen',
'• Bitte eigene E-Mail-Adresse überprüfen',
'• Bitte Betreff überprüfen',
'• Bitte Mitteilung überprüfen',
'• Bitte alle erforderlichen Dokumente anhängen',
'• Bitte AGB bestätigen',
'• Bitte nur PDF und Word-Dateien anhängen',
'• Bitte Dokumente noch einmal anhängen'
);
$allowed_attach = array( 'application/pdf',
'application/msword',
'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
'application/vnd.oasis.opendocument.text'
);
$checkEmail = true;
$red_bg = false;
//$inline = 'block';
$tpl->setVariable('style', 'style="display:block;"');
$tpl->setVariable('bool0', 'hidden');
$tpl->setVariable('bool1', 'hidden');
$tpl->setVariable('bool2', 'hidden');
$tpl->setVariable('bool3', 'hidden');
$tpl->setVariable('bool4', 'hidden');
$tpl->setVariable('bool44', 'hidden');
$tpl->setVariable('bool5', 'none');
$tpl->setVariable('alert0', ' ');
$tpl->setVariable('alert1', ' ');
$tpl->setVariable('alert2', ' ');
$tpl->setVariable('alert3', ' ');
$tpl->setVariable('alert4', ' ');
$tpl->setVariable('alert44', ' ');
$tpl->setVariable('alert5', ' ');
$tpl->setVariable('alert55', '');
$tpl->setVariable('alert66', '');
/* */
// Deutschsprachige Umgebung, damit regulaere Ausdruecke (regex) auch Umlaute erkennen
setlocale(LC_ALL, 'de_CH');
// Erzeuge einen zufaellig aussehenden Zugangscode aus dem Datum ...
$code = chr((date("y") + 7) % 10 + date("m") + 68 + (date("m") % 2) * 32) . chr((date("d") + (date("d") %2)) / 2 + 66 + (37 * (date("d") %2)));
// ... den der Anwender mittels verborgenem Eingabefeld uebergibt.
// So laesst sich das Gros der Skript gesteuerten Angriffe von vornherein abblocken.
if ( isset($_POST['ok']) )
{
if(!isset($_POST['code']) || $_POST['code'] != $code) die ('<div style="margin:2em; font-size:12pt; font-weight:bold;"><p>Mailcode fehlt!</p><br><p><a style="color:#cc0033;" href="#" onclick="self.location=\'index.php?kap=bewerbung&navid=6\';">back</a></p></div>');
$ok = true;
$anhang = array();
//print_r($_POST);
$data = array_map('_filterData', $_POST);
//print_r($data);
$wer = "msteiner2015@bluewin.ch"; //$data['wer'];
$email = $data['email'];
$betreff = $data['subject'];
$text = $data['text'];
$copy = isset($data['copy2me']);
$anhang = $_FILES['attach'];
$anhang0 = $anhang['name'][0].$anhang['type'][0].$anhang['tmp_name'][0].$anhang['error'][0].$anhang['size'][0];
/*
foreach($anhang as $key => $value) {
echo $key .' => '. count($value);
print_r($value);
echo '<br>';
foreach($value as $k => $v) {
echo $k .' => '. $v;
echo '<br>';
}
}
*/
$agb = isset($data['agb']);
//print_r($anhang); //$anhang['name']['type']['tmp_name']['error']['size'];
//echo $anhang['error'][0];
//echo $anhang['error'][1];
//echo $anhang['error'][2];
//echo $anhang['error'][3];
/* */
if($agb!=true)
{
$ok = false;
$nr = 5;
}
// $anhang['type'] != 'application/pdf' ...
if(!in_array($anhang['type'][0], $allowed_attach) || !in_array($anhang['type'][1], $allowed_attach))
{
$ok = false;
$nr = 44;
$red_bg = true;
}
// $anhang['error'] 0=Ja->OK!, 4=No->KO!
if($anhang['error'][0] !=0 || $anhang['error'][1] !=0)
{
$ok = false;
$nr = 4;
$red_bg = true;
}
if(strlen($text) <= 5)
{
$ok = false;
$nr = 3;
$red_bg = false;
}
if(strlen($betreff) < 8)
{
$ok = false;
$nr = 2;
$red_bg = false;
}
if($checkEmail && !checkEmail($email, true))
{
$ok = false;
$nr = 1;
$red_bg = false;
}
if($checkEmail && !checkEmail($wer, true))
{
$ok = false;
$nr = 0;
$red_bg = false;
}
}
if($ok)
{
if (strtoupper(substr(PHP_OS,0,3)=='WIN')) {
$eol = "\r\n";
} elseif (strtoupper(substr(PHP_OS,0,3)=='MAC')) {
$eol = "\r";
} else {
$eol = "\n";
}
$zeit1 = date('d.m.Y');
$zeit2 = date('H:i') . ' Uhr:';
$msgHead = '<span style="color: #000;">'. $email .' schrieb am '. $zeit1 .' um '. $zeit2 .'</span>'. $eol.$eol;
$msgText = utf8_decode($text);
$msgText = $msgText . $eol.$eol;
$msgMail = $email . $eol.$eol;
$toName = "Michaelis";
//$to = "mistone@protonmail.com";
$to = "msteiner2015@bluewin.ch";
//$fromName = "Contact-Formular";
//$from = "no-reply@localhost";
$fromName = $wer;
$from = $email;
$subject = utf8_decode($betreff); // "Bewerbungsformular"
$body = $msgText; //$msgHead.$msgText;
/******** version 2.5 ********/
require_once 'js/html_mime_mail_2.5/htmlMimeMail.php';
$mail = new htmlMimeMail();
$mail->setFrom($from .' <'. $from .'>');
$mail->setSubject($subject);
$add = ''; //'<b>---------------------------</b><br />';
$mail->setHtml($add . $body);
$msgAttach = '';
$filename = array();
$anlagen = 0;
$pre = '';
$allowed_mimetypes = array( 'image/gif',
'image/png',
'image/jpg',
'image/jpeg',
'application/pdf',
'application/msword',
'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
'application/vnd.oasis.opendocument.text',
'text/plain'
);
for($i=0; $i < count($anhang); $i++)
{
if(is_uploaded_file($anhang['tmp_name'][$i]))
{
foreach($anhang as $key => $val) {
$pre .= $key.' => '.$val[$i];
$pre .= '<br />';
}
if(in_array($anhang['type'][$i], $allowed_mimetypes)) {
if($attach[$i] = $mail->getFile($anhang['tmp_name'][$i])) {
$mail->addAttachment($attach[$i], utf8_encode($anhang['name'][$i]), $anhang['type'][$i]);
//$filename[$anhang['type'][$i]][] = $anhang['name'][$i];
$filename[$anhang['type'][$i]][] = '<span title="'. $anhang['type'][$i] .'">'. $anhang['name'][$i] .'</span>';
$anlagen = 1;
} else {
$anlagen = 2;
}
} else {
//echo $anhang['type'][$i].'<br>';
$anlagen = 3;
$filename[$anhang['type'][$i]][] = '<span style="color:red;" title="'. $anhang['type'][$i] .'">'. $anhang['name'][$i] .' wurde gelöscht!</span>'; // - -
unset($anhang[$i]);
}
}
}
$mail->send(array($toName .' <'. $to .'>'));
if($copy) {
$mail->send(array($fromName .' <'. $from .'>'));
$copyText = '<br><h4>Eine Kopie wurde an '. $from .' gesendet.</h4>';
$copyText .= '<div style="width:77%; padding:0.5em 0 1em 0; margin:0px auto; border-top:1pt dashed black; text-align:center;"></div>';
}
else {
$copyText .= '<br><br><div style="width:66%; padding:0.5em 0 1em 0; margin:0px auto; border-top:1pt dashed black; text-align:center;"></div>';
}
$msgAttach = '<br><div style="width:55%; padding:0.5em 0 1em 0; margin:0px auto; border-top:1pt dashed black; text-align:center;"></div>';
$ctr = 0;
if($anlagen==1 || $anlagen==3) {
$clip = '<img style="margin:0 10px -3px 0;" src="../img/paperclip.gif" alt="Attachment" width="15" height="15" border="0" />';
$alarm = '<img style="margin:0 10px -3px 0;" src="../img/icon_alarm.gif" alt="Alarm" width="15" height="14" border="0" />';
$error = '<img style="margin:0 8px -3px 0;" src="../img/icon_error.png" alt="Error" width="16" height="16" border="0" />';
$img = '<img style="margin:0 10px -2px 0;" src="../img/icon_image.gif" alt="Bild" width="16" height="16" border="0" />';
$pdf = '<img style="margin:0 10px -2px 0;" src="../img/icon_pdf.gif" alt="PDF" width="16" height="16" border="0" />';
$odt = '<img style="margin:0 10px -2px 0;" src="../img/icon_odt_16x14.png" alt="ODT" width="14" height="16" border="0" />';
//$odt = '<img style="margin:0 10px -2px 0;" src="../img/icon-odt-16x16.gif" alt="ODT" width="16" height="16" border="0" />';
$doc = '<img style="margin:0 10px -3px 0;" src="../img/icon-word-2010_16x16.png" alt="DOC" width="16" height="16" border="0" />';
$doc = '<img style="margin:0 10px -2px 0;" src="../img/icon_word.gif" alt="DOC" width="16" height="16" border="0" />';
$docx = '<img style="margin:0 10px -3px 0;" src="../img/icon_docx.gif" alt="DOCX" width="16" height="16" border="0" />';
$docx = '<img style="margin:0 10px -4px 0;" src="../img/icon-word-18x18.gif" alt="DOCX" width="18" height="18" border="0" />';
$i=0;
foreach($filename as $key => $value)
{
foreach($value as $k => $v)
{
$icon = stristr($v, 'wurde gelöscht!') ? $error : $clip;
if($icon==$clip) {
$ctr++;
if($anhang['type'][$i]=='application/pdf') {
$icon = $pdf;
}
elseif($anhang['type'][$i]=='application/vnd.oasis.opendocument.text') {
$icon = $odt;
}
elseif($anhang['type'][$i]=='image/gif' || $anhang['type'][$i]=='image/png' || $anhang['type'][$i]=='image/jpg' || $anhang['type'][$i]=='image/jpeg') {
$icon = $img;
}
elseif($anhang['type'][$i]=='application/msword') {
$icon = $doc;
}
else {
$icon = $docx;
}
}
$i++;
$title = stristr($v, 'wurde gelöscht!') ? 'Sorry, falscher Dateityp' : 'Anhang '. $ctr;
$msgAttach .= '<span title="'. $title .'">'. $icon .'</span><span style="color:#454545;" title="OOPS">'. $v .'</span>';
$msgAttach .= '<p style="padding:0.25em; margin:0; border:0pt dotted #454545;"></p>';
}
}
//$msgAttach .= $pre;
$msgAttach .= '<div style="width:33%; padding:0.5em 0; margin:0px auto; border-bottom:1pt dashed black; text-align:center;"></div>';
}
if($anlagen==2) {
$msgHead = '<span style="color:red;">Fehler beim Anhang</span>';
$msgText = 'an error occured while reading attachment(s)!';
}
$meldung = '<div style="text-align:center !important; width:45em !important; color:#228b22 !important; background:transparent; margin:1em 0; padding:2em 2em 1em 2em; border:1pt solid #454545; border-radius:20px; box-shadow:3pt 3pt 6pt #228b22; line-height:22px; letter-spacing:1px;"><span style="font-size:155%">Vielen Dank für deine Bewerbung.</span><br><br><span style="font-size:133%">Wir melden uns in den nächsten Tagen bei dir.</span>'.$copyText.'<p style="margin:0;padding:0;height:10px;"></p>' . $msgHead . '<br><div style="font-size:10pt; color:#353535; margin:10pt 0;"><div style="width:80%;margin:0 auto;">' . nl2br($text) . '</div> '. $msgAttach .'<br><a href="' . $_SERVER['PHP_SELF'] . '?kap=' . $_GET['kap'] . '&navid=' . $_GET['navid'] . '" class="notable" style="font-size:9pt;">weiter</a></div></div>';
$tpl->setVariable('style', 'style="display:none;"');
$tpl->setVariable('meldung', $meldung);
}
else
{
$tpl->setCurrentBlock('formular');
$tpl->setVariable('action', $_SERVER['PHP_SELF'].'?kap='.$_GET['kap'].'&navid='.$_GET['navid']);
$tpl->setVariable('wer', _filterData($_POST['wer']));
$tpl->setVariable('email', _filterData($_POST['email']));
$tpl->setVariable('betreff', _filterData($_POST['subject']));
$tpl->setVariable('text', _filterData($_POST['text']));
$check = $copy ? 'checked="checked"' : '';
$tpl->setVariable('checked', $check);
$checkAGB = $agb ? 'checked="checked"' : '';
$tpl->setVariable('checkedAGB', $checkAGB);
$tpl->setVariable('code', $code);
if($nr<=3)
{
$tpl->setVariable('autofocus1', '');
$tpl->setVariable('autofocus'.$nr, 'autofocus');
$tpl->setVariable('bg'.$nr, 'background-color:#ffb8b8; border-color:#666;');
}
if($nr>3 && $nr<100)
{
$tpl->setVariable('autofocus1', '');
$tpl->setVariable('autofocus2', '');
$tpl->setVariable('autofocus3', '');
}
if($nr<9)
{
$tpl->setVariable('bool'.$nr, 'visible');
$tpl->setVariable('alert'.$nr, $alert[$nr]);
}
if($nr==44)
{
$tpl->setVariable('bool'.$nr, 'visible');
$tpl->setVariable('alert'.$nr, $alert[6]);
}
if($red_bg)
{
$tpl->setVariable('alert55', 'background-color:#ffb8b8;');
$tpl->setVariable('alert66', 'background-color:#ffb8b8;');
}
$tpl->parseCurrentBlock();
}
//$_SESSION['attach'] = $_SESSION['attach']['size'][0]==$anhang['size'][0]?$_SESSION['attach']:$_FILES['attach'];
//unset($_SESSION['attach']);
?>