Revision 1 | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed
<?phprequire_once "fpdf/fpdf.php";class PDF extends FPDF{//Page headerfunction Header(){}//Page footerfunction Footer(){}}error_reporting( E_ALL & ~ ( E_NOTICE ) );define( "Range", 100 );define( "modul_name", "Warenwirtschaft" );define( "tool_name", "bestellung" );define( "VAR_EXTR_PREFIX", "schnell" );require_once "../../Online-Shop/connect2.php";$time = microtime_float();require_once "../includes/bestellungen/system/getBestellungLieferscheinStatus.php";require_once "../includes/bestellungen/system/getBestellungRechnungStatus.php";require_once "../includes/bestellungen/system/getBestellungStatus.php";require_once "../includes/bestellungen/system/getBestellungSumme.php";require_once "../includes/bestellungen/system/mysql_query_logged.php";require_once "../includes/bestellungen/system/artikelDatabase.php";require_once "../includes/bestellungen/system/bestellung_puffern.php";require_once "../includes/bestellungen/system/getVersandItems.php";require_once "../includes/best_manu/system/getShops.php";require_once "../includes/bestellungen/createOrderText.php"; // Ma/*require_once "includes/bestellungen/system/bestellart.php"; // Marequire_once "includes/bestellungen/system/functions.inc.php"; // Ma*/require_once "../includes/bestellungen/system/getBestellarten.php"; // Ma$ausgabeFelder = array(0 => "bestellung","artikel","schnelleditor" );$bestellartFelder = array( 1 => "Online-Shop", "Reservierung" );$Heute = date( "d.m.Y" );$jetzt = date( "H:i" );function getArtikel( $ID, $a_id ){if ( !$ID )return false;$buffer = array();$sql = "SELECTab.*,a.*FROMartikel_to_Bestellung ab,artikel a,Bestellung bWHEREab.Bestellung=$IDANDa.ID=ab.artikelANDa.ID=$a_idANDb.ID=ab.BestellungANDa.Language=b.Language";$result = mysql_query_logged( $sql ) or die( mysql_errno() . ": " .mysql_error() . "<hr>$query<hr>" );while ( $zeile = mysql_fetch_assoc( $result ) ){$zeile['ArtikelID'] = $zeile['ID'];unset( $zeile['ID'] );$buffer = $zeile;}return $buffer;}function getBestellDaten( $ID ){global $daten;if ( !$ID ){return false;}$buffer = array();$sql = "SELECTb.ID AS bestellungId,ab.status,b.Login,ab.Bestellung,b.termin,date_format( b.erstellt_am, '%d.%m.%Y' ) AS bestellDatum,date_format( b.erstellt_am, '%T' ) AS bestellZeit,sum( ab.Menge * ab.Preis_pro_Stueck ) AS BetragFROMartikel_to_Bestellung abLEFT JOINBestellung bONb.ID = ab.BestellungWHEREb.ID=$IDGROUP BYb.ID";$result = mysql_query_logged( $sql ) or die( mysql_errno() . ": " .mysql_error() . "<hr>$sql<hr>" );while ( $zeile = mysql_fetch_assoc( $result ) ){$buffer['Kundendaten'] = !( $buffer['Kundendaten'] ) ?getKundenDaten( $zeile['Login'] ) : $buffer['Kundendaten'];$buffer['Artikel'] = !( $buffer['Artikel'] ) ? getArtikel( $zeile['Bestellung'],$daten[2] ) : $buffer['Artikel'];$buffer['Bestellung'] = $zeile;}return $buffer;}function getKundenDaten( $ID ){if ( !$ID ){return false;}$buffer = array();$sql = "SELECT*FROMLoginsWHEREID=$ID";$result = mysql_query_logged( $sql ) or die( mysql_errno() . ": " .mysql_error() . "<hr>$query<hr>" );$zeile = mysql_fetch_assoc( $result );$zeile['Login'] = $zeile['ID'];unset( $zeile['ID'] );return $zeile;}function getAktionWebSettings( $shop_ID, $best_art ){global $Bestellung;$Userdata = $Bestellung["Kundendaten"];//var_dump($Userdata);$artikel = $Bestellung["Artikel"];$Datum = $Bestellung["Bestellung"]["bestellDatum"];$Zeit = date( "H:i", strtotime( $Bestellung["Bestellung"]["bestellZeit"] ) );/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ *//* ++ Ma.Nie 10.04.2008 Websettings lesen ++ *//* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */$query = "SELECT*FROMweb_settingsWHEREshops_ID=$shop_IDANDbestellart_id=$best_artORDER BYRang";$result = mysql_query( $query ) or die( mysql_errno() . ": " .mysql_error() . "<hr>$query<hr>" );while ( $zeile = mysql_fetch_assoc( $result ) ){$wsID = $zeile[ID];$wsInhalt = $zeile["Inhalt"];@eval( "\$web_settings[$wsID]=\"$wsInhalt\";" );}return $web_settings;}$Felddaten = explode( ";", $_GET["Felddaten"] );if ( $_POST["mode"] ){foreach ( $_POST["daten"] as $daten ){$bestelldaten = unserialize( stripslashes( $daten["bestell_daten"] ) );$daten["bestell_id"] = $bestelldaten["bestellungId"];$res = sendMail( $daten );if ( $res["code"] ){// echo "E-Mail erfolgreich verschickt!<br>";if ( $_POST["mode"] == "send" ){$art = "B";}else{$art = "V";}$ln = sprintf( "%05d", getPDFLN( $daten["bestell_id"], $daten["artikel_id"],$art ) );$res = generate_pdf( $daten["bestell_id"], $daten["artikel_id"],$res["body"], $art, $ln );if ( $res ){$res = setStatus( $daten["bestell_id"], $daten["artikel_id"],$daten["status"] );if ( $res ){//echo "Artikel erfolgreich reserviert!<br>";}}}else{echo"Leider ist ein Fehler beim Verschicken der E-Mail aufgetreten! Bitte versuchen Sie es später noch einmal!<br>";}}}else{$i = 0;$c = count( $_POST["schnellAktion"] );$f_daten = explode( ";", $_GET["Felddaten"] );$mode_str = $f_daten[count( $f_daten ) - 1];if ( in_array( $mode_str, array( "mode=drucken","mode=schnittmarke-drucken" ) ) ){foreach ( $_POST as $key => $value ){foreach ( $value as $key2 => $value2 ){$daten = explode( ",", $value2 );$Bestellung = getBestellDaten( $daten[3] );$web_settings = getAktionWebSettings( $daten[0], $daten[1] );$daten["kunden_daten"] = serialize( $Bestellung["Kundendaten"] );$daten["bestell_daten"] = serialize( $Bestellung["Bestellung"] );if ( $i == $c - 1 ){$mode_str = "mode=drucken";}drucken( $daten, $mode_str );$i++;}}}elseif ( $f_daten[count( $f_daten ) - 1] == "mode=verzoegerung" ){foreach ( $_POST as $key => $value ){foreach ( $value as $key2 => $value2 ){$daten = explode( ",", $value2 );$Bestellung = getBestellDaten( $daten[3] );$web_settings = getAktionWebSettings( $daten[0], $daten[1] );if ( $i == 0 ){?><form action="" method="post"><input type="hidden" name="from" value="<?= $web_settings[11];?>"><table><?php}prepareVerzMail( $web_settings, $Bestellung["Kundendaten"] );//sendMail( $web_settings, $Bestellung["Kundendaten"]["E_Mail"] );if ( $i == $c - 1 ){?><tr><td colspan="2"><input type="submit" value="senden und drucken"><input type="hidden" name="mode" value="send_v"></td></tr></table></form><?php}$i++;}}}else{foreach ( $_POST as $key => $value ){foreach ( $value as $key2 => $value2 ){$daten = explode( ",", $value2 );$Bestellung = getBestellDaten( $daten[3] );$web_settings = getAktionWebSettings( $daten[0], $daten[1] );if ( $i == 0 ){?><form action="" method="post"><input type="hidden" name="from" value="<?= $web_settings[11];?>"><table><?php}prepareMail( $web_settings, $Bestellung["Kundendaten"] );//sendMail( $web_settings, $Bestellung["Kundendaten"]["E_Mail"] );if ( $i == $c - 1 ){?><tr><td colspan="2"><input type="submit" value="senden und drucken"><input type="hidden" name="mode" value="send"></td></tr></table></form><?php}$i++;//header( "Location: ../bestellungen.php" );}}}}function sendMail( $daten ){//var_dump( $daten );$mailSubject = $daten["mailSubject"];$mailText = str_replace( "<#Abholdatum#>", $daten["datum"], $daten["mailText"] );$email = $daten["email"];$body = $mailText . "\r\n\r\n";$res = mail( "$email", $mailSubject, $body, "From:$_POST[from]", "-f$_POST[from]" );$erg["body"] .= $body;$erg["code"] = $res;return $erg;}function generate_pdf( $bestell_id, $artikel_id, $body, $art = "B", $ln = 1 ){global $webs;//Instanciation of inherited class$pdf = new PDF();global $site;require_once "../includes/reservierungen/body_$site.inc.php";$pdf->setSubject( "E-Mail über Reservierung" );$pdf->setAuthor( $haendler_name );$pdf->setCreator( "fpdf PHP Library" );$pdf->AliasNbPages();$pdf->AddPage();$pdf->setY( 45 );$pdf->setFont( 'Arial', '', 10 );$pdf->multicell( 190, 4, "$body", "B", "L", 0 );$f_name = $bestell_id . "_" . $artikel_id . "_" . $art . $ln . ".pdf";$pdf->Output( $webs['verzeichnis'] . "/images/dokumente/$f_name" );$sql = "REPLACE INTOdokumente(table_foreign,row_foreign,data_foreign,document,letzte_Aenderung_am,letzte_Aenderung_von)VALUES('Bestellung','ID',$bestell_id,'$f_name',NOW(),'" . $_SERVER["PHP_AUTH_USER"] . "')";$res = mysql_query( $sql );if ( !$res ){mail( "tiefland@weban.de","Fehler beim hinzufügen der PDF-Datei zur Bestellung!",mysql_error() . "\n$sql", "From: redaktion@$site" );}return true;}function drucken( $daten, $mode_str ){global $Bestellung;$kundendaten = unserialize( stripslashes( $daten["kunden_daten"] ) );$bestelldaten = unserialize( stripslashes( $daten["bestell_daten"] ) );?><table><tr><td style="font-weight:bold;font-size:120%;">Bestelldatum:</td><td style="font-weight:bold;font-size:120%;"><?= $bestelldaten["bestellDatum"] . " " . $bestelldaten["bestellZeit"];?></td></tr><tr><td>Artikel:</td><td><?= $Bestellung["Artikel"]["kurzbezeichnung"];?></td></tr><tr><td>Kundenname:</td><td><?= $Bestellung["Kundendaten"]["Vorname"] . " " . $Bestellung["Kundendaten"]["Name1"];?></td></tr><tr><td>Telefon:</td><td><?= $Bestellung["Kundendaten"]["Telefon"];?></td></tr><tr><td>E-Mail:</td><td><?= $Bestellung["Kundendaten"]["E_Mail"];?></td></tr><tr><td>Preis:</td><td><?= $Bestellung["Artikel"]["Preis_pro_Stueck"];?></td></tr><tr><td>Menge:</td><td><?= $Bestellung["Artikel"]["Menge"];?></td></tr><tr><td>Bestellnummer:</td><td><?= $bestelldaten["bestellungId"];?></td></tr><tr><td>Reserviert für:</td><td><?= $bestelldaten["termin"];?> Tage</td></tr></table><?phpif ( $mode_str == "mode=schnittmarke-drucken" ){?><hr style="page-break-after:always"><?php}elseif ( $mode_str == "mode=drucken" ){?><hr><?php}//echo $bestell_id, $artikel_id;return true;}function setStatus( $bestell_id, $artikel_id, $statusText = "erledigt" ){$sql = "UPDATEartikel_to_BestellungSETstatus='$statusText'WHEREBestellung=$bestell_idANDartikel=$artikel_id";$res = mysql_query( $sql );if ( !$res ){mail( "tiefland@weban.de", "Status konnte nicht geändert werden!",mysql_error(), "FROM: redaktion@$site" );}return $res;}function prepareMail( $settings, $kundendaten ){global $Bestellung;$bestelldaten = serialize( $Bestellung["Bestellung"] );$email = $kundendaten["E_Mail"];$kundendaten["Name"] = $kundendaten["Vorname"] . " " . $kundendaten["Name1"];$artikel_name = $Bestellung["Artikel"]["kurzbezeichnung"];$bestell_id = $Bestellung["Bestellung"]["bestellungId"];$artikel_id = $Bestellung["Artikel"]["artikel"];$artikel_preis = $Bestellung["Artikel"]["Preis_pro_Stueck"];$artikel_menge = $Bestellung["Artikel"]["Menge"];static $ind = 0;$mailSubject = $settings[12];$mailText = $settings[13];$mailUserData = $settings[14];$mailEnd = $settings[15];$kundendaten = serialize( $kundendaten );$mailText .= "\n" . $mailUserData . "\n" . $mailEnd;?><tr><td>Kunden-Email:</td><td><input type="text" name="daten[<?= $ind;?>][email]" value="<?= $email;?>" size="65"></td></tr><tr><td>Betreff:</td><td><input type="text" name="daten[<?= $ind;?>][mailSubject]" value="<?= $mailSubject;?>" size="65"></td></tr><tr><td>Text:</td><td><textarea cols="50" rows="20" name="daten[<?= $ind;?>][mailText]"><?= $mailText;?></textarea></td></tr><tr><td>Status:</td><td><?= getStati( $ind );?></td></tr><tr><td>Abholdatum:</td><td><input type="text" name="daten[<?= $ind;?>][datum]" value="<?= date( "d.m.Y",strtotime( "5 days" ) );?>"></td></tr><tr><td colspan="2"><hr></td></tr><tr><td><input type="hidden" name="daten[<?= $ind;?>][bestell_daten]" value='<?= $bestelldaten;?>'><input type="hidden" name="daten[<?= $ind;?>][artikel_id]" value="<?= $artikel_id;?>"><input type="hidden" name="daten[<?= $ind;?>][artikel_name]" value="<?= $artikel_name;?>"><input type="hidden" name="daten[<?= $ind;?>][kunden_daten]" value='<?= $kundendaten;?>'><input type="hidden" name="daten[<?= $ind;?>][artikel_preis]" value="<?= $artikel_preis;?>"><input type="hidden" name="daten[<?= $ind;?>][artikel_menge]" value="<?= $artikel_menge;?>"></td></tr><?php$ind++;}function getStati( $ind ){$cmd_buttons = array('offen','in Bearbeitung','reserviert','erledigt','abgeschlossen' );?><select name="daten[<?= $ind;?>][status]"><?phpforeach ( $cmd_buttons as $id => $status ){$selected = '';if ( $id == 1 ){$selected = 'selected="selected"';}?><option value="<?= $status;?>" <?= $selected;?>><?= $status;?></option><?php}?></select><?php}function prepareVerzMail( $settings, $kundendaten ){global $Bestellung;$bestelldaten = serialize( $Bestellung["Bestellung"] );$email = $kundendaten["E_Mail"];$kundendaten["Name"] = $kundendaten["Vorname"] . " " . $kundendaten["Name1"];$artikel_name = $Bestellung["Artikel"]["kurzbezeichnung"];$bestell_id = $Bestellung["Bestellung"]["bestellungId"];$artikel_id = $Bestellung["Artikel"]["artikel"];$artikel_preis = $Bestellung["Artikel"]["Preis_pro_Stueck"];$artikel_menge = $Bestellung["Artikel"]["Menge"];static $ind = 0;$mailSubject = $settings[64];$mailText = $settings[65];$kundendaten = serialize( $kundendaten );?><tr><td>Kunden-Email:</td><td><input type="text" name="daten[<?= $ind;?>][email]" value="<?= $email;?>" size="65"></td></tr><tr><td>Betreff:</td><td><input type="text" name="daten[<?= $ind;?>][mailSubject]" value="<?= $mailSubject;?>" size="65"></td></tr><tr><td>Text:</td><td><textarea cols="50" rows="20" name="daten[<?= $ind;?>][mailText]"><?= $mailText;?></textarea></td></tr><tr><td>Status:</td><td><?= getStati( $ind );?></td></tr><tr><td colspan="2"><hr></td></tr><tr><td><input type="hidden" name="daten[<?= $ind;?>][bestell_daten]" value='<?= $bestelldaten;?>'><input type="hidden" name="daten[<?= $ind;?>][artikel_id]" value="<?= $artikel_id;?>"><input type="hidden" name="daten[<?= $ind;?>][artikel_name]" value="<?= $artikel_name;?>"><input type="hidden" name="daten[<?= $ind;?>][kunden_daten]" value='<?= $kundendaten;?>'><input type="hidden" name="daten[<?= $ind;?>][artikel_preis]" value="<?= $artikel_preis;?>"><input type="hidden" name="daten[<?= $ind;?>][artikel_menge]" value="<?= $artikel_menge;?>"></td></tr><?php$ind++;}function getPDFLN( $bestell_id, $artikel_id, $art ){$f_name = $bestell_id . "_" . $artikel_id . "_" . $art;$sql = "SELECTMAX(dokument) AS dokumentFROMdokumenteWHEREdokument LIKE '$f_name%'";$res = mysql_query( $sql );if ( $res ){if ( mysql_num_rows( $res ) ){$row = mysql_fetch_assoc( $res );$dokument = substr( $row["dokument"], 0, strlen( $row["dokument"] ) -4 );$dokument = explode( "_", $dokument );$ln = substr( $dokument[count( $dokument ) - 1], 1 );$ln++;}else{$ln = 1;}}else{$ln = 1;}return $ln;}?>