Zur aktuellen Revision | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed
<?php$self = basename( $PHP_SELF );$DB = "verteiler";define( "modul_name", "mail_verteiler" );define( "tool_name", "versenden" );require_once "../Online-Shop/connect2.php";set_time_limit( 0 );if ( !isset( $user_rechte["mail_verteiler"]["versenden"]["html"] ) ){header( "Location: mailVerteilerSelect.php" );}function getVerteiler( $Verteiler_NR ){$query = "SELECT*FROMVerteilerWHEREID = $Verteiler_NR";$result_Verteiler = mysql_query( $query ) or die( mysql_errno() .": " . mysql_error() . "<hr>$query<hr>" );return mysql_fetch_assoc( $result_Verteiler );}function boundary(){return md5( rand() );}function getShopsIdFromTemplateURL( $tplURL ){$shops_ID = null;$url = parse_url( $tplURL );$domain = str_replace( "www.", "", $url['host'] );$domain = str_replace( ".local", "", $domain );$sql = "SELECTIDFROMshopsWHEREdomain = '" . $domain . "'";if ( $q = mysql_query( $sql ) ){if ( $r = mysql_fetch_assoc( $q ) ){$shops_ID = $r['ID'];}}return $shops_ID;}if ( $action ){$Verteiler = getVerteiler( $Verteiler_NR );$boundary = boundary();$msgBoundary = boundary();/* LOGOUT-LINK an eingegebene Nachrichten anhängen */if ( !empty( $web_rechte["mail_verteiler"]["verteiler"]["logout_link"] ) ){//$message[PLAIN] = $message[PLAIN] . "\n\n##logout_link##";$message["HTML"] = $message["HTML"] . "<br><br><a href=\"##logout_link##\">Newsletter abbestellen</a>";}else{//$message[PLAIN]=$message[PLAIN];//$message[HTML]=stripslashes(preg_replace ("/=/", "=3D", $message[HTML]));}/* ############################################################################################ *//* Headers zusammenstellen *//* ############################################################################################ */$headers = array( "From: $Verteiler[Absender]", "MIME-Version: 1.0","Content-Type: multipart/mixed;", " boundary=\"" . $boundary ."\"" );/* ############################################################################################ *//* Nachricht zusammenstellen *//* ############################################################################################ *//*$msg = array( // "alternative"-Header"--" . $boundary, "Content-Type: multipart/alternative;"," boundary=\"" . $msgBoundary . "\"", "", // TEXT HEADER"--" . $msgBoundary, "Content-Type: text/plain; charset=\"ISO-8859-1\"","Content-Transfer-Encoding: 7bit", "", $message["PLAIN"], "", "",// HTML HEADER"--" . $msgBoundary, "Content-Type: text/html; charset=\"ISO-8859-1\"","Content-Transfer-Encoding: 7bit", "", $message["HTML"], "","--" . $msgBoundary . "--", "" );*/$msg = array( $message["PLAIN"], $message["HTML"] );if ( is_array( $_FILES["attach"]["error"] ) ){foreach ( array_keys( $_FILES["attach"]["error"] ) as $fileIndex =>$errorCode ){if ( $_FILES["attach"]["error"][$fileIndex] == 0 ){$msg = array_merge( $msg, array( "--" . $boundary,"Content-Type: " . $_FILES["attach"]["type"][$fileIndex] .";", "\tname=\"" . $_FILES["attach"]["name"][$fileIndex] ."\"", "Content-Transfer-Encoding: base64","Content-Disposition: attachment;", "\tfilename=\"" .$_FILES["attach"]["name"][$fileIndex] . "\"", "",chunk_split( base64_encode( file_get_contents( $_FILES["attach"]["tmp_name"][$fileIndex] ) ) ),"", "" ) );}}}//$textRaw = join( "\n", $msg ) . "\n\n--" . $boundary . "--\n\n";$textRaw = join( "\n", $msg );/* ############################################################################################ *//* Nachricht zusammenstellen ENDE *//* ############################################################################################ */$getValue = create_function( '$value,$key','echo "zzz ".$key." zzz"; return $value[$key];' );$To = preg_replace( "/\|/", "", $To );$To = explode( "\n", trim( $To ) );//exit;if ( $_REQUEST["gutscheinvorlagenid"] ){$gs_vorlage = leseGutscheinvorlage( $_REQUEST["gutscheinvorlagenid"] );}foreach ( $To as $ToIndex => $ToValue ){$value = explode( ";", trim( $ToValue ) );$logout_link = ( !empty( $web_rechte["mail_verteiler"]["verteiler"]["logout_link"] ) ) ?$web_rechte["mail_verteiler"]["verteiler"]["logout_link"] ."?m=" . $value[0] . "&v=" . $Verteiler["ID"] : "";$value = array_merge( array( "logout_link" => $logout_link,"E_Mail" => $value[0], "" ), $value );$Betreff = $Verteiler["Betreff"];$text = $textRaw;// Platzhalter gegeb Inhalt tauschen// Änderung am 01.06.06// ersetze ##...## und [...] Abgeschaltet da [weiter] als Schlüsselwort interpretiert wurde// Es wird nur noch ##...## ersetzt// "/#{2}$valueKey#{2}|\[$valueKey\]/",// "/#{2}\S*#{2}|\[\S*\]/"if ( !$_REQUEST['shops_ID'] ){$_REQUEST['shops_ID'] = 1;}if ( $gs_vorlage ){$gs = gen_gutschein( $gs_vorlage, $value[1], $_REQUEST["shops_ID"] );$text = str_replace( "##gutscheinname##", $gs["name"], $text );$wert = $gs["anfangswert"];if ( $wert < 0 ){$wert = number_format( $wert * -1 ) . " %";}else{$wert = number_format( $wert, 2, ',', '.' ) . " €";}$text = str_replace( "##gutscheinpreis1##", $wert, $text );$text = str_replace( "##gutscheinpreis2##", number_format( $gs["minbestwert"],2, ',', '.' ) . " €", $text );$text = str_replace( "##gutscheincode##", $gs["code"], $text );$ablauf = date( "d.m.Y H:i", strtotime( $gs["gueltig_bis"] ) );$text = str_replace( "##gutscheinablauf##", $ablauf, $text );}foreach ( $value as $valueKey => $valueValue ){$Betreff = preg_replace( "/#{2}$valueKey#{2}/", $valueValue,$Betreff );$text = preg_replace( "/#{2}$valueKey#{2}/", $valueValue, $text );}$Betreff = preg_replace( "/#{2}\S*#{2}/", "", $Betreff );$text = preg_replace( "/#{2}\S*#{2}/", "", $text );// In den Mailspool packen$mail = array( "shops_ID" => $_REQUEST['shops_ID'], "webs_ID" =>$webs["ID"], "to" => $value["E_Mail"], "cc" => '', "bcc" =>'', "subject" => $Betreff, "from" => $Verteiler["Absender"],"header_add" => implode( "\n", $headers ), "text" => $text,"erstellt_von" => $PHP_AUTH_USER, "smtp_server" => $_REQUEST['smtp_server'],"smtp_user" => $_REQUEST['smtp_user'], "smtp_pass" => $_REQUEST['smtp_pass'],"smtp_authed" => $_REQUEST['smtp_authed'] );list( $tag, $monat, $jahr, $stunde, $minute, $sekunde ) = sscanf( $_POST["takeoff"],"%d.%d.%d %d:%d:%d" );$mail["takeoff"] = "$jahr-$monat-$tag $stunde:$minute:$sekunde";if ( $MySQL_Host_write ){//echo "schreibe in Haupt-DB";$w_conn = @mysql_connect( $MySQL_Host_write, $MySQL_User, $MySQL_Passwd );if ( !$w_conn ){$error = true;$meld ="Leider können keine Newsletter verschickt werden, da keine Verbindung zur Datenbank möglich ist.";}$r = @mysql_select_db( $database_name );if ( !$r ){$meld ="Leider können keine Newsletter verschickt werden, da keine Verbindung zur Datenbank möglich ist.";$error = true;}if ( $meld ){die( $meld );}}else{$w_conn = $localhost_dbh;}foreach ( $mail as $field => $value ){$mail[$field] = mysql_real_escape_string( $value );}$query_spool = "INSERT INTOcontent_management.mailspool_out(`shops_ID` ,`webs_ID` ,`to` ,`cc` ,`bcc` ,`subject` ,`from` ,`header_add` ,`text` ,`takeoff` ,`erstellt_am` ,`erstellt_von`,`smtp_server`,`smtp_user`,`smtp_pass`,`smtp_authed`)VALUES(" . $mail["shops_ID"] . "," . $mail["webs_ID"] . ",'" . $mail["to"] . "','" . $mail["cc"] . "' ,'" . $mail["bcc"] . "' ,'" . $mail["subject"] . "','" . $mail["from"] . "','" . $mail["header_add"] . "','" . $mail['text'] . "','" . $mail["takeoff"] . "',NOW(),'" . $mail["erstellt_von"] . "','" . $mail["smtp_server"] . "','" . $mail["smtp_user"] . "','" . $mail["smtp_pass"] . "','" . $mail["smtp_authed"] . "')";$result = mysql_query( $query_spool, $w_conn ) or die( mysql_errno( $w_conn ) . ": " . mysql_error( $w_conn ) . "<hr>$query_spool<hr>" );} // end of foreach($To as $ToIndex => $ToValue)header( "Location: mailsent.php?count=" . count( $To ) );exit;} // end of if ($action)$Verteiler = array();$result = mysql_query( "SELECT * FROM Verteiler order by name" ) or die( mysql_errno() . ": " . mysql_error() );while ( $zeile = mysql_fetch_array( $result ) ){$Verteiler[$zeile["ID"]] = $zeile;}if ( !$Verteiler_NR ){$Verteiler_NR = array_keys( $Verteiler );$Verteiler_NR = $Verteiler_NR[0];}?><html><head><title>Mail versenden</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><meta name="author" content="Webagentur Niewerth - www.weban.de"><meta name="revisit-after" content="30 days"><meta name="language" content="deutsch, de"><meta name="distribution" content="global"><meta name="robots" content="all"><link rel="stylesheet" type="text/css" href="../buttons.css"><style type="text/css"><!--a { color: #<?php echo $webs["font_color_rechts"]?>}--></style><script language="JavaScript" src="../checkDate.js"></script><script type="text/javascript" src="../whizzyRte/whizzywig.js"></script></head><body bgcolor="#<?php echo $webs["bgcolor_seite"]?>" leftmargin="20" topmargin="10" marginwidth="20" marginheight="10" text="#<?php echo$webs["font_color_rechts"]?>"><form method="post" action="#" enctype="multipart/form-data"><table width="800" border="1" cellspacing="0" cellpadding="3" bordercolorlight="#FFFFFF" bordercolordark="#999999"><tr><td bgcolor="#<?php echo $webs["bgcolor_links"]?>" colspan="2"><font color="#<?php echo $webs["font_color_links"]?>">Verteilersenden: <input type="hidden" name="Verteiler_NR" value="<?= $_REQUEST["Verteiler_NR"];?>"></td></tr><tr><td bgcolor="#<?php echo $webs["bgcolor_links"]?>" class="headline" width="20%" valign="top"><font color="#<?php echo $webs["font_color_links"]?>">An:</td><td bgcolor="#<?php echo $webs["bgcolor_rechts"]?>"><?php$to = array();//Jenachdem was im Redaktionssystem angegeben ist, werden mehr Infos geholt und später mit in $to gepackt$grundfunktionen = explode( ";", $web_rechte["mail_verteiler"]["versenden"]["grundfunktionen"] );$zusatzfelder = '';foreach ( $grundfunktionen as $value ){if ( $value ){$zusatzfelder .= ", $value";}}$query = "SELECT DISTINCTLogins.E_Mail,MD5(Logins.E_Mail) as MD5$zusatzfelderFROMLogins,Logins_to_VerteilerWHERELogins.ID = Logins_to_Verteiler.LoginsANDLogins_to_Verteiler.Verteiler = '" . $_REQUEST["Verteiler_NR"] ."'ORDER BYID";$result = mysql_query( $query ) or die( mysql_errno() . ": " .mysql_error() . "<hr>$query<hr>" );$count = mysql_num_rows( $result );// Userdaten werden ins Array $to gepacktwhile ( $zeile = mysql_fetch_assoc( $result ) ){if ( preg_match( "/^[A-Za-z0-9-_.+]+\@[A-Za-z0-9-_.+]+\.[A-Za-z]+$/",$zeile["E_Mail"] ) > 0 ){$to[$zeile["MD5"]]["E_Mail"] = $zeile[E_Mail];//Jenachdem was im Redaktionssystem angegeben ist, werden mehr Infos geholt und später mit in $to gepacktforeach ( $grundfunktionen as $value ){$to[$zeile[MD5]][$value] = $zeile[$value];}}}?><ul style="float:right; list-style-position: outside; list-style-type: none; padding-right:20px;"><li style="padding:3px">##1##</li><li style="padding:3px">##2##</li><li style="padding:3px">##3##</li><li style="padding:3px">...</li></ul><textarea name="To" cols="100" rows="10" style="float:left;"><?phpforeach ( $to as $key => $value ){$ausgabe = '';foreach ( $value as $key2 => $value2 ){if ( $value2 ){$ausgabe .= "$value2;";}}$ausgabe = substr( $ausgabe, 0, strlen( $ausgabe ) - 1 ) . "|\n";echo $ausgabe;}?></textarea><br style="clear:both">Anzahl der ausgelesenen Empfänger: <?= count( $to );?></td></tr><tr><td bgcolor="#<?php echo $webs["bgcolor_links"]?>" class="headline" width="20%" valign="top"><font color="#<?php echo $webs["font_color_links"]?>">Versenden am/ab:</td><td bgcolor="#<?php echo $webs["bgcolor_rechts"]?>"><input type="text" name="takeoff" size="30" value="<?= date( "d.m.Y H:i:s" );?>" onFocus="current_value=this.value;if (this.value=='') {this.value=now2(uhrzeit());} this.select();" onChange="this.value=check_Date(this.value)"></td></tr><?phpif ( isset( $user_rechte["mail_verteiler"]["versenden"]["gutscheinversand"] ) ){?><tr><td bgcolor="#<?php echo $webs["bgcolor_links"]?>" class="headline" width="20%" valign="top"><font color="#<?php echo $webs["font_color_links"]?>">GutscheinvorlagenID:</td><td bgcolor="#<?php echo $webs["bgcolor_rechts"]?>"><input type="text" name="gutscheinvorlagenid"></td></tr><?php}?><tr><td bgcolor="#<?php echo $webs["bgcolor_links"]?>" class="headline" width="20%" valign="top"><font color="#<?php echo $webs["font_color_links"]?>">Absender:</td><td bgcolor="#<?php echo $webs["bgcolor_rechts"]?>"><?php echo nl2br( $Verteiler[$Verteiler_NR]["Absender"] )?></td></tr><tr><td bgcolor="#<?php echo $webs["bgcolor_links"]?>" class="headline" width="20%" valign="top"><font color="#<?php echo $webs["font_color_links"]?>">Betreff:</td><td bgcolor="#<?php echo $webs["bgcolor_rechts"]?>"><?php echo nl2br( $Verteiler[$Verteiler_NR]["Betreff"] )?></td></tr><?php if ( !isset( $web_rechte[2]["versenden"]["html"] ) ){?><tr><td bgcolor="#<?php echo $webs["bgcolor_links"]?>" class="headline" width="20%" valign="top"><font color="#<?php echo $webs["font_color_links"]?>">Begrüssung:</td><td bgcolor="#<?php echo $webs["bgcolor_rechts"]?>"><?php echo nl2br( $Verteiler[$Verteiler_NR]["Begruessung"] )?></td></tr><?php}?><tr><td bgcolor="#<?php echo $webs["bgcolor_links"]?>" class="headline" width="20%" valign="top"><font color="#<?php echo $webs["font_color_links"]?>">Text:(Plain) </td><td bgcolor="#<?php echo $webs["bgcolor_rechts"]?>"><textarea name="message[PLAIN]" cols="100" rows="10" wrap="OFF"></textarea></td></tr><tr><td bgcolor="#<?php echo $webs["bgcolor_links"]?>" class="headline" width="20%" valign="top"><font color="#<?php echo $webs["font_color_links"]?>">Text:(HTML) </td><td bgcolor="#<?php echo $webs["bgcolor_rechts"]?>"><!--<textarea id="messageHTML" name="message[HTML]" cols="150" rows="100" wrap="OFF" height="200">--><textarea id="messageHTML" name="message[HTML]" cols="150" rows="100"><?phpif ( $Verteiler[$_GET["Verteiler_NR"]]["Template_URL"] ){echo $Verteiler[$Verteiler_NR]["Begruessung"];readfile( $Verteiler[$_GET["Verteiler_NR"]]["Template_URL"] );echo $Verteiler[$Verteiler_NR]["Schlusstext"];}?></textarea><!-- Einbindung TinyMCE --><script type="text/javascript" language="javascript" src="/js/jquery-1.4.4.min.js"></script><script type="text/javascript" src="../tiny_mce/tiny_mce.js"></script><script type="text/javascript">tinyMCE.init({// General optionsapply_source_formatting : false,inline_styles : true,mode : "exact",elements: "messageHTML",theme : "advanced",verify_html : false,cleanup : false,extended_valid_elements : "style,head,body,html",language: "de",plugins : "safari,spellchecker,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",// Theme optionstheme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,spellchecker,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,blockquote,pagebreak,|,insertfile,insertimage",theme_advanced_toolbar_location : "top",theme_advanced_toolbar_align : "left",theme_advanced_statusbar_location : "bottom",theme_advanced_resizing : true,// Example content CSS (should be your site CSS)content_css : "css/example.css",// Drop lists for link/image/media/template dialogstemplate_external_list_url : "js/template_list.js",external_link_list_url : "js/link_list.js",external_image_list_url : "js/image_list.js",media_external_list_url : "js/media_list.js",// Replace values for the template plugintemplate_replace_values : {username : "Some User",staffid : "991234"}});</script></td></tr><?php if ( !isset( $web_rechte["mail_verteiler"]["versenden"]["html"] ) ){?><tr><td bgcolor="#<?php echo $webs["bgcolor_links"]?>" class="headline" width="20%" valign="top"><font color="#<?php echo $webs["font_color_links"]?>">Schlusstext:</td><td bgcolor="#<?php echo $webs["bgcolor_rechts"]?>"><?= nl2br( $Verteiler[$Verteiler_NR]["Schlusstext"] );?></td></tr><?php}?><?phpif ( isset( $user_rechte[modul_name][tool_name]["attachments"] ) ){?><script language="javascript">function addAttach(){source=document.getElementById("attachment")clone=source.cloneNode(true);clone.removeAttribute("id");source.parentNode.appendChild(clone);}function removeAttach(obj){div = obj.parentNode;td = obj.parentNode.parentNode;if (!div.id) { td.removeChild(div); }}</script><tr><td bgcolor="#<?php echo $webs["bgcolor_links"]?>" class="headline" valign="top" width="20%"><font color="#<?php echo $webs["font_color_links"]?>">Dateianhänge:</td><td bgcolor="#<?php echo $webs["bgcolor_rechts"]?>"><div id="attachment"><input type="file" name="attach[]"><input type="button" value=" + " onClick="addAttach()"><input type="button" value=" - " onClick="removeAttach(this)"></div></td></tr><?php}$shops_ID = getShopsIdFromTemplateURL( $Verteiler[$_GET['Verteiler_NR']]['Template_URL'] );?><tr align="right"><td bgcolor="#<?php echo $webs["bgcolor_links"]?>" class="headline" colspan="2"><input type="hidden" name="shops_ID" value="<?php echo $shops_ID;?>"><input type="hidden" name="smtp_server" value="<?php echo $Verteiler[$_GET['Verteiler_NR']]['smtp_server'];?>"><input type="hidden" name="smtp_user" value="<?php echo $Verteiler[$_GET['Verteiler_NR']]['smtp_user'];?>"><input type="hidden" name="smtp_pass" value="<?php echo $Verteiler[$_GET['Verteiler_NR']]['smtp_pass'];?>"><input type="hidden" name="smtp_authed" value="<?php echo $Verteiler[$_GET['Verteiler_NR']]['smtp_authed'];?>"><input type="submit" name="action" value="Abschicken"><input type="reset" value="Zurücksetzen"></td></tr></table></form></body></html><?phpfunction leseGutscheinvorlage( $vorlagenID ){require_once"../Warenwirtschaft/includes/bestellungen/system/artikelDatabase.php";$table = "artikel";$sql = "SELECTkurzbezeichnung,short_line_1,short_line_2,preis1,preis2FROM$tableWHEREID=$vorlagenID";//echo $sql;$res = mysql_query( $sql );$row = mysql_fetch_assoc( $res );return $row;}function gen_gutschein( $row, $empfaenger, $shopID ){define( "FROM_BESTELLUNG", true );require_once "../marketing/gutscheine.php";$_POST["gen_pdf"] = false;$_POST["gs_shop"] = 0;$_POST["gs_anfangswert"] = $row["preis1"];$_POST["gs_minbestwert"] = $row["preis2"];$_POST["gs_name"] = ( $row["short_line_1"] ) ? $row["short_line_1"] :$row["kurzbezeichnung"];$_POST["gs_empfaenger"] = $empfaenger;$_POST["gs_gueltig_von"] = date( "d.m.Y" );$_POST["gs_gueltig_bis"] = date( "d.m.Y", strtotime( $row["short_line_2"] ." days" ) );$_POST["gs_status"] = 1;$gs = insert_into_gutscheine();return $gs;}?>