Initialer Commit: Kundenverwaltung (PHP/Smarty)

Bestehende Codebasis als Ausgangsstand aufgenommen.

- .gitignore: Kundendaten (uploads_*), Smarty-Compile-Cache
  (templates_c), Laufzeit-Temp und Datenbank-Dumps ausgeschlossen;
  Verzeichnisstruktur ueber .gitkeep erhalten
- .gitattributes: Zeilenenden normalisiert (LF im Repo),
  Binaerformate markiert
- db-backup.php: MySQL-Zugangsdaten kommen jetzt wie im Rest der
  Anwendung aus der externen Konfiguration statt hartkodiert aus der
  Datei; Passwort wird ueber eine temporaere Optionsdatei statt per
  Kommandozeile uebergeben, Fehler von mysqldump/gzip werden gemeldet,
  Aufraeumen aelterer Backups berechnet Jahr und Monat konsistent

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-28 16:41:18 +02:00
co-authored by Claude Opus 5
commit e2124220e5
2225 changed files with 1070301 additions and 0 deletions
+117
View File
@@ -0,0 +1,117 @@
<?php
require_once ("./incs/rechnung.php");
$smarty->assign("heading","Statistik");
$smarty->display("heading.tpl");
$smarty->assign("ffyear0",date("Y",strtotime("-0 year")));
$smarty->assign("ffyear1",date("Y",strtotime("-1 year")));
$smarty->assign("ffyear2",date("Y",strtotime("-2 years")));
$sum = 0;
$sumincl = 0;
$qry = mysqli_query($dbconn,"SELECT rechnung.id AS rech, ort.plz AS plz FROM rechnung JOIN adresse ON adresse_id = adresse.id JOIN strasse ON adresse.str_id = strasse.id JOIN ort ON ort.id = strasse.ort_id WHERE rechnung.typ_id = 1 AND ort.plz = '87509' AND ( ort.land_id = 1 OR ort.land_id = 4) AND storno = 0 AND DATE_FORMAT(rechnung.datetime, '%Y') = '".date("Y",strtotime("-0 years"))."'") or error(mysqli_error($dbconn));
while($res = mysqli_fetch_assoc($qry))
{
$sumincl += calculateRechnungsSum($dbconn, $res["rech"],1);
$sum += calculateRechnungsSum($dbconn, $res["rech"],0);
}
$smarty->assign("ffincl0",$sumincl);
$smarty->assign("ffexcl0",$sum);
$sum = 0;
$sumincl = 0;
$qry = mysqli_query($dbconn,"SELECT rechnung.id AS rech, ort.plz AS plz FROM rechnung JOIN adresse ON adresse_id = adresse.id JOIN strasse ON adresse.str_id = strasse.id JOIN ort ON ort.id = strasse.ort_id WHERE rechnung.typ_id = 1 AND ort.plz = '87509' AND ( ort.land_id = 1 OR ort.land_id = 4) AND storno = 0 AND DATE_FORMAT(rechnung.datetime, '%Y') = '".date("Y",strtotime("-1 year"))."'") or error(mysqli_error($dbconn));
while($res = mysqli_fetch_assoc($qry))
{
$sumincl += calculateRechnungsSum($dbconn, $res["rech"],1);
$sum += calculateRechnungsSum($dbconn, $res["rech"],0);
}
$smarty->assign("ffincl1",$sumincl);
$smarty->assign("ffexcl1",$sum);
$sum = 0;
$sumincl = 0;
$qry = mysqli_query($dbconn,"SELECT rechnung.id AS rech, ort.plz AS plz FROM rechnung JOIN adresse ON adresse_id = adresse.id JOIN strasse ON adresse.str_id = strasse.id JOIN ort ON ort.id = strasse.ort_id WHERE rechnung.typ_id = 1 AND ort.plz = '87509' AND ( ort.land_id = 1 OR ort.land_id = 4) AND storno = 0 AND DATE_FORMAT(rechnung.datetime, '%Y') = '".date("Y",strtotime("-2 years"))."'") or error(mysqli_error($dbconn));
while($res = mysqli_fetch_assoc($qry))
{
$sumincl += calculateRechnungsSum($dbconn, $res["rech"],1);
$sum += calculateRechnungsSum($dbconn, $res["rech"],0);
}
$smarty->assign("ffincl2",$sumincl);
$smarty->assign("ffexcl2",$sum);
$sum = 0;
$completesum = 0;
$partners = array();
$qry = mysqli_query($dbconn,"SELECT GROUP_CONCAT(rechnung.id SEPARATOR ',') AS rechs, partner_id FROM rechnung RIGHT OUTER JOIN partner ON partner_id = partner.id WHERE rechnung.typ_id = 1 AND storno = 0 AND DATE_FORMAT(rechnung.datetime, '%Y') = '".date("Y",strtotime("-0 year"))."' GROUP BY partner_id");
while($res = mysqli_fetch_assoc($qry))
{
$rechs = explode(',',$res["rechs"]);
$sum = 0;
Foreach($rechs AS $rech)
{
$sum += calculateRechnungsSum($dbconn, $rech,1);
}
$completesum +=$sum;
if($sum>0)
{
$partners[$res["partner_id"]] = $sum;
}
}
arsort($partners);
$smarty->assign("partnercharts0",array_slice($partners, 0, 25, true));
$smarty->assign("completesum0",$completesum);
$sum = 0;
$completesum = 0;
$partners = array();
$qry = mysqli_query($dbconn,"SELECT GROUP_CONCAT(rechnung.id SEPARATOR ',') AS rechs, partner_id FROM rechnung RIGHT OUTER JOIN partner ON partner_id = partner.id WHERE rechnung.typ_id = 1 AND storno = 0 AND DATE_FORMAT(rechnung.datetime, '%Y') = '".date("Y",strtotime("-1 year"))."' GROUP BY partner_id");
while($res = mysqli_fetch_assoc($qry))
{
$rechs = explode(',',$res["rechs"]);
$sum = 0;
Foreach($rechs AS $rech)
{
$sum += calculateRechnungsSum($dbconn, $rech,1);
}
$completesum +=$sum;
if($sum>0)
{
$partners[$res["partner_id"]] = $sum;
}
}
arsort($partners);
$smarty->assign("partnercharts1",array_slice($partners, 0, 25, true));
$smarty->assign("completesum1",$completesum);
$sum = 0;
$completesum = 0;
$partners = array();
$qry = mysqli_query($dbconn,"SELECT GROUP_CONCAT(rechnung.id SEPARATOR ',') AS rechs, partner_id FROM rechnung RIGHT OUTER JOIN partner ON partner_id = partner.id WHERE rechnung.typ_id = 1 AND storno = 0 AND DATE_FORMAT(rechnung.datetime, '%Y') = '".date("Y",strtotime("-2 years"))."' GROUP BY partner_id");
while($res = mysqli_fetch_assoc($qry))
{
$rechs = explode(',',$res["rechs"]);
$sum = 0;
Foreach($rechs AS $rech)
{
$sum += calculateRechnungsSum($dbconn, $rech,1);
}
$completesum +=$sum;
if($sum>0)
{
$partners[$res["partner_id"]] = $sum;
}
}
arsort($partners);
$smarty->assign("partnercharts2",array_slice($partners, 0, 25, true));
$smarty->assign("completesum2",$completesum);
$smarty->display("charts.tpl");
$_SESSION["camefrom"] ="charts";
?>
+13
View File
@@ -0,0 +1,13 @@
<?php
$smarty->assign("heading","Kunden");
$smarty->display("heading.tpl");
$smarty->assign("felder",array("all"=>"Name, Adresse, Kd.Nr.","kdnr"=>"Kundennummer","name"=>"Name und Firma","str"=>"Straße","plz"=>"PLZ","ort"=>"Ort","tel"=>"Tel","kont"=>"Kontakt"));
$smarty->assign("search",$_SESSION["search"]);
$smarty->assign("selfeld",$_SESSION["field"]);
$smarty->assign("page",$_SESSION["page"]);
$smarty->display("kunden.tpl");
$_SESSION["camefrom"] ="kunden";
?>
+59
View File
@@ -0,0 +1,59 @@
<?php
require_once "incs/saveNchange.php";
require_once "incs/rechnung.php";
if($_GET["del"] == 1)
{
$kundeid=mysql_escape_string($_GET["kundeid"]);
$qry=mysqli_query($dbconn,"SELECT partner.id, vname, nname, firma FROM partner JOIN adresse ON adresse.partner_id = partner.id WHERE partner_id = '$kundeid' AND adresse.typ_id = 1 AND partner.typ_id = 1") or $err=error("Fehler beim ermitteln der Kundendaten für die LOG:<br />".mysqli_error($dbconn));
$res=mysqli_fetch_array($qry);
$kundeid=$res[0];
$vname=$res[1];
$nname=$res[2];
$firma=$res[3];
$qry=mysqli_query($dbconn,"SELECT id, rechnr FROM rechnung WHERE partner_id = '$kundeid'") or $err=error("Fehler beim ermitteln verknüpfter Rechnungen:<br />".mysqli_error($dbconn));
while($res = mysqli_fetch_array($qry))
{
$qry2=mysqli_query($dbconn,"DELETE FROM artikel_rechn WHERE rech_id = '$res[0]'") or $err=error("Fehler beim löschen verknüpfter Artikel:<br />".mysqli_error($dbconn));
$qry2=mysqli_query($dbconn,"DELETE FROM artikelsks WHERE rechnr = '$res[1]'") or $err=error("Fehler beim löschen verknüpfter SKS Artikel:<br />".mysqli_error($dbconn));
}
$qry=mysqli_query($dbconn,"SELECT id FROM rechnung WHERE partner_id = '$kundeid'") or $err=error("Fehler beim ermitteln verknüpfter Rechnungen:<br />".mysqli_error($dbconn));
while($res=mysqli_fetch_assoc($qry))
{
$err = delRechnung($dbconn,$res["id"]);
}
$qry=mysqli_query($dbconn,"DELETE FROM adresse WHERE partner_id = '$kundeid'") or $err=error("Fehler beim Löschen verknüpfter Adressen:<br />".mysqli_error($dbconn));
$qry=mysqli_query($dbconn,"DELETE FROM tel WHERE partner_id = '$kundeid'") or $err=error("Fehler beim Löschen verknüpfter Telefonnummern:<br />".mysqli_error($dbconn));
$qry=mysqli_query($dbconn,"DELETE FROM kontakt WHERE partner_id = '$kundeid'") or $err=error("Fehler beim Löschen verknüpfter Kontaktadressen:<br />".mysqli_error($dbconn));
$qry=mysqli_query($dbconn,"DELETE FROM notiz WHERE partner_id = '$kundeid'") or $err=error("Fehler beim Löschen verknüpfter Notizen:<br />".mysqli_error($dbconn));
$qry=mysqli_query($dbconn,"DELETE FROM konto WHERE partner_id = '$kundeid'") or $err=error("Fehler beim Löschen verknüpfter Konten:<br />".mysqli_error($dbconn));
$qry=mysqli_query($dbconn,"DELETE FROM partner WHERE id = '$kundeid'") or $err=error("Fehler beim löschen des Kunden:<br />".mysqli_error($dbconn));
if(!$err)
{
$err = saveLog($dbconn,"DELETE FROM partner WHERE id = $kundeid [$vname $nname - $firma]",
"",
"löschen");
if(!$err)
{
$qry=mysqli_query($dbconn,"UPDATE partner SET updated_by = 0 WHERE updated_by = '$kundeid'") or $err=error("Fehler beim unlinken einer eventuellen aktualisierung:<br />".mysqli_error($dbconn));
}
if(!$err)
{
doneNreturn("Erfolgreich gelöscht!");
}
}
}
elseif($_GET["formsent"] == 1)
{
$ret = savePart($dbconn,1);
$_SESSION["camefrom"] = "kundenshow&id=".$ret[1];
if(!$ret[0])
doneNreturn("Erfolgreich erledigt!");
}
else
{
dispPartForm($dbconn,$smarty);
}
?>
+207
View File
@@ -0,0 +1,207 @@
<?php
require_once "incs/saveNchange.php";
if($_GET["do"] == "adress")
{
if($_GET["del"] == 1)
{
$adressid=mysql_escape_string($_GET["adressid"]);
$qry=mysqli_query($dbconn,"SELECT vname, nname, firma, typ, partner.id FROM adresse
JOIN adresstyp ON adresstyp.id = adresse.typ_id
JOIN partner ON partner.id = adresse.partner_id
WHERE adresse.id = '$adressid' AND partner.typ_id = 1") or $err=error("Fehler beim abrufen der Informationen für die LOG:<br />".mysqli_error($dbconn));
$res=mysqli_fetch_array($qry);
$vname = $res[0];
$nname = $res[1];
$firma = $res[2];
$typ = $res[3];
$kdnr = $res[4];
if($kdnr)
{
$qry=mysqli_query($dbconn,"DELETE FROM adresse WHERE id = '$adressid'") or $err=error("Fehler beim löschen der Adresse:<br />".mysqli_error($dbconn));
if(!$err)
{
$err = saveLog($dbconn,"DELETE FROM adresse WHERE id = $adressid [$typ von Kunde $kdnr ($vname $nname - $firma)]","","löschen");
if(!$err)
doneNreturn("Erfolgreich gelöscht!");
}
if(!$err)
{
$qry=mysqli_query($dbconn,"SELECT * FROM tel WHERE adresse_id = '$adressid'");
while($res = mysqli_fetch_assoc($dbconn,$qry))
{
mysqli_query($dbconn,"DELETE FROM tel WHERE id='".$res["id"]."'") or $err = error("Fehler beim löschen der zugehörigen Telefonnummern<br />".mysqli_error($dbconn));#
if(!$err)
{
$err = saveLog($dbconn,"DELETE FROM tel WHERE id = ".$res["$id"]." [$typ von Kunde $kdnr ($vname $nname - $firma)]","","löschen");
}
}
}
if(!$err)
doneNreturn("Erfolgreich gelöscht!");
}
else
{
$err = error("Ungültiger Kunde!");
}
}
elseif($_GET["formsent"] == 1)
{
$err = saveAdress($dbconn);
if(!$err)
doneNreturn("Erfolgreich erledigt!");
}
else
{
dispAdressForm($dbconn,$smarty,1);
}
}
elseif($_GET["do"] == "tel")
{
if($_GET["del"] == 1)
{
$telid=mysql_escape_string($_GET["telid"]);
$qry=mysqli_query($dbconn,"SELECT typ, partner.id FROM tel
JOIN teltyp ON teltyp.id = tel.typ_id
JOIN partner ON partner.id = tel.partner_id
WHERE adresse.id = '$adressid' AND partner.typ_id = 1") or $err=error("Fehler beim abrufen der Informationen für die LOG:<br />".mysqli_error($dbconn));
$res=mysqli_fetch_array($dbconn,$qry);
$typ = $res[0];
$kdnr = $res[1];
if($kdnr)
{
$qry=mysqli_query($dbconn,"DELETE FROM tel WHERE id = '$telid'") or $err=error("Fehler beim löschen der Telefonnummer:<br />".mysqli_error($dbconn));
if(!$err)
{
$err = saveLog($dbconn,"DELETE FROM tel WHERE id = $telid [$typ von Kunde $kdnr]","","löschen");
if(!$err)
doneNreturn("Erfolgreich gelöscht!");
}
}
else
{
$err = error("Ungültiger Kunde!");
}
}
elseif($_GET["formsent"] == 1)
{
$err = saveTel($dbconn);
if(!$err)
doneNreturn("Erfolgreich erledigt!");
}
else
{
dispTelForm($dbconn,$smarty,1);
}
}
elseif($_GET["do"] == "kontakt")
{
if($_GET["del"] == 1)
{
$kontaktid=mysql_escape_string($_GET["kontaktid"]);
$qry=mysqli_query($dbconn,"SELECT typ, partner.id FROM kontakt
JOIN kontakttyp ON kontakttyp.id = kontakt.typ_id
JOIN partner ON partner.id = kontakt.partner_id
WHERE kontakt.id = '$kontaktid'") or $err=error("Fehler beim abrufen der Informationen für die LOG:<br />".mysqli_error($dbconn));
$res=mysqli_fetch_array($qry);
$typ = $res[0];
$kdnr = $res[1];
if($kdnr)
{
$qry=mysqli_query($dbconn,"DELETE FROM kontakt WHERE id = '$kontaktid'") or $err=error("Fehler beim löschen der Kontaktinformation:<br />".mysqli_error($dbconn));
if(!$err)
{
$err = saveLog($dbconn,"DELETE FROM kontakt WHERE id = $kontaktid [$typ von Kunde $kdnr]","","löschen");
if(!$err)
doneNreturn("Erfolgreich gelöscht!");
}
}
else
{
$err = error("Ungültiger Kunde!");
}
}
elseif($_GET["formsent"] == 1)
{
$err = saveKontakt($dbconn);
if(!$err)
doneNreturn("Erfolgreich erledigt!");
}
else
{
dispKontaktForm($dbconn,$smarty,1);
}
}
elseif($_GET["do"] == "notiz")
{
if($_GET["del"] == 1)
{
$notizid=mysql_escape_string($_GET["notizid"]);
$qry=mysqli_query($dbconn,"SELECT partner_id FROM notiz
JOIN partner ON partner.id = notiz.partner_id
WHERE notiz.id = '$notizid' AND partner.typ_id = 1") or $err=error("Fehler beim abrufen der Informationen für die LOG:<br />".mysqli_error($dbconn));
$res=mysqli_fetch_array($qry);
$kdnr = $res[0];
if($kdnr)
{
$qry=mysqli_query($dbconn,"DELETE FROM notiz WHERE id = '$notizid'") or $err=error("Fehler beim löschen der Notiz:<br />".mysqli_error($dbconn));
if(!$err)
{
$err = saveLog($dbconn,"DELETE FROM notiz WHERE id = $notizid [von Kunde $kdnr]","","löschen");
del_files("./".UPLOADS_PATH."notes/","!^".$notizid."\.(.)+$!");
if(!$err)
doneNreturn("Erfolgreich gelöscht!");
}
}
else
{
$err = error("Ungültiger Kunde!");
}
}
elseif($_GET["formsent"] == 1)
{
$err = saveNotiz($dbconn);
if(!$err)
doneNreturn("Erfolgreich erledigt!");
}
else
{
dispNotizForm($dbconn,$smarty,1);
}
}
elseif($_GET["do"] == "konto")
{
if($_GET["del"] == 1)
{
$kontoid = mysql_escape_string($_GET["kontoid"]);
$qry = mysqli_query($dbconn,"SELECT konto.partner_id FROM konto
JOIN partner ON partner.id = konto.partner_id
WHERE konto.id = '$kontoid' AND partner.typ_id = 1") or $err=error("Fehler beim abrufen der Informationen für die LOG:<br />".mysqli_error($dbconn));
$res = mysqli_fetch_array($qry);
$kdnr = $res[0];
if($kdnr)
{
$qry=mysqli_query($dbconn,"DELETE FROM konto WHERE id = '$kontoid'") or $err=error("Fehler beim löschen des Kontos:<br />".mysqli_error($dbconn));
if(!$err)
{
$err = saveLog($dbconn,"DELETE FROM konto WHERE id = $kontoid [von Kunde $kdnr]","","löschen");
if(!$err)
doneNreturn("Erfolgreich gelöscht!");
}
}
else
{
$err = error("Ungültiger Kunde!");
}
}
elseif($_GET["formsent"] == 1)
{
$err = saveKonto($dbconn);
if(!$err)
doneNreturn("Erfolgreich erledigt!");
}
else
{
dispKontoForm($dbconn,$smarty,2);
}
}
?>
+121
View File
@@ -0,0 +1,121 @@
<?php
if($_GET["id"])
{
$qry = mysqli_query($dbconn,"SELECT * FROM partner WHERE id='".mysql_escape_string($_GET["id"])."' AND typ_id = 1");
$kdnres=mysqli_fetch_assoc($qry);
$smarty->assign("kunde",$kdnres);
if($kdnres["id"])
{
$qry = mysqli_query($dbconn,"SELECT id, datetime_new FROM partner WHERE updated_by='".$kdnres["id"]."'");
while($res=mysqli_fetch_assoc($qry))
{
$oldrecords[] = $res;
$qry = mysqli_query($dbconn,"SELECT id, datetime_new FROM partner WHERE updated_by='".$res["id"]."'");
}
$smarty->assign("oldrecords",$oldrecords);
$qry = mysqli_query($dbconn,"SELECT id, datetime_new FROM partner WHERE id='".$kdnres["updated_by"]."'");
while($res=mysqli_fetch_assoc($qry))
{
$newrecords[] = $res;
$qry = mysqli_query($dbconn,"SELECT id, datetime_new FROM partner WHERE id='".$res["updated_by"]."'");
}
$smarty->assign("newrecords",$newrecords);
$tmp = array();
$qry = mysqli_query($dbconn,"SELECT * FROM anrede");
while($res=mysqli_fetch_assoc($qry))
{
$tmp[$res["id"]] = $res["anrede"];
}
$smarty->assign("anr",$tmp);
$tmp = array();
$qry = mysqli_query($dbconn,"SELECT * FROM titel");
while($res=mysqli_fetch_assoc($qry))
{
$tmp[$res["id"]] = $res["titel"];
}
$smarty->assign("titel",$tmp);
$qry = mysqli_query($dbconn,"SELECT name,typ,tel.id,nr,ort,ortsteil,plz,vwahl, ort.id AS ort_id FROM tel LEFT JOIN teltyp ON typ_id = teltyp.id LEFT JOIN ort ON ort_id = ort.id WHERE partner_id='".mysql_escape_string($_GET["id"])."' AND tel.adresse_id = 0 ORDER BY typ_id ASC");
while($res=mysqli_fetch_assoc($qry))
{
$tels[] = $res;
}
$smarty->assign("telnrn",$tels);
$qry = mysqli_query($dbconn,"SELECT kontakt.id, kontakt, partner_id, typ FROM kontakt LEFT JOIN kontakttyp ON kontakttyp.id = kontakt.typ_id WHERE partner_id='".mysql_escape_string($_GET["id"])."' ORDER BY typ_id ASC");
while($res=mysqli_fetch_assoc($qry))
{
$contacts[] = $res;
}
$smarty->assign("contacts",$contacts);
$tmp = array();
$qry = mysqli_query($dbconn,"SELECT ktonr,iban,swift,blz,bank,partner_id,konto.id,inhaber
FROM konto JOIN bank ON konto.bank_id = bank.id WHERE partner_id='".mysql_escape_string($_GET["id"])."'")
or $err=error("Fehler beim auslesen der Konten:<br />". mysqli_error($dbconn));
while($res=mysqli_fetch_assoc($qry))
{
$tmp[] = $res;
}
$smarty->assign("kontos",$tmp);
$qry = mysqli_query($dbconn,"SELECT * FROM notiz WHERE partner_id='".mysql_escape_string($_GET["id"])."'");
while($res=mysqli_fetch_assoc($qry))
{
$res["file"] = search_file("./".UPLOADS_PATH."notes/","!^".$res["id"]."\.(.)+$!");
$notes[] = $res;
}
$qry = mysqli_query($dbconn,"SELECT COUNT(rechnr) AS nr_mahn, NOW() AS datetime FROM rechnung WHERE typ_id = 6 AND partner_id = '".mysql_escape_string($_GET["id"])."'") or $err=error("Fehler beim Auslesen der Daten:<br />".mysqli_error($dbconn));
$res=mysqli_fetch_assoc($qry);
if($res["nr_mahn"] > 0)
{
$mahn["notiz"] = "ACHTUNG! Es sind bereits ".$res["nr_mahn"]." Mahnungen für diesen Kunden vorhanden!!";
$mahn["color"] = "#f76";
$mahn["datetime"] = $res["datetime"];
$notes[] = $mahn;
}
$smarty->assign("notes",$notes);
$qry = mysqli_query($dbconn,"SELECT plz, ortsteil, tel.nr, ort.vwahl, ort, str, DATE_FORMAT(gebdat,'%d.%m.%Y') AS gebdat, DATE_FORMAT(gebdat2,'%d.%m.%Y') AS gebdat2, hnr, vname, nname, vname2, nname2, firma, adresse.id, land, anrede_id, titel_id, anrede2_id, titel2_id, adresstyp.typ, adresse.typ_id
FROM adresse JOIN
adresstyp ON adresstyp.id = adresse.typ_id
LEFT JOIN strasse ON str_id = strasse.id
LEFT JOIN ort ON ort_id = ort.id
LEFT JOIN land ON land_id = land.id
LEFT JOIN tel ON tel.adresse_id = adresse.id
WHERE adresse.partner_id='".mysql_escape_string($_GET["id"])."' AND adresse.typ_id != 5
ORDER BY typ_id ASC")or $err=error("Mysql-Fehler:<br />".mysqli_error($dbconn));
while($res=mysqli_fetch_assoc($qry))
{
$adressen[] = $res;
}
$smarty->assign("adressen",$adressen);
$qry = mysqli_query($dbconn,"SELECT id
FROM adresse WHERE adresse.partner_id='".mysql_escape_string($_GET["id"])."' AND adresse.typ_id = 5
ORDER BY typ_id ASC")or $err=error("Mysql-Fehler:<br />".mysqli_error($dbconn));
if(mysqli_fetch_array($qry))
$smarty->assign("kommadressen",1);
$tmp=array();
$qry = mysqli_query($dbconn,"SELECT typ, id FROM rechtyp");
while($res=mysqli_fetch_assoc($qry))
{
$tmp[] = $res;
}
$smarty->assign("rechtypen",$tmp);
}
}
$_SESSION["camefrom"] ="kundenshow&id=".$_GET["id"];
$smarty->display("kundenshow.tpl");
?>
+8
View File
@@ -0,0 +1,8 @@
<?php
$smarty->assign("heading","Lieferanten");
$smarty->display("heading.tpl");
$smarty->assign("felder",array("all"=>"Name, Adresse, Kd.Nr.","kdnr"=>"Kundennummer","name"=>"Name und Firma","str"=>"Straße","plz"=>"PLZ","ort"=>"Ort","tel"=>"Tel","kont"=>"Kontakt"));
$smarty->display("liefer.tpl");
$_SESSION["camefrom"] ="liefer";
?>
+57
View File
@@ -0,0 +1,57 @@
<?php
require_once "incs/saveNchange.php";
if($_GET["del"] == 1)
{
$kundeid=mysql_escape_string($_GET["kundeid"]);
$qry=mysqli_query($dbconn,"SELECT partner.id, vname, nname, firma FROM partner JOIN adresse ON adresse.partner_id = partner.id WHERE partner_id = '$kundeid' AND adresse.typ_id = 1 AND partner.typ_id = 2") or $err=error("Fehler beim ermitteln der Kundendaten für die LOG:<br />".mysqli_error($dbconn));
$res=mysqli_fetch_array($qry);
$kundeid=$res[0];
$vname=$res[1];
$nname=$res[2];
$firma=$res[3];
if($kundeid)
{
$qry=mysqli_query($dbconn,"SELECT id, rechnr FROM rechnung WHERE partner_id = '$kundeid'") or $err=error("Fehler beim ermitteln verknüpfter Rechnungen:<br />".mysqli_error($dbconn));
while($res = mysqli_fetch_array($qry))
{
$qry2=mysqli_query($dbconn,"DELETE FROM artikel_rechn WHERE rech_id = '$res[0]'") or $err=error("Fehler beim löschen verknüpfter Artikel:<br />".mysqli_error($dbconn));
$qry2=mysqli_query($dbconn,"DELETE FROM artikelsks WHERE rechnr = '$res[1]'") or $err=error("Fehler beim löschen verknüpfter SKS Artikel:<br />".mysqli_error($dbconn));
}
$qry=mysqli_query($dbconn,"DELETE FROM rechnung WHERE partner_id = '$kundeid'") or $err=error("Fehler beim Löschen verknüpfter Rechnungen:<br />".mysqli_error($dbconn));
$qry=mysqli_query($dbconn,"DELETE FROM adresse WHERE partner_id = '$kundeid'") or $err=error("Fehler beim Löschen verknüpfter Adressen:<br />".mysqli_error($dbconn));
$qry=mysqli_query($dbconn,"DELETE FROM tel WHERE partner_id = '$kundeid'") or $err=error("Fehler beim Löschen verknüpfter Telefonnummern:<br />".mysqli_error($dbconn));
$qry=mysqli_query($dbconn,"DELETE FROM kontakt WHERE partner_id = '$kundeid'") or $err=error("Fehler beim Löschen verknüpfter Kontaktadressen:<br />".mysqli_error($dbconn));
$qry=mysqli_query($dbconn,"DELETE FROM notiz WHERE partner_id = '$kundeid'") or $err=error("Fehler beim Löschen verknüpfter Notizen:<br />".mysqli_error($dbconn));
$qry=mysqli_query($dbconn,"DELETE FROM konto WHERE partner_id = '$kundeid'") or $err=error("Fehler beim Löschen verknüpfter Konten:<br />".mysqli_error($dbconn));
$qry=mysqli_query($dbconn,"DELETE FROM partner WHERE id = '$kundeid'") or $err=error("Fehler beim löschen des Kunden:<br />".mysqli_error($dbconn));
}
else
{
$err = error("Ungültiger Lieferant!");
}
if(!$err)
{
$err = saveLog($dbconn,"DELETE FROM partner WHERE id = $kundeid [$vname $nname - $firma]",
"",
"löschen");
echo "sadlk";
if(!$err)
{
doneNreturn("Erfolgreich gelöscht!");
}
}
}
elseif($_GET["formsent"] == 1)
{
$ret = savePart($dbconn,2);
$_SESSION["camefrom"] = "liefershow&id=".$ret[1];
if(!$ret[0])
doneNreturn("Erfolgreich erledigt!");
}
else
{
dispPartForm($dbconn,$smarty,2);
}
?>
+191
View File
@@ -0,0 +1,191 @@
<?php
require_once "incs/saveNchange.php";
if($_GET["do"] == "adress")
{
if($_GET["del"] == 1)
{
$adressid=mysql_escape_string($_GET["adressid"]);
$qry=mysqli_query($dbconn,"SELECT vname, nname, firma, typ, partner.id FROM adresse
JOIN adresstyp ON adresstyp.id = adresse.typ_id
JOIN partner ON partner.id = adresse.partner_id
WHERE adresse.id = '$adressid' AND partner.typ_id = 2") or $err=error("Fehler beim abrufen der Informationen für die LOG:<br />".mysqli_error($dbconn));
$res=mysqli_fetch_array($qry);
$vname = $res[0];
$nname = $res[1];
$firma = $res[2];
$typ = $res[3];
$kdnr = $res[4];
if($kdnr)
{
$qry=mysqli_query($dbconn,"DELETE FROM adresse WHERE id = '$adressid'") or $err=error("Fehler beim löschen der Adresse:<br />".mysqli_error($dbconn));
if(!$err)
{
$err = saveLog($dbconn,"DELETE FROM adresse WHERE id = $adressid [$typ von Kunde $kdnr ($vname $nname - $firma)]","","löschen");
if(!$err)
doneNreturn("Erfolgreich gelöscht!");
}
}
else
{
$err = error("Ungültiger Lieferant!");
}
}
elseif($_GET["formsent"] == 1)
{
$err = saveAdress($dbconn);
if(!$err)
doneNreturn("Erfolgreich erledigt!");
}
else
{
dispAdressForm($dbconn,$smarty,2);
}
}
elseif($_GET["do"] == "tel")
{
if($_GET["del"] == 1)
{
$telid=mysql_escape_string($_GET["telid"]);
$qry=mysqli_query($dbconn,"SELECT typ, partner.id FROM tel
JOIN teltyp ON teltyp.id = tel.typ_id
JOIN partner ON partner.id = tel.partner_id
WHERE adresse.id = '$adressid' AND partner.typ_id = 2") or $err=error("Fehler beim abrufen der Informationen für die LOG:<br />".mysqli_error($dbconn));
$res=mysqli_fetch_array($qry);
$typ = $res[0];
$kdnr = $res[1];
if($kdnr)
{
$qry=mysqli_query($dbconn,"DELETE FROM tel WHERE id = '$telid'") or $err=error("Fehler beim löschen der Telefonnummer:<br />".mysqli_error($dbconn));
if(!$err)
{
$err = saveLog($dbconn,"DELETE FROM tel WHERE id = $telid [$typ von Kunde $kdnr]","","löschen");
if(!$err)
doneNreturn("Erfolgreich gelöscht!");
}
}
else
{
$err = error("Ungültiger Lieferant!");
}
}
elseif($_GET["formsent"] == 1)
{
$err = saveTel($dbconn);
if(!$err)
doneNreturn("Erfolgreich erledigt!");
}
else
{
dispTelForm($dbconn,$smarty,2);
}
}
elseif($_GET["do"] == "kontakt")
{
if($_GET["del"] == 1)
{
$kontaktid=mysql_escape_string($_GET["kontaktid"]);
$qry=mysqli_query($dbconn,"SELECT konatkttyp.typ, partner.id FROM kontakt
JOIN kontakttyp ON kontakttyp.id = kontakt.typ_id
JOIN partner ON partner.id = kontakt.partner_id WHERE kontakt.id = '$kontaktid' partner.typ_id = 2") or $err=error("Fehler beim abrufen der Informationen für die LOG:<br />".mysqli_error($dbconn));
$res=mysqli_fetch_array($qry);
$typ = $res[0];
$kdnr = $res[1];
if($kdnr)
{
$qry=mysqli_query($dbconn,"DELETE FROM kontakt WHERE id = '$kontaktid'") or $err=error("Fehler beim löschen der Kontaktinformation:<br />".mysqli_error($dbconn));
if(!$err)
{
$err = saveLog($dbconn,"DELETE FROM kontakt WHERE id = $kontaktid [$typ von Kunde $kdnr]","","löschen");
if(!$err)
doneNreturn("Erfolgreich gelöscht!");
}
}
else
{
$err = error("Ungültiger Lieferant!");
}
}
elseif($_GET["formsent"] == 1)
{
$err = saveKontakt($dbconn);
if(!$err)
doneNreturn("Erfolgreich erledigt!");
}
else
{
dispKontaktForm($dbconn,$smarty,2);
}
}
elseif($_GET["do"] == "notiz")
{
if($_GET["del"] == 1)
{
$notizid=mysql_escape_string($_GET["notizid"]);
$qry=mysqli_query($dbconn,"SELECT partner_id FROM notiz
JOIN partner ON partner.id = notiz.partner_id
WHERE notiz.id = '$notizid' AND partner.typ_id = 2") or $err=error("Fehler beim abrufen der Informationen für die LOG:<br />".mysqli_error($dbconn));
$res=mysqli_fetch_array($qry);
$kdnr = $res[0];
if($kdnr)
{
$qry=mysqli_query($dbconn,"DELETE FROM notiz WHERE id = '$notizid'") or $err=error("Fehler beim löschen der Notiz:<br />".mysqli_error($dbconn));
if(!$err)
{
$err = saveLog($dbconn,"DELETE FROM notiz WHERE id = $notizid [von Kunde $kdnr]","","löschen");
if(!$err)
doneNreturn("Erfolgreich gelöscht!");
}
}
else
{
$err = error("Ungültiger Lieferant!");
}
}
elseif($_GET["formsent"] == 1)
{
$err = saveNotiz($dbconn);
if(!$err)
doneNreturn("Erfolgreich erledigt!");
}
else
{
dispNotizForm($dbconn,$smarty,2);
}
}
elseif($_GET["do"] == "konto")
{
if($_GET["del"] == 1)
{
$kontoid = mysql_escape_string($_GET["kontoid"]);
$qry = mysqli_query($dbconn,"SELECT konto.partner_id FROM konto
JOIN partner ON partner.id = konto.partner_id
WHERE konto.id = '$kontoid' AND partner.typ_id = 2") or $err=error("Fehler beim abrufen der Informationen für die LOG:<br />".mysqli_error($dbconn));
$res = mysqli_fetch_array($qry);
$kdnr = $res[0];
if($kdnr)
{
$qry=mysqli_query($dbconn,"DELETE FROM konto WHERE id = '$kontoid'") or $err=error("Fehler beim löschen des Kontos:<br />".mysqli_error($dbconn));
if(!$err)
{
$err = saveLog($dbconn,"DELETE FROM konto WHERE id = $kontoid [von Kunde $kdnr]","","löschen");
if(!$err)
doneNreturn("Erfolgreich gelöscht!");
}
}
else
{
$err = error("Ungültiger Lieferant!");
}
}
elseif($_GET["formsent"] == 1)
{
$err = saveKonto($dbconn);
if(!$err)
doneNreturn("Erfolgreich erledigt!");
}
else
{
dispKontoForm($dbconn,$smarty,2);
}
}
?>
+120
View File
@@ -0,0 +1,120 @@
<?php
if($_GET["id"])
{
$qry = mysqli_query($dbconn,"SELECT * FROM partner WHERE id='".mysql_escape_string($_GET["id"])."' AND typ_id = 2")
or $err=error("Fehler beim auslesen des Zulieferers:<br />". mysqli_error($dbconn));
$kdnres=mysqli_fetch_assoc($qry);
$smarty->assign("kunde",$kdnres);
if($kdnres.id)
{
$qry = mysqli_query($dbconn,"SELECT id, datetime_new FROM partner WHERE updated_by='".$kdnres["id"]."'")
or $err=error("Fehler beim auslesen der neueren Versionen:<br />". mysqli_error($dbconn));
while($res=mysqli_fetch_assoc($qry))
{
$oldrecords[] = $res;
$qry = mysqli_query($dbconn,"SELECT id, datetime_new FROM partner WHERE updated_by='".$res["id"]."'")
or $err=error("Fehler beim auslesen der neueren Versionen:<br />". mysqli_error($dbconn));
}
$smarty->assign("oldrecords",$oldrecords);
$qry = mysqli_query($dbconn,"SELECT id, datetime_new FROM partner WHERE id='".$kdnres["updated_by"]."'")
or $err=error("Fehler beim auslesen der älteren Versionen:<br />". mysqli_error($dbconn));
while($res=mysqli_fetch_assoc($qry))
{
$newrecords[] = $res;
$qry = mysqli_query($dbconn,"SELECT id, datetime_new FROM partner WHERE id='".$res["updated_by"]."'")
or $err=error("Fehler beim auslesen der älteren Versionen:<br />". mysqli_error($dbconn));
}
$smarty->assign("newrecords",$newrecords);
$tmp = array();
$qry = mysqli_query($dbconn,"SELECT * FROM anrede")
or $err=error("Fehler beim auslesen der Anreden:<br />". mysqli_error($dbconn));
while($res=mysqli_fetch_assoc($qry))
{
$tmp[$res["id"]] = $res["anrede"];
}
$smarty->assign("anr",$tmp);
$tmp = array();
$qry = mysqli_query($dbconn,"SELECT * FROM titel")
or $err=error("Fehler beim auslesen der Titel:<br />". mysqli_error($dbconn));
while($res=mysqli_fetch_assoc($qry))
{
$tmp[$res["id"]] = $res["titel"];
}
$smarty->assign("titel",$tmp);
$tmp = array();
$qry = mysqli_query($dbconn,"SELECT name,typ,tel.id,nr,ort,ortsteil,plz,vwahl
FROM tel LEFT JOIN teltyp ON typ_id = teltyp.id LEFT JOIN ort ON ort_id = ort.id
WHERE partner_id='".mysql_escape_string($_GET["id"])."' ORDER BY typ_id ASC")
or $err=error("Fehler beim auslesen der Telefonnummern:<br />". mysqli_error($dbconn));
while($res=mysqli_fetch_assoc($qry))
{
$tmp[] = $res;
}
$smarty->assign("telnrn",$tmp);
$tmp = array();
$qry = mysqli_query($dbconn,"SELECT kontakt.id, kontakt, partner_id, typ
FROM kontakt LEFT JOIN kontakttyp ON kontakttyp.id = kontakt.typ_id
WHERE partner_id='".mysql_escape_string($_GET["id"])."' ORDER BY typ_id ASC")
or $err=error("Fehler beim auslesen der Kontakte:<br />". mysqli_error($dbconn));
while($res=mysqli_fetch_assoc($qry))
{
$tmp[] = $res;
}
$smarty->assign("contacts",$tmp);
$tmp = array();
$qry = mysqli_query($dbconn,"SELECT * FROM notiz WHERE partner_id='".mysql_escape_string($_GET["id"])."'")
or $err=error("Fehler beim auslesen der Notizen:<br />". mysqli_error($dbconn));
while($res=mysqli_fetch_assoc($qry))
{
$tmp[] = $res;
}
$smarty->assign("notes",$tmp);
$tmp = array();
$qry = mysqli_query($dbconn,"SELECT ktonr,iban,swift,blz,bank,partner_id,konto.id,inhaber
FROM konto JOIN bank ON konto.bank_id = bank.id WHERE partner_id='".mysql_escape_string($_GET["id"])."'")
or $err=error("Fehler beim auslesen der Konten:<br />". mysqli_error($dbconn));
while($res=mysqli_fetch_assoc($qry))
{
$tmp[] = $res;
}
$smarty->assign("kontos",$tmp);
$qry = mysqli_query($dbconn,"SELECT plz, ortsteil, ort, str, hnr, vname, nname, vname2, nname2, firma, adresse.id, land, anrede_id, titel_id, adresstyp.typ, adresse.typ_id
FROM adresse JOIN
adresstyp ON adresstyp.id = adresse.typ_id
LEFT JOIN strasse ON str_id = strasse.id
LEFT JOIN ort ON ort_id = ort.id
LEFT JOIN land ON land_id = land.id
WHERE partner_id='".mysql_escape_string($_GET["id"])."'
ORDER BY typ_id ASC") or $err=error("Fehler beim auslesen der Adressen:<br />". mysqli_error($dbconn));
while($res=mysqli_fetch_assoc($qry))
{
$adressen[] = $res;
}
$smarty->assign("adressen",$adressen);
$tmp=array();
$qry = mysqli_query($dbconn,"SELECT typ, id FROM rechtyp");
while($res=mysqli_fetch_assoc($qry))
{
$tmp[] = $res;
}
$smarty->assign("rechtypen",$tmp);
$_SESSION["camefrom"] ="liefershow&id=".$_GET["id"];
}
}
$smarty->display("liefershow.tpl");
?>
+7
View File
@@ -0,0 +1,7 @@
<?php
mysqli_query($dbconn,"UPDATE user SET logedout = 1 WHERE id='".$_SESSION["user"]."'") or $err=error("logout nicht gespeichert<br />".mysqli_error($dbconn));
session_unset();
$smarty->assign("heading","Auf Wiedersehn!");
$smarty->display("heading.tpl");
$smarty->display("logout.tpl");
?>
+504
View File
@@ -0,0 +1,504 @@
<?php
require('fpdf.php');
require_once('mysql.php');
$id=$_GET['id'];
class PDF extends FPDF
{
//Kopfzeile
function Header()
{
//Logo
$this->Image('./pics/logo1.png',0,0,210);
//Arial fett 15
$this->SetFont('Arial','B',15);
//nach rechts gehen
//Zeilenumbruch
$this->Ln(50);
}
//Fusszeile
function Footer()
{
//Logo
$this->Image('./pics/logo2.png',15,275,17);
//Position 1,5 cm von unten
$this->SetY(-17);
$this->setX(15);
$this->SetFont('Times','',8);
$this->SetTextColor(0,0,0);
if ($_GET['leer'] == 0) $this->Cell(180,5,'Seite '.$this->PageNo().' von {nb}',0,0,'R');
$this->SetY(-7);
$this->setX(15);
//Arial fett 6
$this->SetFont('Arial','B',6);
$this->SetTextColor(124,124,138);
//Seitenzahl
$this->Cell(0,7,utf8_decode('WAGNER MARKISEN GMBH · IM ENGELFELD 13 · TEL. 0 83 23 - 68 63 · FAX: 0 83 23 - 37 55 · GESCHÄFTSFÜHRER: K.H. WAGNER'),0,0,'L');
$this->Ln(2.3);
$this->setX(15);
$this->Cell(0,7,utf8_decode('BANKEN: VOBA IMMENSTADT BLZ 733 920 00 · NR. 0 414 204 · SPARKASSE ALLGÄU BLZ 733 500 00 · NR. 106 526 · RAIBA OBERALLGÄU-SÜD BLZ 733 699 20 · NR. 7 232 829'),0,0,'L');
}
}
$verbindung=mysql_connect($mysqlserver,$mysqluser,$mysqlpass) or die("konnte nicht verbinden...");;
mysql_select_db("angebot") or die("da is keine Db...");;
$timestamp=time();
$res=mysql_query("SELECT * FROM angebot WHERE id='$id' ;") or die("konnte nicht eingetragen werden: " . mysql_error());
$obj=Mysql_fetch_object($res);
//Instanciation of inherited class
$pdf=new PDF();
$pdf->SetTopMargin(50);
$pdf->SetAutoPageBreak(true,25);
$pdf->AliasNbPages();
$pdf->AddPage(P);
if ($_GET['leer']==0){
//ADRESSE!!!!
$pdf->SetFont('Arial','B',6);
$pdf->SetTextColor(124,124,138);
$pdf->setY(35);
$pdf->setX(25);
$pdf->Cell(0,3,utf8_decode('WAGNER MARKISEN GMBH · IM ENGELFELD 13 · 87509 IMMENSTADT'),0,0,'L');
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('Times','',12);
$pdf->setY(40);
$pdf->setX(25);
$pdf->Cell(0,5,utf8_decode($obj->anr),0,0,'L');
$pdf->Ln(5);
$pdf->setX(25);
if (str_replace ( " " ,"" ,$obj->vname) == "") $name=$obj->nname;
else $name=$obj->vname." ".$obj->nname;
$pdf->Cell(0,5,utf8_decode($name),0,0,'L');
if ($obj->zus!=""){
$pdf->Ln(5);
$pdf->setX(25);
$pdf->Cell(0,5,utf8_decode($obj->zus),0,0,'L');
}
$pdf->Ln(5);
$pdf->setX(25);
$pdf->Cell(0,5,utf8_decode($obj->str.' '.$obj->nr),0,0,'L');
$pdf->Ln(5);
$pdf->Ln(5);
$pdf->setX(25);
$pdf->Cell(0,5,utf8_decode($obj->plz.' '.$obj->ort),0,0,'L');
//DATUM
$pdf->sety(60);
$pdf->setX(170);
setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
$datum=strftime("%d.%m.%Y",strtotime($obj->timestampnew));
$pdf->Cell(0,5,utf8_decode($datum),0,0,'L');
//Betreff
$pdf->sety(80);
$pdf->setX(20);
if ($obj->type == 0) $pdf->MultiCell(0,5,utf8_decode($obj->betr),0,'L',0);
else $pdf->MultiCell(0,5,"Auftragsbesttigung",0,'L',0);
$pdf->SetTextColor(150,150,150);
$pdf->line(0,87,5,87);
$pdf->SetTextColor(0,0,0);
//Begrüßung
$pdf->SetFont('Times','B',12);
$pdf->sety(90);
$pdf->setX(20);
$pdf->Cell(0,5,utf8_decode($obj->begr),0,0,'L');
$currY=100;
if ($obj->begr2 != "") {
$pdf->sety(95);
$pdf->setX(30);
$pdf->Cell(0,5,utf8_decode($obj->begr2),0,0,'L');
$currY=105;
}
//Vielen Dank
$pdf->SetFont('Times','',12);
$pdf->sety($currY);
$pdf->setX(20);
if ($obj->type == 0) $pdf->Cell(0,5,utf8_decode("Vielen Dank für Ihre Anfrage."),0,0,'L');
else $pdf->Cell(0,5,"Hiermit besttigen wir folgenden Auftrag:",0,0,'L');
//Gerne bieten wir Ihnen an:
$pdf->SetFont('Times','',12);
$pdf->sety($currY+10);
$pdf->setX(20);
if ($obj->type == 0) $pdf->Cell(0,5,utf8_decode("Gerne unterbreiten wir Ihnen folgendes Angebot:"),0,0,'L');
//txt1
if (rtrim($obj->txt1)!="" ){
$pdf->SetFont('Times','',12);
$pdf->sety($currY+15);
$pdf->setX(20);
$pdf->MultiCell(0,5,utf8_decode($obj->txt1),0,'L',0);
}
// calcheight
$newpdf=new PDF();
$newpdf->SetAutoPageBreak(true,40);
$newpdf->AddPage(P);
$calculatedHeight = 0;
$newpdf->setY(0);
$pdf->setX(20);
$abfrage = "select * from artikel where angebot_id = '$id' ";
$res = mysql_query($abfrage) or die("Anfrage fehlgeschlagen: " . mysql_error());
$newpdf->SetFont('Times','',12);
$newpdf->setY(7);
$objart=Mysql_fetch_object($res);
$newpdf->Cell(100,5,utf8_decode($objart->name),0,0,'L');
$newpdf->setY(12);
$newpdf->MultiCell(0, 5, utf8_decode(rtrim($objart->beschr)), 0, "L", 0);
$artheight = $newpdf->getY();
unset($newpdf);
if ($currY+$artheight > 245 and $artheight < 119){
$pdf->AddPage(P);
$currY=110;
}
//TABELLE
$currY=$pdf->GetY();
if ($currY > 210 or $obj->newpageitem == 0){
$pdf->AddPage(P);
$currY=70;
}
//Table-HEAD
$pdf->SetFont('Times','B',12);
$pdf->sety($currY+5);
$pdf->setX(20);
$pdf->Cell(100,5,utf8_decode('Bezeichnung'),0,0,'L');
$pdf->setX(120);
$pdf->Cell(15,5,utf8_decode('Menge'),0,0,'C');
$pdf->setX(135);
$pdf->Cell(30,5,utf8_decode('Einzelpreis'),0,0,'R');
$pdf->setX(165);
$pdf->Cell(30,5,utf8_decode('Gesamtpreis'),0,0,'R');
$pdf->Line(18 , $currY+10, 200, $currY+10);
$currY=$currY+2;
$abfrage = "select * from artikel where angebot_id = '$id' ";
$res = mysql_query($abfrage) or die("Anfrage fehlgeschlagen: " . mysql_error());
$numarts = mysql_num_rows($res);
$toreplace=array(".",",");
$replace=array("",".");
$pdf->SetFont('Times','',12);
$currY=$currY+7;
$pdf->setY($currY);
for($i=1;$i<=$numarts;$i++){
$objart=Mysql_fetch_object($res);
// calcheight
$newpdf=new PDF();
$newpdf->SetAutoPageBreak(true,40);
$newpdf->AddPage(P);
$calculatedHeight = 0;
$newpdf->setY(0);
$newpdf->setX(20);
if ($objart->typ==0){
$newcurrY=3;
$newpdf->setY($newcurrY);
$newpdf->SetFont('Times','',12);
$newpdf->setX(20);
$newpdf->Cell(100,5,utf8_decode($objart->name),0,0,'L');
$newpdf->setX(120);
$newpdf->Cell(15,5,utf8_decode(number_format($anzahl,2,",","")),0,0,'C');
$newpdf->setX(135);
$newpdf->Cell(30,5,utf8_decode(number_format($einzelpreis,2,",",".")." ".$obj->wahrung),0,0,'R');
$newpdf->setX(165);
$newpdf->Cell(30,5,utf8_decode(number_format($gesamtpreis,2,",",".")." ".$obj->wahrung),0,0,'R');
$newpdf->setY($newcurrY+2);
$newpdf->SetFont('Times','',10);
$newpdf->MultiCell(100, 3, utf8_decode(rtrim($objart->beschr)), 0, "L", 0);
}
elseif ($objart->typ==1){
$newpdf->SetFont('Times','I',10);
$newpdf->setX(25);
$newpdf->Cell(95,5,utf8_decode('(optional: '.$objart->name.')'),0,0,'L');
$newpdf->setX(120);
$newpdf->Cell(15,5,utf8_decode(number_format($anzahl,2,",","")),0,0,'C');
$newpdf->setX(135);
$newpdf->Cell(30,5,utf8_decode(number_format($einzelpreis,2,",",".")." ".$obj->wahrung),0,0,'R');
$newpdf->setX(165);
$newpdf->Cell(30,5,utf8_decode(number_format($gesamtpreis,2,",",".")." ".$obj->wahrung),0,0,'R');
$newpdf->setY($newcurrY+2);
$newpdf->SetFont('Times','',10);
$newpdf->MultiCell(80, 3, utf8_decode(rtrim($objart->beschr)), 0, "L", 0);
}
elseif ($objart->typ==2){
$newpdf->SetFont('Times','I',10);
$newpdf->setX(25);
$newpdf->Cell(95,5,utf8_decode('(alternativ: '.$objart->name.')'),0,0,'L');
$newpdf->setX(120);
$newpdf->Cell(15,5,utf8_decode(number_format($anzahl,2,",","")),0,0,'C');
$newpdf->setX(135);
$newpdf->Cell(30,5,utf8_decode(number_format($einzelpreis,2,",",".")." ".$obj->wahrung),0,0,'R');
$newpdf->setX(165);
$newpdf->Cell(30,5,utf8_decode(number_format($gesamtpreis,2,",",".")." ".$obj->wahrung),0,0,'R');
$newpdf->setY($newcurrY+2);
$newpdf->SetFont('Times','',10);
$newpdf->MultiCell(80, 3, utf8_decode(rtrim($objart->beschr)), 0, "L", 0);
}
$artheight = $newpdf->getY();
unset($newpdf);
if ($currY+$artheight > 255 and $artheight < 219){
$pdf->SetFont('Times','B',12);
$pdf->Line(18 , $currY+5, 200, $currY+5);
$pdf->setY($currY+7);
$pdf->setX(130);
$pdf->Cell(30,5,utf8_decode('Übertrag:'),0,0,'R');
$pdf->setX(165);
$pdf->Cell(30,5,utf8_decode(number_format($gesgesamtpreis,2,",",".")." ".$obj->wahrung),0,0,'R');
$pdf->AddPage(P);
$currY=70;
//Table-re-HEAD
$pdf->sety($currY);
$pdf->setX(20);
$pdf->Cell(95,5,utf8_decode('Bezeichnung'),0,0,'L');
$pdf->setX(115);
$pdf->Cell(10,5,utf8_decode('Menge'),0,0,'C');
$pdf->setX(135);
$pdf->Cell(30,5,utf8_decode('Einzelpreis'),0,0,'R');
$pdf->setX(165);
$pdf->Cell(30,5,utf8_decode('Gesamtpreis'),0,0,'R');
$pdf->Line(18 , $currY+5, 200, $currY+5);
$currY=$currY+7;
$pdf->setY($currY);
$pdf->SetFont('Times','',12);
}
if ($obj->mwstart==0) {
$divi='1.'.$obj->mwst;
$einzelpreis=round(str_replace ( $toreplace , $replace ,$objart->einzelpreis)/$divi,2);
$anzahl=str_replace ( $toreplace , $replace ,$objart->anzahl);
$gesamtpreis=round($einzelpreis*$anzahl,2);
if ($objart->typ==0){
$gesgesamtpreis=$gesgesamtpreis+$gesamtpreis;
}
}
else {
$einzelpreis=round(str_replace ( $toreplace , $replace ,$objart->einzelpreis),2);
$anzahl=str_replace ( $toreplace , $replace ,$objart->anzahl);
$gesamtpreis=round($einzelpreis*$anzahl,2);
if ($objart->typ==0){
$gesgesamtpreis=$gesgesamtpreis+$gesamtpreis;
}
}
if ($objart->typ==0){
$currY=$currY+3;
$pdf->setY($currY);
$pdf->SetFont('Times','B',12);
$pdf->setX(20);
$pdf->Cell(100,5,utf8_decode($objart->name),0,0,'L');
$pdf->setX(120);
$pdf->SetFont('Times','',12);
$pdf->Cell(15,5,utf8_decode(number_format($anzahl,2,",","")),0,0,'C');
$pdf->setX(135);
$pdf->Cell(30,5,utf8_decode(number_format($einzelpreis,2,",",".")." ".$obj->wahrung),0,0,'R');
$pdf->setX(165);
$pdf->Cell(30,5,utf8_decode(number_format($gesamtpreis,2,",",".")." ".$obj->wahrung),0,0,'R');
$currY=$currY+6;
$pdf->setY($currY);
$pdf->setX(20);
$pdf->SetFont('Times','',10);
if (rtrim($objart->beschr)) {
$pdf->MultiCell(100, 3, utf8_decode(rtrim($objart->beschr)), 0, "L", 0);
$currY=$pdf->getY();
$currY=$currY+2;
}
else $crrY=$currY-2;
$pdf->setY($currY);
}
elseif ($objart->typ==1){
$pdf->SetFont('Times','BI',10);
$pdf->setX(25);
$pdf->Cell(95,5,utf8_decode('Wahlweise: '.$objart->name),0,0,'L');
$pdf->setX(120);
$pdf->SetFont('Times','I',10);
$pdf->Cell(15,5,utf8_decode(number_format($anzahl,2,",","")),0,0,'C');
$pdf->setX(135);
$pdf->Cell(30,5,utf8_decode(number_format($einzelpreis,2,",",".")." ".$obj->wahrung),0,0,'R');
$pdf->setX(165);
$pdf->Cell(30,5,utf8_decode(number_format($gesamtpreis,2,",",".")." ".$obj->wahrung),0,0,'R');
$currY=$currY+5;
$pdf->setY($currY);
$pdf->setX(25);
$pdf->SetFont('Times','I',10);
if (rtrim($objart->beschr)) {
$pdf->MultiCell(80, 3, utf8_decode(rtrim($objart->beschr)), 0, "L", 0);
$currY=$pdf->getY();
$currY=$currY+2;
}
$pdf->setY($currY);
}
elseif ($objart->typ==2){
$pdf->SetFont('Times','BI',10);
$pdf->setX(25);
$pdf->Cell(95,5,utf8_decode('Alternativ: '.$objart->name),0,0,'L');
$pdf->setX(120);
$pdf->SetFont('Times','I',10);
$pdf->Cell(15,5,utf8_decode(number_format($anzahl,2,",","")),0,0,'C');
$pdf->setX(135);
$pdf->Cell(30,5,utf8_decode(number_format($einzelpreis,2,",",".")." ".$obj->wahrung),0,0,'R');
$pdf->setX(165);
$pdf->Cell(30,5,utf8_decode(number_format($gesamtpreis,2,",",".")." ".$obj->wahrung),0,0,'R');
$currY=$currY+5;
$pdf->setY($currY);
$pdf->setX(25);
$pdf->SetFont('Times','I',10);
if (rtrim($objart->beschr)) {
$pdf->MultiCell(80, 3, utf8_decode(rtrim($objart->beschr)), 0, "L", 0);
$currY=$pdf->getY();
$currY=$currY+2;
}
$pdf->setY($currY);
}
if ($currY > 240 or $i == $obj->newpageitem) {
$pdf->SetFont('Times','B',12);
$pdf->Line(18 , $currY+5, 200, $currY+5);
$pdf->setY($currY+7);
$pdf->setX(130);
$pdf->Cell(30,5,utf8_decode('Übertrag:'),0,0,'R');
$pdf->setX(165);
$pdf->Cell(30,5,utf8_decode(number_format($gesgesamtpreis,2,",",".")." ".$obj->wahrung),0,0,'R');
$pdf->AddPage(P);
$currY=70;
//Table-re-HEAD
$pdf->sety($currY);
$pdf->setX(20);
$pdf->Cell(95,5,utf8_decode('Bezeichnung'),0,0,'L');
$pdf->setX(115);
$pdf->Cell(10,5,utf8_decode('Menge'),0,0,'C');
$pdf->setX(135);
$pdf->Cell(30,5,utf8_decode('Einzelpreis'),0,0,'R');
$pdf->setX(165);
$pdf->Cell(30,5,utf8_decode('Gesamtpreis'),0,0,'R');
$pdf->Line(18 , $currY+5, 200, $currY+5);
$currY=$currY+7;
$pdf->setY($currY);
$pdf->SetFont('Times','',12);
}
}
//Endbetrag
$pdf->SetFont('Times','B',12);
$pdf->Line(18 , $currY+2, 200, $currY+2);
$pdf->setY($currY+2);
$pdf->setX(130);
$pdf->Cell(30,5,utf8_decode('Gesamtbetrag Netto:'),0,0,'R');
$pdf->setX(165);
$pdf->Cell(30,5,utf8_decode(number_format($gesgesamtpreis,2,",",".")." ".$obj->wahrung),0,0,'R');
//RABATT
if ($obj->rab =="" or $obj->rab == "0") {
$currY=$currY+7;
}
else {
$currY=$currY+7;
$pdf->setY($currY);
$pdf->setX(130);
$pdf->Cell(30,5,utf8_decode($obj->rabtxt." (".$obj->rab."%):"),0,0,'R');
$pdf->setX(165);
$multi=$obj->rab/100;
$pdf->Cell(30,5,utf8_decode("-".number_format(round($gesgesamtpreis*$multi,2),2,",",".")." ".$obj->wahrung),0,0,'R');
$gesgesamtpreis=$gesgesamtpreis-round($gesgesamtpreis*$multi,2);
$currY=$currY+5;
}
//Mwst ausweisen
$pdf->setY($currY);
$pdf->setX(130);
$pdf->Cell(30,5,utf8_decode('Zuzüglich '.$obj->mwst.'% Mwst.:'),0,0,'R');
$pdf->setX(165);
$multi='0.'.$obj->mwst;
$pdf->Cell(30,5,utf8_decode(number_format(round($gesgesamtpreis*$multi,2),2,",",".")." ".$obj->wahrung),0,0,'R');
$gesgesamtpreis=$gesgesamtpreis+round($gesgesamtpreis*$multi,2);
//komplettpreis ausgeben
$pdf->setY($currY+5);
$pdf->setX(130);
$pdf->Cell(30,5,utf8_decode('Gesamtbetrag Brutto:'),0,0,'R');
$pdf->setX(165);
$pdf->Cell(30,5,utf8_decode(number_format($gesgesamtpreis,2,",",".")." ".$obj->wahrung),0,0,'R');
$currY=$currY+15;
$pdf->setY($currY);
$pdf->SetFont('Times','',12);
$pdf->setX(20);
$currY=$currY;
if ($currY > 270) {
$pdf->AddPage(P);
$currY=60;
}
if ($currY <= 270) {
//txt2 hhe berechnen!!
// calcheight
$newpdf=new PDF();
$newpdf->SetAutoPageBreak(true,40);
$newpdf->AddPage(P);
$calculatedHeight = 0;
$newpdf->setY(0);
$newpdf->setX(20);
$newpdf->SetFont('Times','',12);
$newpdf->MultiCell(0, 5, utf8_decode(rtrim($obj->txt2)), 0, "L", 0);
$newpdf->setX(20);
$newpdf->Cell(0,5,utf8_decode($obj->mfg),0,0,'L',0);
//unterschrift
$res=mysql_query("SELECT userpic, name FROM user WHERE id='$obj->userid' LIMIT 1 ;") or die("konnte nicht eingetragen werden: " . mysql_error());
$objuser=Mysql_fetch_object($res);
$newpdf->Image($objuser->userpic,25,$currY+10,0,10);
$newpdf->sety($pdf->getY()+15);
$newpdf->setX(20);
$newpdf->Cell(0,5,utf8_decode($obj->wm),0,0,'L',0);
$newpdf->sety($pdf->getY()+5);
$newpdf->setX(20);
$newpdf->Cell(0,5,utf8_decode($objuser->name),0,0,'L',0);
$txt2height = $newpdf->getY();
unset($newpdf);
if ($currY+$txt2height > 420 and $txt2height < 239){
$pdf->AddPage(P);
$currY=70;
}
}
$pdf->setY($currY);
if (rtrim($obj->txt2) != ""){
$pdf->SetFont('Times','',12);
$pdf->setX(20);
$pdf->MultiCell(0,5,utf8_decode(rtrim($obj->txt2)),0,'L',0);
//ENDE!!
$currY=$pdf->getY();
$pdf->setY($currY+5);
}
$pdf->setX(20);
$pdf->Cell(0,5,utf8_decode($obj->mfg),0,0,'L',0);
//unterschrift
$res=mysql_query("SELECT userpic, name FROM user WHERE id='$obj->userid' LIMIT 1 ;") or die("konnte nicht eingetragen werden: " . mysql_error());
$objuser=Mysql_fetch_object($res);
$pdf->Image($objuser->userpic,25,$currY+10,0,10);
$pdf->sety($pdf->getY()+23);
$pdf->setX(20);
$pdf->Cell(0,5,utf8_decode($obj->wm),0,0,'L',0);
$pdf->sety($pdf->getY()+5);
$pdf->setX(20);
$pdf->Cell(0,5,utf8_decode($objuser->name),0,0,'L',0);
}
$pdf->Output();
?>
+15
View File
@@ -0,0 +1,15 @@
<?php
$smarty->assign("heading","Nachrichten");
$smarty->display("heading.tpl");
$qry = mysqli_query($dbconn,"SELECT vname, nname, nick, id FROM user WHERE id > 0 AND id != ".mysql_escape_string($_SESSION["user"])) or $err = error("Fehler beim ermitteln der Benutzer<br />".mysqli_error($dbconn));
while ($res = mysqli_fetch_assoc($qry))
{
$users[] = $res;
}
$smarty->assign("users", $users);
$smarty->display("messages.tpl");
?>
+4
View File
@@ -0,0 +1,4 @@
<?php
$smarty->assign("heading","Neues Dokument");
$smarty->display("heading.tpl");
?>
+3
View File
@@ -0,0 +1,3 @@
<?php
$smarty->display("norights.tpl");
?>
+3
View File
@@ -0,0 +1,3 @@
<?php
$smarty->display("nothere.tpl");
?>
+48
View File
@@ -0,0 +1,48 @@
<?php
require_once("incs/project.php");
require_once("./incs/PHPMailer_v5.1/class.phpmailer.php");
if($_GET["formsent"] == 1)
{
if($_GET["id"] > 0)
$err=saveProject($dbconn,$_GET["id"]);
else
$err=saveProject($dbconn,0);
if(!$err)
doneNreturn("Erfolgreich gespeichert");
}
else
{
if($_GET["id"])
{
if($_GET["del"] == 1)
{
$err = delProject($dbconn,$_GET["id"]);
if(!$err)
doneNreturn("Erfolgreich gelöscht");
}
else
{
$smarty->assign("loadproject",$_GET["id"]);
$project=makeprojectarray($dbconn, $_GET["id"]);
$smarty->assign("project",$project);
$work=makeworkarray($dbconn, $_GET["id"]);
$smarty->assign("work",$work);
}
}
else
{
$project["partner_id"] = $_GET["kundeid"];
$smarty->assign("project",$project);
}
$smarty->assign("date",date("d.m.y"));
if(checkpartner($dbconn,$project["partner_id"]))
$smarty->display("addproject.tpl");
else
{
error("Dieser Kunde existiert nicht!");
}
}
?>
+93
View File
@@ -0,0 +1,93 @@
<?php
if($_GET["kundeid"])
{
$qry = mysqli_query($dbconn,"SELECT * FROM partner WHERE id='".mysql_escape_string($_GET["kundeid"])."' AND typ_id = 1");
$kdnres=mysqli_fetch_assoc($qry);
$smarty->assign("kunde",$kdnres);
if($kdnres.id)
{
$qry = mysqli_query($dbconn,"SELECT id, datetime_new FROM partner WHERE updated_by='".$kdnres["id"]."'");
while($res=mysqli_fetch_assoc($qry))
{
$oldrecords[] = $res;
$qry = mysqli_query($dbconn,"SELECT id, datetime_new FROM partner WHERE updated_by='".$res["id"]."'");
}
$smarty->assign("oldrecords",$oldrecords);
$qry = mysqli_query($dbconn,"SELECT id, datetime_new FROM partner WHERE id='".$kdnres["updated_by"]."'");
while($res=mysqli_fetch_assoc($qry))
{
$newrecords[] = $res;
$qry = mysqli_query($dbconn,"SELECT id, datetime_new FROM partner WHERE id='".$res["updated_by"]."'");
}
$smarty->assign("newrecords",$newrecords);
$tmp = array();
$qry = mysqli_query($dbconn,"SELECT * FROM anrede");
while($res=mysqli_fetch_assoc($qry))
{
$tmp[$res["id"]] = $res["anrede"];
}
$smarty->assign("anr",$tmp);
$tmp = array();
$qry = mysqli_query($dbconn,"SELECT * FROM titel");
while($res=mysqli_fetch_assoc($qry))
{
$tmp[$res["id"]] = $res["titel"];
}
$smarty->assign("titel",$tmp);
$qry = mysqli_query($dbconn,"SELECT name,typ,tel.id,nr,ort,ortsteil,plz,vwahl, ort.id AS ort_id FROM tel LEFT JOIN teltyp ON typ_id = teltyp.id LEFT JOIN ort ON ort_id = ort.id WHERE partner_id='".mysql_escape_string($_GET["kundeid"])."' AND tel.adresse_id = 0 ORDER BY typ_id ASC");
while($res=mysqli_fetch_assoc($qry))
{
$tels[] = $res;
}
$smarty->assign("telnrn",$tels);
$qry = mysqli_query($dbconn,"SELECT kontakt.id, kontakt, partner_id, typ FROM kontakt LEFT JOIN kontakttyp ON kontakttyp.id = kontakt.typ_id WHERE partner_id='".mysql_escape_string($_GET["kundeid"])."' ORDER BY typ_id ASC");
while($res=mysqli_fetch_assoc($qry))
{
$contacts[] = $res;
}
$smarty->assign("contacts",$contacts);
$qry = mysqli_query($dbconn,"SELECT * FROM notiz WHERE partner_id='".mysql_escape_string($_GET["kundeid"])."'");
while($res=mysqli_fetch_assoc($qry))
{
$res["file"] = search_file("./".UPLOADS_PATH."notes/","!^".$res["kundeid"]."\.(.)+$!");
$notes[] = $res;
}
$qry = mysqli_query($dbconn,"SELECT COUNT(rechnr) AS nr_mahn, NOW() AS datetime FROM rechnung WHERE typ_id = 6 AND partner_id = '".mysql_escape_string($_GET["kundeid"])."'") or $err=error("Fehler beim Auslesen der Daten:<br />".mysqli_error($dbconn));
$res=mysqli_fetch_assoc($qry);
if($res["nr_mahn"] > 0)
{
$mahn["notiz"] = "ACHTUNG! Es sind bereits ".$res["nr_mahn"]." Mahnungen für diesen Kunden vorhanden!!";
$mahn["color"] = "#f76";
$mahn["datetime"] = $res["datetime"];
$notes[] = $mahn;
}
$smarty->assign("notes",$notes);
$qry = mysqli_query($dbconn,"SELECT plz, ortsteil, tel.nr, ort.vwahl, ort, str, DATE_FORMAT(gebdat,'%d.%m.%Y') AS gebdat, DATE_FORMAT(gebdat2,'%d.%m.%Y') AS gebdat2, hnr, vname, nname, vname2, nname2, firma, adresse.id, land, anrede_id, titel_id, anrede2_id, titel2_id, adresstyp.typ, adresse.typ_id
FROM adresse JOIN
adresstyp ON adresstyp.id = adresse.typ_id
LEFT JOIN strasse ON str_id = strasse.id
LEFT JOIN ort ON ort_id = ort.id
LEFT JOIN land ON land_id = land.id
LEFT JOIN tel ON tel.adresse_id = adresse.id
WHERE adresse.partner_id='".mysql_escape_string($_GET["kundeid"])."' AND adresse.typ_id = 1
ORDER BY typ_id ASC")or $err=error("Mysql-Fehler:<br />".mysqli_error($dbconn));
while($res=mysqli_fetch_assoc($qry))
{
$adressen = $res;
}
$smarty->assign("adressen",$adressen);
}
}
$_SESSION["camefrom"] ="projectlist&kundeid=".$_GET["kundeid"];
$smarty->display("projectlist.tpl");
?>
+23
View File
@@ -0,0 +1,23 @@
<?php
// GET: id OR date;type
include("incs/makepdf.php");
include("incs/project.php");
$pdf = makerawPDF(0);
if($_GET["id"])
{
$project=makeprojectarray($dbconn,$_GET["id"]);
$work=makeworkarray($dbconn,$_GET["id"]);
$adresse=makeadradresse($dbconn, $project["partner_id"]);
$telnrn=makeadrtelnrn($dbconn, $project["partner_id"]);
makeprojectpage($pdf,$adresse,$telnrn,$project,$work);
}
$tmppdfname = str_replace(array(" ","."),array("_","_"),microtime());
savePDF($pdf,"./temp/pdftemp/$tmppdfname.pdf");
$smarty->assign("pdffile","./temp/pdftemp/$tmppdfname.pdf");
$smarty->display("projectshow.tpl");
?>
+327
View File
@@ -0,0 +1,327 @@
<?php
require_once("incs/rechnung.php");
require_once("incs/makepdf.php");
if($_GET["formsent"] == 1)
{
if($_GET["id"] > 0)
$err=saveRechnung($dbconn,$_GET["id"]);
else
$err=saveRechnung($dbconn,0);
if(!$err)
doneNreturn("Erfolgreich gespeichert");
}
elseif($_GET["changeadr"] == 1 && $_GET["id"])
{
if(!$_GET["adrid"])
{
$smarty->assign("felder",array("all"=>"Name, Adresse, Kd.Nr.","kdnr"=>"Kundennummer","name"=>"Name und Firma","str"=>"Straße","plz"=>"PLZ","ort"=>"Ort","tel"=>"Tel","kont"=>"Kontakt"));
$smarty->assign("rechid",$_GET["id"]);
$smarty->display("changeadr.tpl");
}
else
{
$err=changeRechAdr($dbconn,$_GET["id"],$_GET["adrid"]);
if(!$err)
doneNreturn("Erfolgreich geändert");
}
}
elseif($_GET["copy"] == 1 && $_GET["id"])
{
if(!$_GET["adrid"])
{
$smarty->assign("felder",array("all"=>"Name, Adresse, Kd.Nr.","kdnr"=>"Kundennummer","name"=>"Name und Firma","str"=>"Straße","plz"=>"PLZ","ort"=>"Ort","tel"=>"Tel","kont"=>"Kontakt"));
$smarty->assign("rechid",$_GET["id"]);
$smarty->display("copyrech.tpl");
}
else
{
$err=copyRech($dbconn,$_GET["id"],$_GET["adrid"]);
if(!$err)
doneNreturn("Erfolgreich geändert");
}
}
elseif($_GET["storno"] == "YES" && $_GET["id"]){
$querystr = "UPDATE rechnung SET
storno = 1, stornodate = NOW() WHERE id = '".$_GET["id"]."'";
mysqli_query($dbconn,$querystr) or $err=error("Fehler beim aktualisieren der Rechnung<br />".mysqli_error($dbconn));
doneNreturn("Erfolgreich geändert");
}
elseif($_GET["storno"] == "NO" && $_GET["id"]){
$querystr = "UPDATE rechnung SET
storno = 0 WHERE id = '".$_GET["id"]."'";
mysqli_query($dbconn,$querystr) or $err=error("Fehler beim aktualisieren der Rechnung<br />".mysqli_error($dbconn));
doneNreturn("Erfolgreich geändert");
}
elseif($_GET["mail"] == 1 && $_GET["id"])
{
$kdnres=makeadressarray($dbconn, $_GET["adressid"]);
$typnames=array();
$qry=mysqli_query($dbconn, "SELECT id,anrede FROM anrede");
while($res=mysqli_fetch_assoc($qry))
{
$typnames[$res["id"]] = $res["anrede"];
}
$smarty->assign("anrs",$typnames);
$typnames=array();
$qry=mysqli_query($dbconn, "SELECT id,titel FROM titel");
while($res=mysqli_fetch_assoc($qry))
{
$typnames[$res["id"]] = $res["titel"];
}
$smarty->assign("titels",$typnames);
$mails=array();
$mailids=array();
$qry = mysqli_query($dbconn,"SELECT kontakt.id, kontakt, partner_id, typ FROM kontakt LEFT JOIN kontakttyp ON kontakttyp.id = kontakt.typ_id WHERE partner_id='".mysql_escape_string($kdnres["partner_id"])."' AND typ_id = 1");
while($res=mysqli_fetch_assoc($qry))
{
$mails[] = $res["kontakt"];
$mailids[] = $res["id"];
}
$smarty->assign("mails",$mails);
$smarty->assign("mailids",$mailids);
$typids=array();
$typnames=array();
$qry=mysqli_query($dbconn, "SELECT id,bezeichn FROM artikeltyp");
while($res=mysqli_fetch_assoc($qry))
{
$typids[] = $res["id"];
$typnames[] = $res["bezeichn"];
}
$smarty->assign("typids",$typids);
$smarty->assign("typs",$typnames);
$rechnung=makerechnungsarray($dbconn, $_GET["id"], 0);
$smarty->assign("rechnung",$rechnung);
$smarty->assign("adresse",$kdnres);
$adresse = makeadressblock($dbconn,$_GET["id"],0);
if($rechnung["sks"])
{
$artikel = makesksartikelarray($dbconn,$rechnung["rechnr"]);
}
else
$artikel = makeartikelarray($dbconn,$_GET["id"],0);
$pdf = makerawPDF(0);
makefirstpage($pdf,$adresse["adresse"],$rechnung,0);
if(count($artikel))
{
$gesamtpreis = maketable($pdf,$artikel,$rechnung,0);
}
makeEndPage($pdf,$rechnung,$gesamtpreis,0);
$tmppdfname = str_replace(array(" ","."),array("_","_"),microtime());
savePDF($pdf,"./temp/pdftemp/$tmppdfname.pdf");
if($_GET["mailformsent"])
{
$tomail = $_POST["tomail"];
if(!filter_var($tomail, FILTER_VALIDATE_EMAIL))
$err=error("Die angegebene E-Mail adresse kann nicht existieren, bitte korrigieren Sie diese zuerst in den Kontaktdaten des Kunden.");
else
{
$sub=$_POST["sub"];
if($_POST["anr1"])
$msg .= $_POST["anr1"]."\n";
if($_POST["anr2"])
$msg .= $_POST["anr1"]."\n";
$msg .= "\n".$_POST["intro"];
if($_SESSION["firma"] == "Wagner Markisen")
{
$frommail = "info@wagner-markisen.de";
$fromname = "Firma Wagner Markisen GmbH";
}
else if($_SESSION["firma"] == "Ingenieurbüro Wagner")
{
$frommail = "info@el-wa.org";
$fromname = "Ingenieurbüro Wagner";
}
else
{
$frommail = "finanzen.lsg@agathazell.info";
$fromname = "Philipp Wagner, Kassier LSG";
}
$err=mail_attachment("$tmppdfname.pdf", "./temp/pdftemp/",$tomail, $frommail, $fromname, $frommail, $sub, $msg);
mail_attachment("$tmppdfname.pdf", "./temp/pdftemp/","info@wagner-markisen.de", $frommail, $fromname, $frommail, $sub."(Kopie, Original gesendet an: ".$tomail.")", $msg);
}
if(!$err)
doneNreturn("Erfolgreich gesendet");
else
$err=error("Mail konnte nicht versendet werden...");
}
$smarty->assign("pdffile","./temp/pdftemp/$tmppdfname.pdf");
$smarty->display("mailrechnung.tpl");
}
else
{
if($_GET["id"])
{
if($_GET["del"] == 1)
{
$err = delRechnung($dbconn,$_GET["id"]);
if(!$err)
doneNreturn("Erfolgreich gelöscht");
}
else
{
$smarty->assign("loadrech",$_GET["id"]);
$rechnung=makerechnungsarray($dbconn, $_GET["id"], 0);
$kommission=makeadressarray($dbconn, $rechnung["kommission"]);
$smarty->assign("rechnung",$rechnung);
$smarty->assign("kommission",$kommission);
$smarty->assign("artikel",makeartikelarray($dbconn, $_GET["id"], 0));
}
}
else if($_GET["draft"])
{
$smarty->assign("loaddraft",$_GET["draft"]);
$smarty->assign("rechnung",makerechnungsarray($dbconn, $_GET["draft"], 1));
$smarty->assign("artikel",makeartikelarray($dbconn, $_GET["draft"], 1));
}
$smarty->assign("type",$_GET["type"]);
$smarty->assign("newtype",$_GET["newtype"]);
$kdnres=makeadressarray($dbconn, $_GET["adressid"]);
if($kdnres["adresstyp"] == "Kommission")
{
$smarty->assign("kommission",$kdnres);
$qry = mysqli_query($dbconn,"SELECT plz, ortsteil, ort, str, adresstyp.typ AS adresstyp, hnr, vname, partner_id, nname, vname2, nname2, firma, adresse.id, land, anrede_id, titel_id, anrede2_id, titel2_id
FROM adresse
LEFT JOIN strasse ON str_id = strasse.id
LEFT JOIN ort ON ort_id = ort.id
LEFT JOIN land ON land_id = land.id
JOIN adresstyp ON adresse.typ_id = adresstyp.id
WHERE adresse.typ_id='1' AND adresse.partner_id = '".$kdnres["partner_id"]."'
ORDER BY typ_id ASC") or $err = error("Fehler beim abrufen der Daten ".mysqli_error($dbconn));
//$kdnres=mysqli_fetch_assoc($qry);
}
if($kdnres["partner_id"])
{
$typnames=array();
$qry=mysqli_query($dbconn, "SELECT id,anrede FROM anrede");
while($res=mysqli_fetch_assoc($qry))
{
$typnames[$res["id"]] = $res["anrede"];
}
$smarty->assign("anrs",$typnames);
$typnames=array();
$qry=mysqli_query($dbconn, "SELECT id,titel FROM titel");
while($res=mysqli_fetch_assoc($qry))
{
$typnames[$res["id"]] = $res["titel"];
}
$smarty->assign("titels",$typnames);
$typids=array();
$typnames=array();
$qry=mysqli_query($dbconn, "SELECT id,bezeichn FROM artikeltyp");
while($res=mysqli_fetch_assoc($qry))
{
$typids[] = $res["id"];
$typnames[] = $res["bezeichn"];
}
$smarty->assign("typids",$typids);
$smarty->assign("typs",$typnames);
$typids=array();
$typnames=array();
$qry=mysqli_query($dbconn, "SELECT id,einheit FROM einheit");
while($res=mysqli_fetch_assoc($qry))
{
$typids[] = $res["id"];
$typnames[] = $res["einheit"];
}
$smarty->assign("einhids",$typids);
$smarty->assign("einhs",$typnames);
$typids=array();
$typnames=array();
$qry=mysqli_query($dbconn, "SELECT id,wahrung FROM wahrung");
while($res=mysqli_fetch_assoc($qry))
{
$typids[] = $res["id"];
$typnames[] = $res["wahrung"];
}
$smarty->assign("wahrids",$typids);
$smarty->assign("wahrs",$typnames);
$typids=array();
$typnames=array();
$qry=mysqli_query($dbconn, "SELECT id,mwst FROM mwst");
while($res=mysqli_fetch_assoc($qry))
{
if($res["mwst"] != "999")
{
$typids[] = $res["id"];
$typnames[] = $res["mwst"]." %";
$typids2[] = $res["id"];
$typnames2[] = $res["mwst"]." %";
}
else
{
$typids2[] = $res["id"];
$typnames2[] = "Normal";
}
}
$smarty->assign("mwstids",$typids);
$smarty->assign("mwsts",$typnames);
$smarty->assign("artmwstids",$typids2);
$smarty->assign("artmwsts",$typnames2);
$typids=array();
$typnames=array();
$qry=mysqli_query($dbconn, "SELECT id,ziel FROM zahlziel");
while($res=mysqli_fetch_assoc($qry))
{
$typids[] = $res["id"];
$typnames[] = $res["ziel"];
}
$smarty->assign("zzielids",$typids);
$smarty->assign("zziels",$typnames);
$typids=array();
$typnames=array();
$qry=mysqli_query($dbconn, "SELECT id,kto,name FROM buchungsKontos");
while($res=mysqli_fetch_assoc($qry))
{
$typids[] = $res["id"];
$typnames[] = $res["kto"]." (".$res["name"].")";
}
$smarty->assign("buchKtoids",$typids);
$smarty->assign("buchKtos",$typnames);
$qry=mysqli_query($dbconn,"SELECT tmp_rechnung.id,adresse_id, vname, nname, str, hnr FROM tmp_rechnung JOIN adresse ON adresse_id = adresse.id JOIN strasse ON str_id = strasse.id WHERE tmp_rechnung.typ_id='".mysql_escape_string($_GET["type"])."' AND user_id = '".mysql_escape_string($_SESSION["user"])."' ORDER BY datetime DESC LIMIT 1") or $err=error("Fehler beim Suchen nach nicht gespeicherten Daten<br />".mysqli_error($dbconn));
if($res = mysqli_fetch_assoc($qry))
{
$smarty->assign("draft",$res["id"]);
$smarty->assign("draftname",$res["vname"]." ".$res["nname"]);
$smarty->assign("draftstr",$res["str"]." ".$res["hnr"]);
$smarty->assign("draftadressid",$res["adresse_id"]);
}
$smarty->assign("adresse",$kdnres);
$smarty->display("addrechnung.tpl");
}
else
{
error("Dieser Kunde existiert nicht!");
}
}
?>
+44
View File
@@ -0,0 +1,44 @@
<?php
require_once ("./incs/rechnung.php");
require_once("./incs/makepdf.php");
$adresse = makeadressblock($dbconn,$_GET["id"],0);
$rechnung = makerechnungsarray($dbconn,$_GET["id"],0);
if($rechnung["sks"])
{
$artikel = makesksartikelarray($dbconn,$rechnung["rechnr"]);
}
else
$artikel = makeartikelarray($dbconn,$_GET["id"],0);
$pdf = makerawPDF(0,$rechnung["drechnr"]);
makefirstpage($pdf,$adresse["adresse"],$rechnung,0);
if(count($artikel))
{
$gesamtpreis = maketable($pdf,$artikel,$rechnung,0);
}
makeEndPage($pdf,$rechnung,$gesamtpreis,0);
$tmppdfname = str_replace(array(" ","."),array("_","_"),microtime());
savePDF($pdf,"./temp/pdftemp/$tmppdfname.pdf");
$smarty->assign("pdffile","./temp/pdftemp/$tmppdfname.pdf");
//if($rechnung["typ_id"] == 1)
//{
$pdf = makerawPDFcopy(0,$rechnung["drechnr"]);
makefirstpage($pdf,$adresse["adresse"],$rechnung,0);
if(count($artikel))
{
$gesamtpreis = maketable($pdf,$artikel,$rechnung,0);
}
makeEndPage($pdf,$rechnung,$gesamtpreis,0);
$tmppdfname = str_replace(array(" ","."),array("_","_"),microtime());
savePDF($pdf,"./temp/pdftemp/$tmppdfname.pdf");
$smarty->assign("pdffile2","./temp/pdftemp/$tmppdfname.pdf");
//}
$smarty->display("rechshow.tpl");
?>
+140
View File
@@ -0,0 +1,140 @@
<?php
require_once("incs/saveNchange.php");
$_SESSION["camefrom"] = "settings";
if($_GET["do"] == "zahlziel" && $_GET["add"] == 1)
{
if($_GET["formsent"] == 1)
{
$days = mysqli_escape_string($dbconn,$_POST["days"]);
$skontodays = mysqli_escape_string($dbconn,$_POST["skontodays"]);
$skonto = mysqli_escape_string($dbconn,$_POST["skonto"]);
if($days < 2)
$days = 0;
if($skontodays < 2)
$skontodays = 0;
if($skontodays > $days)
$err = error("Der Zeitraum für die Bezahlung mit skonto muss kürzer sein, als der Zeitraum für die reguläre Zahlung ohne Abzüge.");
if($skonto > 95)
$skonto = 95;
if(!$err)
{
if($days > 0)
$zahlziel = $days." Tage ohne Abzug";
else
$zahlziel = "sofort ohne Abzug";
if($skonto && $skontodays)
$zahlziel .= ", Skonto ".$skontodays." Tage ".$skonto."%";
elseif($skonto)
$zahlziel .= ", Skonto sofort ".$skonto."%";
$querystr="INSERT INTO zahlziel SET ziel = '$zahlziel'";
$qry = mysqli_query($dbconn,$querystr) or $err=error("Fehler beim Speichern des Zahlungsziels<br />".mysqli_error($dbconn));
$undoid=mysqli_insert_id($dbconn);
$undoquerystr="DELETE FROM zahlziel WHERE id = '$undoid'";
if(!$err)
{
$err = saveLog($dbconn,$querystr."[zahlziel neu]",$undoquerystr,"anlegen");
}
if(!$err)
doneNreturn("Erfolgreich angelegt");
}
}
$smarty->assign("days",$days);
$smarty->assign("skontodays",$skontodays);
$smarty->assign("skonto",$skonto);
$smarty->display("addzahlziel.tpl");
}
elseif($_GET["do"] == "buchKto" && $_GET["add"] == 1)
{
if($_GET["formsent"] == 1)
{
$kto = mysqli_escape_string($dbconn,$_POST["kto"]);
$name = mysqli_escape_string($dbconn,$_POST["name"]);
$descr = mysqli_escape_string($dbconn,$_POST["descr"]);
$querystr="INSERT INTO buchungsKontos SET kto = '$kto', name = '$name', descr='$descr'";
$qry = mysqli_query($dbconn,$querystr) or $err=error("Fehler beim Speichern des Buchungskontos<br />".mysqli_error($dbconn));
$undoid=mysqli_insert_id($dbconn);
$undoquerystr="DELETE FROM buchungsKontos WHERE id = '$undoid'";
if(!$err)
{
$err = saveLog($dbconn,$querystr."[Buchungskonto neu]",$undoquerystr,"anlegen");
}
if(!$err)
doneNreturn("Erfolgreich angelegt");
}
$smarty->assign("kto",$kto);
$smarty->assign("name",$name);
$smarty->assign("descr",$descr);
$smarty->display("addbuchKto.tpl");
}
else
{
if($_GET["formsent"] == 1)
{
if(is_file("./styles/".$_POST["style"]))
{
updateUserSetting($dbconn,"style", mysqli_real_escape_string($dbconn,$_POST["style"]), mysqli_real_escape_string($dbconn,$_SESSION["user"]));
$_SESSION["style"] = $_POST["style"];
}
updateUserSetting($dbconn,"show_sks", mysqi_real_escape_string($dbconn,$_POST["show_sks"]), mysqli_real_escape_string($dbconn,$_SESSION["user"]));
}
if(substr($_SESSION["rights"],RIGHTS_SUPERADMIN,1) & RIGHTS_CHANGE || substr($_SESSION["rights"],RIGHTS_SUPERADMIN,1) & RIGHTS_ADD)
$smarty->assign("superadmin","add");
elseif(substr($_SESSION["rights"],RIGHTS_SUPERADMIN,1) & RIGHTS_CHANGE)
$smarty->assign("superadmin","change");
elseif(substr($_SESSION["rights"],RIGHTS_SUPERADMIN,1) & RIGHTS_LOOK)
$smarty->assign("superadmin","look");
else
$smarty->assign("superadmin","");
$smarty->assign("heading","Einstellungen");
$smarty->display("heading.tpl");
//user list
$qry = mysqli_query($dbconn, "SELECT nick, vname, nname, blocked, rights, id, weekhours, vacationdays, sahours, rfid, timelog_start FROM user WHERE nick != 'ALL'");
while($res = mysqli_fetch_assoc($qry))
{
$res["rights"] = displayRights($res["rights"]);
$smarty->append("users",$res);
}
//style list
$styledir = opendir("./styles/");
$styles = Array();
while($res = readdir($styledir))
{
if(preg_match("!^.*\.css$!",$res) && $res != "pwdmeter.css")
{
$styles[$res] = substr($res,0,-4);
}
}
//buchKto list
$qry = mysqli_query($dbconn, "SELECT id, kto, name, descr FROM buchungsKontos");
while($res = mysqli_fetch_assoc($qry))
{
$smarty->append("buchKto",$res);
}
//zahlziel list
$qry = mysqli_query($dbconn, "SELECT ziel, id FROM zahlziel");
while($res = mysqli_fetch_assoc($qry))
{
$smarty->append("zahlziele",$res);
}
$show_sks = getUserSetting($dbconn,"show_sks", mysqli_real_escape_string($dbconn,$_SESSION["user"]), 1);
$smarty->assign("show_sks",$show_sks);
$smarty->assign("styles",$styles);
$smarty->display("settings.tpl");
}
?>
+76
View File
@@ -0,0 +1,76 @@
<?php
if(!isset($_POST["user"]))
$_POST["user"] = "";
else
$_POST["user"] = htmlspecialchars($_POST["user"]);
if(!isset($_POST["pass"]))
$_POST["pass"] = "";
else
$_POST["pass"] = htmlspecialchars($_POST["pass"]);
$smarty->display("heading.tpl");
$smarty->assign("local",isLocal());
if(isset($_GET["formsent"]) && $_SESSION["login"] != "valid" && isLocal())
{
$qry= mysqli_query($dbconn, "SELECT salt FROM user WHERE LOWER(nick) = '".mysql_escape_string(strtolower($_POST["user"]))."' AND blocked = 0") or error("Es ist ein Fehler in der abfrage der Benutzerdaten: <br />".formaterror(mysqli_error($dbconn)));
if(mysqli_num_rows($qry) == 1)
{
$res = mysqli_fetch_array($qry);
$qry= mysqli_query($dbconn, "SELECT * FROM user WHERE nick = '".mysql_escape_string($_POST["user"])."' AND pass = '".crypt($_POST["pass"],$res[0])."'") or error("Es ist ein Fehler in der abfrage der Benutzerdaten: <br />".formaterror(mysqli_error($dbconn)));
if(mysqli_num_rows($qry) == 1)
{
$udata = mysqli_fetch_assoc($qry);
$_SESSION["login"] = "valid";
$_SESSION["logedout"] = $udata["logedout"];
$_SESSION["user"] = $udata["id"];
$_SESSION["nick"] = $udata["nick"];
$_SESSION["vname"] = $udata["vname"];
$_SESSION["nname"] = $udata["nname"];
$_SESSION["rights"] = $udata["rights"];
$_SESSION["lastlogin"] = $udata["lastlogin"];
$_SESSION["numlogins"] = $udata["numlogins"];
$_SESSION["style"] = getUserSetting($dbconn,"style", $udata["id"]);
if(!is_file("styles/".$_SESSION["style"]))
{
updateUserSetting($dbconn,"style", "default.css", $udata["id"]);
$_SESSION["style"] = getUserSetting($dbconn,"style", $udata["id"]);
}
$_SESSION["zoom"] = getUserSetting($dbconn,"zoom", $_SESSION["user"], 1);
$_SESSION["privateNotes"] = getUserSetting($dbconn,"privnotes", $_SESSION["user"], "");
mysqli_query($dbconn, "UPDATE user SET wrongpw = 0, lastlogin = NOW(), numlogins = numlogins + 1, logedout = 0 WHERE nick = '".mysql_escape_string($_POST["user"])."'");
}
else
{
$qry= mysqli_query($dbconn, "SELECT wrongpw FROM user WHERE nick = '".mysql_escape_string($_POST["user"])."'") or error("Es ist ein Fehler in der abfrage der Benutzerdaten: <br />".formaterror(mysqli_error($dbconn)));;
if(mysqli_num_rows($qry))
{
$wrongpw = mysqli_fetch_array($qry);
if($wrongpw[0] < 10)
{
mysqli_query($dbconn, "UPDATE user SET wrongpw = wrongpw + 1 WHERE nick = '".mysql_escape_string($_POST["user"])."'");
$triesleft = 10 - $wrongpw[0];
if($triesleft > 1)
error("Der Benuzername oder das Passwort sind falsch, bitte versuchen Sie es erneut (Nach weiteren $triesleft Versuchen wird der Benutzer deaktiviert und muss vom Hauptbenutzer wieder aktiviert werden, damit er sich anmelden kann.)");
else
error("Der Benuzername oder das Passwort sind falsch, bitte versuchen Sie es erneut (Wenn der nächste Versuch falsch ist, wird der Benutzer für deaktiviert und muss vom Hauptbenutzer wieder aktiviert werden, damit er sich anmelden kann.)");
}
else
{
mysqli_query($dbconn, "UPDATE user SET blocked = 1 WHERE nick = '".mysql_escape_string($_POST["user"])."'");
error("Der Benuzer wurde deaktiviert, er muss vom Hauptbenutzer wieder aktiviert werden, damit er sich anmelden kann.");
}
}
}
}
else
error("Dieser Benutzername existiert nicht.");
}
if($_SESSION["login"]=="valid"){
header('Location:?action=kunden');
}
else{
$smarty->display("start.tpl");
}
?>
+362
View File
@@ -0,0 +1,362 @@
<?php
require_once ("./incs/rechnung.php");
$smarty->assign("heading","Steuerexport");
$smarty->display("heading.tpl");
if($_GET["do"] == "generate"){
echo "Generating...";
$month = mysql_escape_string($_POST["month"]);
//RECHNUNGEN
$qry = mysqli_query($dbconn,"SELECT rechnung.adressfields AS adressfields, adresserweiterung, rechnung.id AS rech, ort.plz AS plz, adresse.nname2 AS nname2, adresse.vname2 AS vname2, adresse.nname AS nname, adresse.vname AS vname, adresse.firma AS firma, rechnung. rechnr AS rechnr, DATE_FORMAT(rechnung.datetime,'%d.%m.') AS date, rechnung.partner_id as kundennr, buchungsKontos.kto as buchungsKto
FROM rechnung
JOIN adresse ON rechnung.adresse_id = adresse.id
JOIN strasse ON adresse.str_id = strasse.id
JOIN ort ON ort.id = strasse.ort_id
JOIN wahrung ON wahrung_id = wahrung.id
JOIN rechtyp ON rechnung.typ_id = rechtyp.id
JOIN zahlziel ON zahlziel_id = zahlziel.id
JOIN mwst ON mwst_id = mwst.id
JOIN user ON user_id = user.id
JOIN buchungsKontos ON buchungsKto_id = buchungsKontos.id
WHERE rechnung.typ_id = 1 AND DATE_FORMAT(rechnung.datetime, '%Y%m') = '".$month."' ORDER BY rechnung.datetime DESC") or error(mysqli_error($dbconn));
$tmppdfname = str_replace(array(" ","."),array("_","_"),microtime());
$fhandle = fopen("./temp/pdftemp/$tmppdfname.csv","w");
fwrite($fhandle,"Umsatz (ohne Soll/Haben-Kz);Soll/Haben-Kennzeichen;WKZ Umsatz;Kurs;Basis-Umsatz;WKZ Basis-Umsatz;Konto;Gegenkonto (ohne BU-Schlüssel);BU-Schlüssel;Belegdatum;Belegfeld 1;Belegfeld 2;Skonto;Buchungstext;Postensperre;Diverse Adressnummer;Geschäftspartnerbank;Sachverhalt;Zinssperre;Beleglink;Beleginfo - Art 1;Beleginfo - Inhalt 1;Beleginfo - Art 2;Beleginfo - Inhalt 2;Beleginfo - Art 3;Beleginfo - Inhalt 3;Beleginfo - Art 4;Beleginfo - Inhalt 4;Beleginfo - Art 5;Beleginfo - Inhalt 5;Beleginfo - Art 6;Beleginfo - Inhalt 6;Beleginfo - Art 7;Beleginfo - Inhalt 7;Beleginfo - Art 8;Beleginfo - Inhalt 8;KOST1 - Kostenstelle;KOST2 - Kostenstelle;Kost-Menge;EU-Land u. UStID;EU-Steuersatz;Abw. Versteuerungsart;Sachverhalt L+L;Funktionsergänzung L+L;BU 49 Hauptfunktionstyp;BU 49 Hauptfunktionsnummer;BU 49 Funktionsergänzung;Zusatzinformation - Art 1;Zusatzinformation- Inhalt 1;Zusatzinformation - Art 2;Zusatzinformation- Inhalt 2;Zusatzinformation - Art 3;Zusatzinformation- Inhalt 3;Zusatzinformation - Art 4;Zusatzinformation- Inhalt 4;Zusatzinformation - Art 5;Zusatzinformation- Inhalt 5;Zusatzinformation - Art 6;Zusatzinformation- Inhalt 6;Zusatzinformation - Art 7;Zusatzinformation- Inhalt 7;Zusatzinformation - Art 8;Zusatzinformation- Inhalt 8;Zusatzinformation - Art 9;Zusatzinformation- Inhalt 9;Zusatzinformation - Art 10;Zusatzinformation- Inhalt 10;Zusatzinformation - Art 11;Zusatzinformation- Inhalt 11;Zusatzinformation - Art 12;Zusatzinformation- Inhalt 12;Zusatzinformation - Art 13;Zusatzinformation- Inhalt 13;Zusatzinformation - Art 14;Zusatzinformation- Inhalt 14;Zusatzinformation - Art 15;Zusatzinformation- Inhalt 15;Zusatzinformation - Art 16;Zusatzinformation- Inhalt 16;Zusatzinformation - Art 17;Zusatzinformation- Inhalt 17;Zusatzinformation - Art 18;Zusatzinformation- Inhalt 18;Zusatzinformation - Art 19;Zusatzinformation- Inhalt 19;Zusatzinformation - Art 20;Zusatzinformation- Inhalt 20;Stück;Gewicht;Zahlweise;Forderungsart;Veranlagungsjahr;Zugeordnete Fälligkeit;Skontotyp;Auftragsnummer;Buchungstyp;Ust-Schlüssel (Anzahlungen);EU-Land (Anzahlungen);Sachverhalt L+L (Anzahlungen);EU-Steuersatz (Anzahlungen);Erlöskonto (Anzahlungen);Herkunft-Kz;Buchungs GUID;KOST-Datum;Mandatsreferenz\r\n");
while($res = mysqli_fetch_assoc($qry))
{
$adressfields= $res["adressfields"];
if($adresse["sks"])
$adressfields = "011111111100";
$firmaanr = substr($adressfields,ADRFIELD_FIRMAANR,1);
$firma = substr($adressfields,ADRFIELD_FIRMA,1);
$anr1 = substr($adressfields,ADRFIELD_ANR1,1);
$titel1 = substr($adressfields,ADRFIELD_TITEL1,1);
$name1 = substr($adressfields,ADRFIELD_NAME1,1);
$anr2 = substr($adressfields,ADRFIELD_ANR2,1);
$titel2 = substr($adressfields,ADRFIELD_TITEL2,1);
$name2 = substr($adressfields,ADRFIELD_NAME2,1);
$str = substr($adressfields,ADRFIELD_STR,1);
$ort = substr($adressfields,ADRFIELD_ORT,1);
$land = substr($adressfields,ADRFIELD_LAND,1);
$zusatz = substr($adressfields,ADRFIELD_ZUSATZ,1);
$qry2 = mysqli_query($dbconn,"SELECT artikel.bezeichn as bezeichn, preis, wanr, posnr, pagebreak, rabatt, rabatttyp, artikeltyp.bezeichn AS typ, typ_id, menge, angtyp, artikel.id as id
FROM artikel
JOIN artikeltyp ON typ_id = artikeltyp.id
JOIN artikel_rechn ON artikel.id = art_id
WHERE rech_id = ".$res["rech"]." AND artikel.bezeichn NOT LIKE '%Arbeitswert%' AND artikel.bezeichn NOT LIKE '%Wegewert%' AND artikel.bezeichn NOT LIKE '%Fahrt%' AND artikel.bezeichn NOT LIKE '%Kfz-%' ORDER BY preis DESC LIMIT 1") or error(mysqli_error($dbconn));
if(mysqli_num_rows($qry2) < 1){
$res2["bezeichn"] = "Reparatur";
}
else{
$res2 = mysqli_fetch_assoc($qry2);
if(trim($res2["bezeichn"]) == "")
$res2["bezeichn"] = "Reparatur";
else if(strstr(strtolower($res2["bezeichn"]),"ladengurt") or strstr(strtolower($res2["bezeichn"]),"dämmfeder"))
$res2["bezeichn"] = "Rolladenreparatur";
else if(strstr(strtolower($res2["bezeichn"]),"textband"))
$res2["bezeichn"] = "Jalousienreparatur";
}
$res["drechnr"] = substr($res["rechnr"],0,4)."-".substr($res["rechnr"],4,2)."-".substr($res["rechnr"],6,2).substr($res["rechnr"],8,2);
$res["drechnr"] = $res["drechnr"];
$sumincl = calculateRechnungsSum($dbconn, $res["rech"],1);
$adrstr = trim($res["adresserweiterung"]);
if($firma && trim($res["firma"]))
{
$adrstr .= trim($res["firma"]);
}
elseif( $name1 && !$name2)
{
if($res["vname"])
$adrstr .= trim($res["vname"])." ".trim($res["nname"]);
else
$adrstr .= trim($res["nname"]);
}
elseif( $name2 && !$name1)
{
if($res["vname2"])
$adrstr .= trim($res["vname2"])." ".trim($res["nname2"]);
else
$adrstr .= trim($res["nname2"]);
}
else
{
if($name1)
{
if($res["vname"])
$adrstr .= trim($res["vname"])." ".trim($res["nname"]);
else
$adrstr .= trim($res["nname"]);
}
if(trim($name2))
{
if($res["vname2"])
$adrstr .= trim($res["vname2"])." ".trim($res["nname2"]);
else
$adrstr .= trim($res["nname2"]);
}
}
fwrite($fhandle,number_format($sumincl,2,",",".").";H;;;;;".$res["buchungsKto"].";1210;;".$res["date"].";".$res["drechnr"].";;;".$res["kundennr"]." - ".$adrstr.";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;RE;;;104040000001\r\n");
}
//STORNOS
$qry = mysqli_query($dbconn,"SELECT rechnung.adressfields AS adressfields, adresserweiterung, rechnung.id AS rech, ort.plz AS plz, adresse.nname2 AS nname2, adresse.vname2 AS vname2, adresse.nname AS nname, adresse.vname AS vname, adresse.firma AS firma, rechnung. rechnr AS rechnr, DATE_FORMAT(rechnung.stornodate,'%d.%m.') AS date, rechnung.partner_id as kundennr, buchungsKontos.kto as buchungsKto
FROM rechnung
JOIN adresse ON rechnung.adresse_id = adresse.id
JOIN strasse ON adresse.str_id = strasse.id
JOIN ort ON ort.id = strasse.ort_id
JOIN wahrung ON wahrung_id = wahrung.id
JOIN rechtyp ON rechnung.typ_id = rechtyp.id
JOIN zahlziel ON zahlziel_id = zahlziel.id
JOIN mwst ON mwst_id = mwst.id
JOIN user ON user_id = user.id
JOIN buchungsKontos ON buchungsKto_id = buchungsKontos.id
WHERE rechnung.typ_id = 1 AND DATE_FORMAT(rechnung.stornodate, '%Y%m') = '".$month."' AND storno = 1 ORDER BY rechnung.stornodate DESC") or error(mysqli_error($dbconn));
while($res = mysqli_fetch_assoc($qry))
{
$adressfields= $res["adressfields"];
if($adresse["sks"])
$adressfields = "011111111100";
$firmaanr = substr($adressfields,ADRFIELD_FIRMAANR,1);
$firma = substr($adressfields,ADRFIELD_FIRMA,1);
$anr1 = substr($adressfields,ADRFIELD_ANR1,1);
$titel1 = substr($adressfields,ADRFIELD_TITEL1,1);
$name1 = substr($adressfields,ADRFIELD_NAME1,1);
$anr2 = substr($adressfields,ADRFIELD_ANR2,1);
$titel2 = substr($adressfields,ADRFIELD_TITEL2,1);
$name2 = substr($adressfields,ADRFIELD_NAME2,1);
$str = substr($adressfields,ADRFIELD_STR,1);
$ort = substr($adressfields,ADRFIELD_ORT,1);
$land = substr($adressfields,ADRFIELD_LAND,1);
$zusatz = substr($adressfields,ADRFIELD_ZUSATZ,1);
$adrstr = trim($res["adresserweiterung"]);
if($firma && trim($res["firma"]))
{
$adrstr .= trim($res["firma"]);
}
elseif( $name1 && !$name2)
{
if($res["vname"])
$adrstr .= trim($res["vname"])." ".trim($res["nname"]);
else
$adrstr .= trim($res["nname"]);
}
elseif( $name2 && !$name1)
{
if($res["vname2"])
$adrstr .= trim($res["vname2"])." ".trim($res["nname2"]);
else
$adrstr .= trim($res["nname2"]);
}
else
{
if($name1)
{
if($res["vname"])
$adrstr .= trim($res["vname"])." ".trim($res["nname"]);
else
$adrstr .= trim($res["nname"]);
}
if(trim($name2))
{
if($res["vname2"])
$adrstr .= trim($res["vname2"])." ".trim($res["nname2"]);
else
$adrstr .= trim($res["nname2"]);
}
}
$qry2 = mysqli_query($dbconn,"SELECT artikel.bezeichn as bezeichn, preis, wanr, posnr, pagebreak, rabatt, rabatttyp, artikeltyp.bezeichn AS typ, typ_id, menge, angtyp, artikel.id as id
FROM artikel
JOIN artikeltyp ON typ_id = artikeltyp.id
JOIN artikel_rechn ON artikel.id = art_id
WHERE rech_id = ".$res["rech"]." AND artikel.bezeichn NOT LIKE '%Arbeitswert%' AND artikel.bezeichn NOT LIKE '%Wegewert%' AND artikel.bezeichn NOT LIKE '%Fahrt%' AND artikel.bezeichn NOT LIKE '%Kfz-%' ORDER BY preis DESC LIMIT 1") or error(mysqli_error($dbconn));
if(mysqli_num_rows($qry2) < 1){
$res2["bezeichn"] = "Reparatur";
}
else{
$res2 = mysqli_fetch_assoc($qry2);
if(trim($res2["bezeichn"]) == "")
$res2["bezeichn"] = "Reparatur";
else if(strstr(strtolower($res2["bezeichn"]),"ladengurt") or strstr(strtolower($res2["bezeichn"]),"dämmfeder"))
$res2["bezeichn"] = "Rolladenreparatur";
else if(strstr(strtolower($res2["bezeichn"]),"textband"))
$res2["bezeichn"] = "Jalousienreparatur";
}
$res["drechnr"] = substr($res["rechnr"],0,4)."-".substr($res["rechnr"],4,2)."-".substr($res["rechnr"],6,2).substr($res["rechnr"],8,2);
$res["drechnr"] = $res["drechnr"];
$sumincl = calculateRechnungsSum($dbconn, $res["rech"],1);
fwrite($fhandle,number_format($sumincl,2,",",".").";H;;;;;1210;".$res["buchungsKto"].";;".$res["date"].";".$res["drechnr"].";;;".$res["kundennr"]." - ".$adrstr.";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;RE;;;104040000001\r\n");
}
//GUTSCHRIFTEN
$qry = mysqli_query($dbconn,"SELECT rechnung.adressfields AS adressfields, adresserweiterung, rechnung.id AS rech, ort.plz AS plz, adresse.nname2 AS nname2, adresse.vname2 AS vname2, adresse.nname AS nname, adresse.vname AS vname, adresse.firma AS firma, rechnung. rechnr AS rechnr, DATE_FORMAT(rechnung.datetime,'%d.%m.') AS date, rechnung.partner_id as kundennr
FROM rechnung
JOIN adresse ON rechnung.adresse_id = adresse.id
JOIN strasse ON adresse.str_id = strasse.id
JOIN ort ON ort.id = strasse.ort_id
JOIN wahrung ON wahrung_id = wahrung.id
JOIN rechtyp ON rechnung.typ_id = rechtyp.id
JOIN zahlziel ON zahlziel_id = zahlziel.id
JOIN mwst ON mwst_id = mwst.id
JOIN user ON user_id = user.id
WHERE rechnung.typ_id = 2 AND DATE_FORMAT(rechnung.datetime, '%Y%m') = '".$month."' ORDER BY rechnung.datetime DESC") or error(mysqli_error($dbconn));
while($res = mysqli_fetch_assoc($qry))
{
$adressfields= $res["adressfields"];
if($adresse["sks"])
$adressfields = "011111111100";
$firmaanr = substr($adressfields,ADRFIELD_FIRMAANR,1);
$firma = substr($adressfields,ADRFIELD_FIRMA,1);
$anr1 = substr($adressfields,ADRFIELD_ANR1,1);
$titel1 = substr($adressfields,ADRFIELD_TITEL1,1);
$name1 = substr($adressfields,ADRFIELD_NAME1,1);
$anr2 = substr($adressfields,ADRFIELD_ANR2,1);
$titel2 = substr($adressfields,ADRFIELD_TITEL2,1);
$name2 = substr($adressfields,ADRFIELD_NAME2,1);
$str = substr($adressfields,ADRFIELD_STR,1);
$ort = substr($adressfields,ADRFIELD_ORT,1);
$land = substr($adressfields,ADRFIELD_LAND,1);
$zusatz = substr($adressfields,ADRFIELD_ZUSATZ,1);
$adrstr = trim($res["adresserweiterung"]);
if($firma && trim($res["firma"]))
{
$adrstr .= trim($res["firma"]);
}
elseif( $name1 && !$name2)
{
if($res["vname"])
$adrstr .= trim($res["vname"])." ".trim($res["nname"]);
else
$adrstr .= trim($res["nname"]);
}
elseif( $name2 && !$name1)
{
if($res["vname2"])
$adrstr .= trim($res["vname2"])." ".trim($res["nname2"]);
else
$adrstr .= trim($res["nname2"]);
}
else
{
if($name1)
{
if($res["vname"])
$adrstr .= trim($res["vname"])." ".trim($res["nname"]);
else
$adrstr .= trim($res["nname"]);
}
if(trim($name2))
{
if($res["vname2"])
$adrstr .= trim($res["vname2"])." ".trim($res["nname2"]);
else
$adrstr .= trim($res["nname2"]);
}
}
$qry2 = mysqli_query($dbconn,"SELECT artikel.bezeichn as bezeichn, preis, wanr, posnr, pagebreak, rabatt, rabatttyp, artikeltyp.bezeichn AS typ, typ_id, menge, angtyp, artikel.id as id
FROM artikel
JOIN artikeltyp ON typ_id = artikeltyp.id
JOIN artikel_rechn ON artikel.id = art_id
WHERE rech_id = ".$res["rech"]." AND artikel.bezeichn NOT LIKE '%Arbeitswert%' AND artikel.bezeichn NOT LIKE '%Wegewert%' AND artikel.bezeichn NOT LIKE '%Fahrt%' AND artikel.bezeichn NOT LIKE '%Kfz-%' ORDER BY preis DESC LIMIT 1") or error(mysqli_error($dbconn));
if(mysqli_num_rows($qry2) < 1){
$res2["bezeichn"] = "Reparatur";
}
else{
$res2 = mysqli_fetch_assoc($qry2);
if(trim($res2["bezeichn"]) == "")
$res2["bezeichn"] = "Reparatur";
else if(strstr(strtolower($res2["bezeichn"]),"ladengurt") or strstr(strtolower($res2["bezeichn"]),"dämmfeder"))
$res2["bezeichn"] = "Rolladenreparatur";
else if(strstr(strtolower($res2["bezeichn"]),"textband"))
$res2["bezeichn"] = "Jalousienreparatur";
}
$res["drechnr"] = substr($res["rechnr"],0,4)."-".substr($res["rechnr"],4,2)."-".substr($res["rechnr"],6,2).substr($res["rechnr"],8,2);
$res["drechnr"] = $res["drechnr"];
$sumincl = calculateRechnungsSum($dbconn, $res["rech"],1);
fwrite($fhandle,number_format($sumincl,2,",",".").";H;;;;;1210;4400;;".$res["date"].";".$res["drechnr"].";;;".$res["kundennr"]." - ".$adrstr.";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;RE;;;104040000001\r\n");
}
fclose($fhandle);
echo "<a class='noloading' href='./temp/pdftemp/$tmppdfname.csv'>Öffnen</a><br />";
}
else{
for ($i=0; $i<12; $i++){
$monthID[$i] = date("Ym",strtotime("-".$i." month") );
$monthname[$i] = date("M Y",strtotime("-".$i." month"));
}
$smarty->assign('month_ids', $monthID);
$smarty->assign('month_names', $monthname);
$smarty->assign('curr_month_id', $monthID[0]);
$sum = 0;
$sumincl = 0;
$qry = mysqli_query($dbconn,"SELECT rechnung.id AS rech, ort.plz AS plz FROM rechnung JOIN adresse ON adresse_id = adresse.id JOIN strasse ON adresse.str_id = strasse.id JOIN ort ON ort.id = strasse.ort_id WHERE rechnung.typ_id = 1 AND ort.plz = '87509' AND DATE_FORMAT(rechnung.datetime, '%Y') = '".date("Y",strtotime("-0 year"))."'") or error(mysqli_error($dbconn));
while($res = mysqli_fetch_assoc($qry))
{
$sumincl += calculateRechnungsSum($dbconn, $res["rech"],1);
$sum += calculateRechnungsSum($dbconn, $res["rech"],0);
}
$smarty->assign("ffincl0",$sumincl);
$smarty->assign("ffexcl0",$sum);
$sum = 0;
$sumincl = 0;
$qry = mysqli_query($dbconn,"SELECT rechnung.id AS rech, ort.plz AS plz FROM rechnung JOIN adresse ON adresse_id = adresse.id JOIN strasse ON adresse.str_id = strasse.id JOIN ort ON ort.id = strasse.ort_id WHERE rechnung.typ_id = 1 AND ort.plz = '87509' AND DATE_FORMAT(rechnung.datetime, '%Y') = '".date("Y",strtotime("-1 year"))."'") or error(mysqli_error($dbconn));
while($res = mysqli_fetch_assoc($qry))
{
$sumincl += calculateRechnungsSum($dbconn, $res["rech"],1);
$sum += calculateRechnungsSum($dbconn, $res["rech"],0);
}
$smarty->assign("ffincl1",$sumincl);
$smarty->assign("ffexcl1",$sum);
$sum = 0;
$sumincl = 0;
$qry = mysqli_query($dbconn,"SELECT rechnung.id AS rech, ort.plz AS plz FROM rechnung JOIN adresse ON adresse_id = adresse.id JOIN strasse ON adresse.str_id = strasse.id JOIN ort ON ort.id = strasse.ort_id WHERE rechnung.typ_id = 1 AND ort.plz = '87509' AND DATE_FORMAT(rechnung.datetime, '%Y') = '".date("Y",strtotime("-2 years"))."'") or error(mysqli_error($dbconn));
while($res = mysqli_fetch_assoc($qry))
{
$sumincl += calculateRechnungsSum($dbconn, $res["rech"],1);
$sum += calculateRechnungsSum($dbconn, $res["rech"],0);
}
$smarty->assign("ffincl2",$sumincl);
$smarty->assign("ffexcl2",$sum);
$sum = 0;
$completesum = 0;
$partners = array();
$qry = mysqli_query($dbconn,"SELECT GROUP_CONCAT(rechnung.id SEPARATOR ',') AS rechs, partner_id FROM rechnung RIGHT OUTER JOIN partner ON partner_id = partner.id WHERE rechnung.typ_id = 1 AND DATE_FORMAT(rechnung.datetime, '%Y') = '".date("Y",strtotime("-0 year"))."' GROUP BY partner_id");
while($res = mysqli_fetch_assoc($qry))
{
$rechs = explode(',',$res["rechs"]);
$sum = 0;
Foreach($rechs AS $rech)
{
$sum += calculateRechnungsSum($dbconn, $rech,1);
}
$completesum +=$sum;
if($sum>0)
{
$partners[$res["partner_id"]] = $sum;
}
}
$smarty->display("stexp.tpl");
}
$_SESSION["camefrom"] ="stexp";
?>
+12
View File
@@ -0,0 +1,12 @@
<?php
$smarty->assign("heading","Suchen");
$smarty->display("heading.tpl");
$smarty->assign("felder",array("all"=>"Name, Adresse, Kd.Nr.","kdnr"=>"Kundennummer","name"=>"Name und Firma","str"=>"Straße","plz"=>"PLZ","ort"=>"Ort","tel"=>"Tel","kont"=>"Kontakt"));
$_SESSION["camefrom"] ="suchen";
$smarty->display("suchen.tpl");
?>
+148
View File
@@ -0,0 +1,148 @@
<?php
require_once("incs/users.php");
$_SESSION["camefrom"] = "termin&show=".$_GET["show"]."&page=".$_GET["page"];
if($_GET["show"] == "list")
{
$smarty->assign("heading","Terminliste");
if($_GET["tabs"])
$smarty->assign("tabs",$_GET["tabs"]);
else
$smarty->assign("tabs",$_SESSION["termtyp"]);
$smarty->display("heading.tpl");
$smarty->display("termlist.tpl");
}
else
{
$smarty->assign("heading","Termine");
$smarty->display("heading.tpl");
//$colors = array("#f00","#0c0","#ff0","#90c","#0bb","#066","#09f","#f60","#00f","#f09");
//$weather = GetWeather();
//$smarty->assign("weather",$weather);
$start = $_GET["page"]*8 - 1;
$end = $_GET["page"]*8 + 7;
for($i=$start; $i<$end; $i++)
{
$qry = mysqli_query($dbconn,"SELECT user.vname,user.nname, user.color,
case MAX(zeiten.gehen)
when MAX(zeiten.kommen) then 0
else 1 end AS complete
FROM user
LEFT JOIN zeiten ON user.id = zeiten.ma_id
WHERE DATE_FORMAT(kommen,'%Y%m%d') = '".date("Ymd",strtotime("+".$i." days"))."'
GROUP BY user.id ORDER BY user.nname ASC") or $err=error("fehler beim ermitteln der anwesenden Mitarbeiter<br />".mysqli_error($dbconn));
$ma_check=array();
while($res=mysqli_fetch_assoc($qry))
{
$ma_check[] = $res;
}
$qry = mysqli_query($dbconn,"SELECT termin.id,termtyp.typ, termin.head, termtime, termdauer, user, user2, user3, user4, done, partner_id, termin.id, main_id, str, ort, ortsteil, plz, hnr, adresse.vname as vname, adresse.nname as nname,
user.vname as uservname, user.nname as usernname,
user2.vname as uservname2, user2.nname as usernname2,
user3.vname as uservname3, user3.nname as usernname3,
user4.vname as uservname4, user4.nname as usernname4,
firma, vname2, nname2
FROM termin
LEFT JOIN termtyp ON termin.typ = termtyp.id
LEFT JOIN adresse ON termin.adresse_id = adresse.id
LEFT JOIN partner ON adresse.partner_id = partner.id
LEFT JOIN strasse ON adresse.str_id = strasse.id
LEFT JOIN ort ON strasse.ort_id = ort.id
LEFT JOIN user ON termin.user = user.id
LEFT JOIN user AS user2 ON termin.user2 = user2.id
LEFT JOIN user AS user3 ON termin.user3 = user3.id
LEFT JOIN user AS user4 ON termin.user4 = user4.id
WHERE DATE_FORMAT(termtime,'%Y%m%d') = '".date("Ymd",strtotime("+".$i." days"))."' AND termdauer > '12:00:00'
ORDER BY termtime ASC") or $err=error("fehler beim ermitteln der termine<br />".mysqli_error($dbconn));
$fulldaytermine=array();
while($res=mysqli_fetch_assoc($qry))
{
$fulldaytermine[] = $res;
}
$termine=array();
if($_SESSION["firma"] == "Ingenieurbüro Wagner"){
$qry = mysqli_query($dbconn,"SELECT work.id, project.id AS projectid, work.bezeichn AS head, work.rechn AS done, project.name AS projectname, work.datetime AS termtime, work.std AS termdauer, project.changeuser AS user, project.partner_id,
adresse.vname as vname, adresse.nname as nname, adresse.firma AS firma
FROM work
LEFT JOIN project ON work.project_id = project.id
LEFT JOIN partner ON project.partner_id = partner.id
LEFT JOIN adresse ON adresse.partner_id = partner.id
LEFT JOIN user ON work.changeuser = user.id
WHERE adresse.typ_id = 1 AND DATE_FORMAT(work.datetime,'%Y%m%d') = '".date("Ymd",strtotime("+".$i." days"))."'
ORDER BY work.datetime ASC") or $err=error("fehler beim ermitteln der termine<br />".mysqli_error($dbconn));
while($res=mysqli_fetch_assoc($qry))
{
$termine[] = $res;
}
}
$qry = mysqli_query($dbconn,"SELECT termin.id,termtyp.typ, termin.head, termtime, termdauer, user, user2, user3, user4, done, partner_id, termin.id, main_id, str, ort, ortsteil, plz, hnr, adresse.vname as vname, adresse.nname as nname,
user.vname as uservname, user.nname as usernname,
user2.vname as uservname2, user2.nname as usernname2,
user3.vname as uservname3, user3.nname as usernname3,
user4.vname as uservname4, user4.nname as usernname4,
firma, vname2, nname2
FROM termin
LEFT JOIN termtyp ON termin.typ = termtyp.id
LEFT JOIN adresse ON termin.adresse_id = adresse.id
LEFT JOIN partner ON adresse.partner_id = partner.id
LEFT JOIN strasse ON adresse.str_id = strasse.id
LEFT JOIN ort ON strasse.ort_id = ort.id
LEFT JOIN user ON termin.user = user.id
LEFT JOIN user AS user2 ON termin.user2 = user2.id
LEFT JOIN user AS user3 ON termin.user3 = user3.id
LEFT JOIN user AS user4 ON termin.user4 = user4.id
WHERE DATE_FORMAT(termtime,'%Y%m%d') = '".date("Ymd",strtotime("+".$i." days"))."' AND termdauer < '12:00:00'
ORDER BY termtime ASC") or $err=error("fehler beim ermitteln der termine<br />".mysqli_error($dbconn));
while($res=mysqli_fetch_assoc($qry))
{
$termine[] = $res;
}
$feiertag = feiertag_bayern(idate("d",strtotime("+".$i." days")),idate("m",strtotime("+".$i." days")),idate("Y",strtotime("+".$i." days")));
if($feiertag){
$weekdays[]=array( "weekday"=>date("d.m.Y",strtotime("+".$i." days"))."<br/>",
"date"=>strftime("%Y%m%d",strtotime("+".$i." days")),
"termine"=>$termine,
"fulldaytermine"=>$fulldaytermine,
"numfulldaytermine" => 0,
"ma_check"=>$ma_check,
"feiertag" => $feiertag
);
}
else{
$weekdays[]=array( "weekday"=>strftime("%A",strtotime("+".$i." days"))."<br/>".date("d.m.Y",strtotime("+".$i." days")),
"date"=>strftime("%Y%m%d",strtotime("+".$i." days")),
"termine"=>$termine,
"fulldaytermine"=>$fulldaytermine,
"numfulldaytermine" => 0,
"ma_check"=>$ma_check,
"feiertag" => ""
);
}
}
$smarty->assign("page",$_GET["page"]);
$smarty->assign("weekdays",$weekdays);
$qry=mysqli_query($dbconn,"SELECT id, vname, nname, color FROM user WHERE blocked = 0 AND nick != 'ALL'");
while($res=mysqli_fetch_assoc($qry))
{
//$res["color"] = $colors[$res["id"]];
$res["openvacation"] = urlaub_remaining($dbconn, $res["id"]);
$users[$res["id"]] = $res;
}
$smarty->assign("users",$users);
$smarty->display("calendar.tpl");
}
?>
+422
View File
@@ -0,0 +1,422 @@
<?php
if($_GET["id"] && $_GET["del"] == 1)
{
if($_GET["id"] == "multi"){
for( $i=1; $i<=$_POST["pagesize"]; $i++){
mysqli_query($dbconn,"DELETE FROM termin WHERE id='".$_POST["del".$i]."'") or $err=error("Konnte Haupttermin nicht löschen<br />".mysqli_error($dbconn));
mysqli_query($dbconn,"DELETE FROM termin WHERE main_id='".$_POST["del".$i]."'" or $err=error("Konnte Nebentermine nicht löschen<br />".mysqli_error($dbconn)));
}
if(!$err)
doneNreturn("Erfolgreich gelöscht");
}
else{
$qry = mysqli_query($dbconn,"SELECT * FROM termin WHERE id='".mysqli_escape_string($dbconn,$_GET["id"])."'");
$res = mysqli_fetch_assoc($qry);
if(!$res)
$err = error("Dieser Termin existiert nicht!");
mysqli_query($dbconn,"DELETE FROM termin WHERE id='".$res["id"]."'") or $err=error("Konnte Haupttermin nicht löschen<br />".mysqli_error($dbconn));
mysqli_query($dbconn,"DELETE FROM termin WHERE main_id='".$res["id"]."'" or $err=error("Konnte Nebentermine nicht löschen<br />".mysqli_error($dbconn)));
if(!$err)
doneNreturn("Erfolgreich gelöscht");
}
}
elseif($_GET["id"] && $_GET["done"])
{
if($_GET["id"] == "multi"){
for( $i=1; $i<=$_POST["pagesize"]; $i++){
mysqli_query($dbconn,"UPDATE termin SET done = 1 WHERE id='".$_POST["erl".$i]."'") or $err+=error("Konnte Haupttermin nicht als erledigt markieren<br />".mysqli_error($dbconn));
mysqli_query($dbconn,"UPDATE termin SET done = 1 WHERE main_id='".$_POST["erl".$i]."'") or $err+=error("Konnte Nebentermine nicht als erledigt markieren<br />".mysqli_error($dbconn));
}
if(!$err)
doneNreturn("Erfolgreich geändert!");
}
else{
$qry = mysqli_query($dbconn,"SELECT * FROM termin WHERE id='".mysqli_escape_string($dbconn,$_GET["id"])."'");
$res = mysqli_fetch_assoc($qry);
if(!$res)
$err = error("Dieser Termin existiert nicht!");
if($_GET["done"] == "yes")
{
mysqli_query($dbconn,"UPDATE termin SET done = 1 WHERE id='".$res["id"]."'") or $err=error("Konnte Haupttermin nicht als erledigt markieren<br />".mysqli_error($dbconn));
mysqli_query($dbconn,"UPDATE termin SET done = 1 WHERE main_id='".$res["id"]."'") or $err=error("Konnte Nebentermine nicht als erledigt markieren<br />".mysqli_error($dbconn));
}
elseif($_GET["done"] == "no")
{
mysqli_query($dbconn,"UPDATE termin SET done = 0 WHERE id='".$res["id"]."'") or $err=error("Konnte Haupttermin nicht als nicht erledigt markieren<br />".mysqli_error($dbconn));
mysqli_query($dbconn,"UPDATE termin SET done = 0 WHERE main_id='".$res["id"]."'") or $err=error("Konnte Nebentermine nicht als nicht erledigt markieren<br />".mysqli_error($dbconn));
}
if(!$err)
doneNreturn("Erfolgreich geändert!");
}
}
$qry = mysqli_query($dbconn,"SELECT plz, ortsteil, ort, str, hnr, vname, partner_id, nname, vname2, nname2, firma, adresse.id, land, anrede_id, titel_id, anrede2_id, titel2_id
FROM adresse
LEFT JOIN strasse ON str_id = strasse.id
LEFT JOIN ort ON ort_id = ort.id
LEFT JOIN land ON land_id = land.id
WHERE adresse.id='".mysql_escape_string($_GET["adressid"])."'
ORDER BY typ_id ASC") or $err = error("Fehler beim abrufen der Daten ".mysqli_error($dbconn));
$kdnres=mysqli_fetch_assoc($qry);
if($_GET["user"])
$smarty->assign("user",$_GET["user"]);
if(!$kdnres["partner_id"])
{
$_GET["adressid"] = 0;
}
if($_GET["formsent"] == 1)
{
$head = mysql_escape_string(trim($_POST["head"]));
$user = mysql_escape_string(trim($_POST["user"]));
$user2 = mysql_escape_string(trim($_POST["user2"]));
$user3 = mysql_escape_string(trim($_POST["user3"]));
$user4 = mysql_escape_string(trim($_POST["user4"]));
$text = mysql_escape_string(trim($_POST["text"]));
$typ = mysql_escape_string(trim($_POST["typ"]));
$done = mysql_escape_string(trim($_POST["done"]));
$folge = mysql_escape_string(trim($_POST["folge"]));
$folgetyp = mysql_escape_string(trim($_POST["folgetyp"]));
$folgedays = mysql_escape_string(trim($_POST["folgedays"]));
$datetime_start = dispdate_to_mysql_date(mysql_escape_string(trim($_POST["datetime_start"])),0);
$datetime_end = dispdate_to_mysql_date(mysql_escape_string(trim($_POST["datetime_end"])),1);
$_POST["termtime"] = $datetime_start;
$_POST["termend"] = $datetime_end;
$dauer = $_POST["termdauer"] = mysql_dauer($datetime_start,$datetime_end);
$days = 1;
$split_dauer = explode(":",$dauer);
if($split_dauer[0]>12 || $typ == 0)
{
$days = ceil($dauer/24);
$dauer = "24:00:00";
$_POST["termtime"] = $datetime_start = substr($datetime_start,0,11)."00:00:00";
$_POST["termend"] = $datetime_end = substr($datetime_start,0,11)."23:59:00";
}
$datetime_start_tmp =$datetime_start;
if($days > 1 && $_GET["id"])
{
mysqli_query($dbconn,"DELETE FROM termin WHERE id='".mysqli_escape_string($dbconn,$_GET["id"])."'");
mysqli_query($dbconn,"DELETE FROM termin WHERE main_id='".mysqli_escape_string($dbconn,$_GET["id"])."'");
$_GET["id"] = "";
}
else
mysqli_query($dbconn,"DELETE FROM termin WHERE main_id='".mysqli_escape_string($dbconn,$_GET["id"])."' AND id != '".mysqli_escape_string($dbconn,$_GET["id"])."'");
if($done == 0){
for($i=0;$i<$days;$i++)
{
$datetime_start_tmp = date("Y-m-d H:i:s",strtotime("+".$i." day",strtotime($datetime_start)));
$qry = mysqli_query($dbconn,"SELECT * FROM
( SELECT id,user, user2, user3, user4, termtime,
DATE_ADD(termtime,INTERVAL CONCAT(HOUR(termdauer),' ',MINUTE(termdauer)) HOUR_MINUTE)as termend
FROM termin WHERE termtime != '0000-00-00 00:00:00' AND done = 0)
as subselect
WHERE
(user='$user' OR user2='$user' OR user3='$user' OR user4='$user') AND
(
('$datetime_start_tmp' >= termtime AND '$datetime_start_tmp' < termend) OR
('$datetime_end' > termtime AND '$datetime_end' <= termend) OR
('$datetime_start_tmp' <= termtime AND '$datetime_end' >= termend)
)") or $err=error("Fehler beim überprüfen von Überlappungen<br />".mysqli_error($dbconn));
$res=mysqli_fetch_assoc($qry);
if(!$res && $user2)
{
$qry = mysqli_query($dbconn,"SELECT * FROM
( SELECT id,user, user2, user3, user4, termtime,
DATE_ADD(termtime,INTERVAL CONCAT(HOUR(termdauer),' ',MINUTE(termdauer)) HOUR_MINUTE)as termend
FROM termin WHERE termtime != '0000-00-00 00:00:00' AND done = 0)
as subselect
WHERE
(user='$user2' OR user2='$user2' OR user3='$user2' OR user4='$user2') AND
(
('$datetime_start_tmp' >= termtime AND '$datetime_start_tmp' < termend) OR
('$datetime_end' > termtime AND '$datetime_end' <= termend) OR
('$datetime_start_tmp' <= termtime AND '$datetime_end' >= termend)
)") or $err=error("Fehler beim überprüfen von Überlappungen<br />".mysqli_error($dbconn));
$res=mysqli_fetch_assoc($qry);
}
if(!$res && $user3)
{
$qry = mysqli_query($dbconn,"SELECT * FROM
( SELECT id,user, user2, user3, user4, termtime,
DATE_ADD(termtime,INTERVAL CONCAT(HOUR(termdauer),' ',MINUTE(termdauer)) HOUR_MINUTE)as termend
FROM termin WHERE termtime != '0000-00-00 00:00:00' AND done = 0)
as subselect
WHERE
(user='$user3' OR user2='$user3' OR user3='$user3' OR user4='$user3') AND
(
('$datetime_start_tmp' >= termtime AND '$datetime_start_tmp' < termend) OR
('$datetime_end' > termtime AND '$datetime_end' <= termend) OR
('$datetime_start_tmp' <= termtime AND '$datetime_end' >= termend)
)") or $err=error("Fehler beim überprüfen von Überlappungen<br />".mysqli_error($dbconn));
$res=mysqli_fetch_assoc($qry);
}
if(!$res && $user4)
{
$qry = mysqli_query($dbconn,"SELECT * FROM
( SELECT id,user, user2, user3, user4, termtime,
DATE_ADD(termtime,INTERVAL CONCAT(HOUR(termdauer),' ',MINUTE(termdauer)) HOUR_MINUTE)as termend
FROM termin WHERE termtime != '0000-00-00 00:00:00' AND done = 0)
as subselect
WHERE
(user='$user4' OR user2='$user4' OR user3='$user4' OR user4='$user4') AND
(
('$datetime_start_tmp' >= termtime AND '$datetime_start_tmp' < termend) OR
('$datetime_end' > termtime AND '$datetime_end' <= termend) OR
('$datetime_start_tmp' <= termtime AND '$datetime_end' >= termend)
)") or $err=error("Fehler beim überprüfen von Überlappungen<br />".mysqli_error($dbconn));
$res=mysqli_fetch_assoc($qry);
}
if($res && $res["id"] != $_GET["id"])
{
$err=error("Dieser Mitarbeiter hat zu der Zeit bereits einen Termin, er kann nicht an zwei Orten gleichzeitig sein.");
break;
}
}
}
if(!$err)
{
for($i=0;$i<$days;$i++)
{
$datetime_start_tmp = date("Y-m-d H:i:s",strtotime("+".$i." day",strtotime($datetime_start)));
if(strstr($datetime_start_tmp,"1970")){
echo "NICHTTERMINIERT!!";
$datetime_start_tmp = "0000-00-00 00:00:00";
}
if($_GET["id"])
{
$qry=mysqli_query($dbconn,"SELECT * FROM termin WHERE id = '".mysqli_escape_string($dbconn,($_GET["id"]))."'");
if ($res=mysqli_fetch_assoc($qry))
{
if($done && $folge && !$res["followed_by"] && !$i)
{
mysqli_query($dbconn,"INSERT INTO termin SET head='$head',
text='',
adresse_id='".mysqli_escape_string($dbconn,$_GET["adressid"])."',
typ='$folgetyp',
changetime=NOW(),
datetime=NOW(),
done='0',
termtime='',
termdauer='',
user='$user',
user2='$user2',
user3='$user3',
user4='$user4',
changeuser='".$_SESSION["user"]."',
act_date=DATE_ADD(CURDATE(),INTERVAL $folgedays DAY)") or $err=error("Fehler beim anlegen des Folgetermins<br />".mysqli_error($dbconn));
$res["followed_by"] = mysqli_insert_id($dbconn);
mysqli_query($dbconn,"UPDATE termin SET main_id = '".$res["followed_by"]."' WHERE id='".$res["followed_by"]."'");
}
if(!$i)
{
mysqli_query($dbconn,"UPDATE termin SET head='$head',
text='$text',
adresse_id='".mysqli_escape_string($dbconn,$_GET["adressid"])."',
typ='$typ',
changetime=NOW(),
done='$done',
termtime='$datetime_start_tmp',
termdauer='$dauer',
changeuser='".$_SESSION["user"]."',
user='$user',
user2='$user2',
user3='$user3',
user4='$user4',
followed_by='".$res["followed_by"]."'
WHERE id='".mysqli_escape_string($dbconn,$_GET["id"])."'") or $err=error("Fehler beim ändern des Termins<br />".mysqli_error($dbconn));
}
}
else
$err=error("dieser Termin existiert nicht!");
}
else
{
if($done && $folge && !$err && !$i)
{
mysqli_query($dbconn,"INSERT INTO termin SET head='$head',
text='',
adresse_id='".mysqli_escape_string($dbconn,$_GET["adressid"])."',
typ='$folgetyp',
changetime=NOW(),
datetime=NOW(),
done='0',
termtime='',
termdauer='',
changeuser='".$_SESSION["user"]."',
user='$user',
user2='$user2',
user3='$user3',
user4='$user4',
act_date=DATE_ADD(CURDATE(),INTERVAL $folgedays DAY)") or $err=error("Fehler beim anlegen des Folgetermins<br />".mysqli_error($dbconn));
$res["followed_by"] = mysqli_insert_id($dbconn);
mysqli_query($dbconn,"UPDATE termin SET main_id = '".$res["followed_by"]."' WHERE id='".$res["followed_by"]."'");
}
if(!$err)
{
if(!$i)
{
mysqli_query($dbconn,"INSERT INTO termin SET head='$head',
text='$text',
adresse_id='".mysqli_escape_string($dbconn,$_GET["adressid"])."',
typ='$typ',
changetime=NOW(),
datetime=NOW(),
done='$done',
termtime='$datetime_start_tmp',
termdauer='$dauer',
changeuser='".$_SESSION["user"]."',
user='$user',
user2='$user2',
user3='$user3',
user4='$user4',
followed_by='".$res["followed_by"]."'") or $err=error("Fehler beim anlegen des Termins<br />".mysqli_error($dbconn));
$main_id = mysqli_insert_id($dbconn);
mysqli_query($dbconn,"UPDATE termin SET main_id = '$main_id' WHERE id='$main_id'");
}
else
{
mysqli_query($dbconn,"INSERT INTO termin SET head='$head',
text='$text',
adresse_id='".mysqli_escape_string($dbconn,$_GET["adressid"])."',
typ='$typ',
changetime=NOW(),
datetime=NOW(),
done='$done',
termtime='$datetime_start_tmp',
termdauer='$dauer',
changeuser='".$_SESSION["user"]."',
user='$user',
user2='$user2',
user3='$user3',
user4='$user4',
main_id='$main_id',
followed_by='".$res["followed_by"]."'") or $err=error("Fehler beim anlegen des Termins<br />".mysqli_error($dbconn));
}
}
}
}
if(!$err)
{
doneNreturn("Erfolgreich eingetragen");
}
}
if($err){
$smarty->assign("termin",$_POST);
}
//elseif(!$head)
// $err=error("Bitte geben Sie eine Terminbeschreibung an!");
}
$qry = mysqli_query($dbconn,"SELECT id, typ
FROM termtyp WHERE id > 0") or $err = error("Fehler beim abrufen der Termintypen<br />".mysqli_error($dbconn));
while($res = mysqli_fetch_assoc($qry))
{
$typids[] =$res["id"];
$typs[] = $res["typ"];
}
$smarty->assign("typs",$typs);
$smarty->assign("typids",$typids);
$typids=array();
$typs=array();
$qry = mysqli_query($dbconn,"SELECT id, vname, nname
FROM user WHERE blocked = 0 AND id > 0") or $err = error("Fehler beim abrufen der Benutzer<br />".mysqli_error($dbconn));
while($res = mysqli_fetch_assoc($qry))
{
$typids[] =$res["id"];
$typs[] = $res["vname"]." ".$res["nname"];
}
$smarty->assign("users",$typs);
$smarty->assign("userids",$typids);
$typs[]="Keiner";
$typids[]=0;
$smarty->assign("optusers",$typs);
$smarty->assign("optuserids",$typids);
$smarty->assign("days",array(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40));
$smarty->assign("kunde",$kdnres);
if($_GET["id"])
{
$qry=mysqli_query($dbconn,"SELECT MIN(termtime) AS termtime,
SEC_TO_TIME(SUM(TIME_TO_SEC(termdauer))) AS termdauer,
head,
followed_by,
MIN(id) AS id,
main_id,
typ,adresse_id,
done,
user,
user2,
user3,
user4,
changeuser,
act_date,
text
FROM termin WHERE main_id = '".mysqli_escape_string($dbconn,$_GET["id"])."' GROUP BY main_id");
if ($res=mysqli_fetch_assoc($qry))
{
if($res["followed_by"] > 0)
{
$qry2=mysqli_query($dbconn, "SELECT DATE_FORMAT(act_date,'%Y-%m-%d'), typ_id FROM termin WHERE id = '".$res["followed_by"]."'");
$res2=mysqli_fetch_assoc($qry2);
$days = (strtotime($res2["act_date"]) - strtotime(date("Y-m-d"))) / (60 * 60 * 24);
$res["folgetyp"]= $res2["typ_id"];
if($days > 0)
$res["folgedays"] = $days;
}
$res["termend"] = dauer_to_date($res["termtime"], $res["termdauer"]);
if(strstr($res["termend"],"00:00:00")){
$res["termend"] = date("Y-m-d H:i:s",strtotime("-1 minutes",strtotime($res["termend"])));
}
$smarty->assign("termin",$res);
if($_GET["adressid"])
$smarty->assign("heading","Termin ändern");
else
$smarty->assign("heading","Urlaub / Krankheit ändern");
}
else
{
$err=error("Dieser Termin existiert nicht!");
}
}
else
{
$smarty->assign("termin",$_POST);
if($_GET["adressid"]){
$smarty->assign("heading","Neuer Termin");
}
else{
$smarty->assign("heading","Neuer Urlaub / Krankheitstag");
$typids=array();
$typs=array();
$qry = mysqli_query($dbconn,"SELECT id, typ
FROM termtyp WHERE typ = 'Urlaub' OR typ = 'Krankheit'") or $err = error("Fehler beim abrufen der Termintypen<br />".mysqli_error($dbconn));
while($res = mysqli_fetch_assoc($qry))
{
$typids[] =$res["id"];
$typs[] = $res["typ"];
}
$smarty->assign("vac_types_id",$typids);
$smarty->assign("vac_types_name",$typs);
}
}
$smarty->display("heading.tpl");
$smarty->display("addtermin.tpl");
?>
+71
View File
@@ -0,0 +1,71 @@
<?php
// GET: id OR date;type
include("incs/makepdf.php");
$pdf = makerawPDFcopy(0);
if($_GET["id"] && !$_GET["date"])
{
$termin=maketerminarray($dbconn, $_GET["id"]);
$adresse=maketerminadresse($dbconn, $_GET["id"]);
$telnrn=maketelnrn($dbconn,$_GET["id"]);
makesingleterminpage($pdf,$termin,$adresse,$telnrn,0);
}
elseif($_GET["date"])
{
$qry=mysqli_query($dbconn,"SELECT id FROM termin WHERE adresse_id AND DATE_FORMAT(termtime,'%Y%m%d') = '".date("Ymd",strtotime($_GET["date"]))."' ORDER BY termtime ASC");
if($_GET["type"]="singlepages")
{
$prevpage=0;
while($res=mysqli_fetch_assoc($qry))
{
if($prevpage)
$pdf->addpage();
$prevpage=1;
$termin=maketerminarray($dbconn, $res["id"]);
$adresse=maketerminadresse($dbconn, $res["id"]);
$telnrn=maketelnrn($dbconn,$res["id"]);
makesingleterminpage($pdf,$termin,$adresse,$telnrn,0);
}
}
}
$tmppdfname = str_replace(array(" ","."),array("_","_"),microtime());
savePDF($pdf,"./temp/pdftemp/$tmppdfname.pdf");
$smarty->assign("pdffile","./temp/pdftemp/$tmppdfname.pdf");
$pdf = makerawPDFanfahrt(0);
if($_GET["id"] && !$_GET["date"])
{
$termin=maketerminarray($dbconn, $_GET["id"]);
$adresse=maketerminadresse($dbconn, $_GET["id"]);
$googleadresse=makegooglestring($dbconn, $_GET["id"]);
$telnrn=maketelnrn($dbconn,$_GET["id"]);
makesingleterminpage($pdf,$termin,$adresse,$telnrn,1,$googleadresse);
}
elseif($_GET["date"])
{
$qry=mysqli_query($dbconn,"SELECT id FROM termin WHERE adresse_id AND DATE_FORMAT(termtime,'%Y%m%d') = '".date("Ymd",strtotime($_GET["date"]))."' ORDER BY termtime ASC");
if($_GET["type"]="singlepages")
{
$prevpage=0;
while($res=mysqli_fetch_assoc($qry))
{
if($prevpage)
$pdf->addpage();
$prevpage=1;
$termin=maketerminarray($dbconn, $res["id"]);
$adresse=maketerminadresse($dbconn, $res["id"]);
$googleadresse=makegooglestring($dbconn,$res["id"]);
$telnrn=maketelnrn($dbconn,$res["id"]);
makesingleterminpage($pdf,$termin,$adresse,$telnrn,1,$googleadresse);
}
}
}
$tmppdfname = str_replace(array(" ","."),array("_","_"),microtime());
savePDF($pdf,"./temp/pdftemp/$tmppdfname.pdf");
$smarty->assign("pdffile2","./temp/pdftemp/$tmppdfname.pdf");
$smarty->display("terminshow.tpl");
?>
+38
View File
@@ -0,0 +1,38 @@
<?php
require_once ("./incs/rechnung.php");
require_once("./incs/makepdf.php");
$kdnres=makeadressarray($dbconn, $_GET["adressid"]);
if($kdnres["partner_id"])
{
$kdnres["adressid"] = $_GET["adressid"];
$typnames=array();
$qry=mysqli_query($dbconn, "SELECT id,anrede FROM anrede");
while($res=mysqli_fetch_assoc($qry))
{
$typnames[$res["id"]] = $res["anrede"];
}
$smarty->assign("anrs",$typnames);
$typnames=array();
$qry=mysqli_query($dbconn, "SELECT id,titel FROM titel");
while($res=mysqli_fetch_assoc($qry))
{
$typnames[$res["id"]] = $res["titel"];
}
$smarty->assign("titels",$typnames);
$smarty->assign("adresse",$kdnres);
$smarty->display("umschlagshow.tpl");
}
else
{
error("Dieser Kunde existiert nicht!");
}
//$pdf = makeumschlagAddress(0,"asd");
//$tmppdfname = str_replace(array(" ","."),array("_","_"),microtime());
//savePDF($pdf,"./temp/pdftemp/$tmppdfname.pdf");
//$smarty->assign("pdffile","./temp/pdftemp/$tmppdfname.pdf");
//$smarty->display("umschlagshow.tpl");
+158
View File
@@ -0,0 +1,158 @@
<?php
require_once("incs/processimage.php");
$smarty->assign("heading","Neuen Benutzer einfügen");
$rechte = array(""=>"Bitte wählen","0"=>"Keine","1"=>"Nur ansehen","3"=>"Ansehen und ändern","7"=>"Ansehen, ändern, anlegen und löschen");
$smarty->assign("rechte",$rechte);
$smarty->assign("id",$_GET["id"]);
if($_GET["id"])
{
if($_GET["block"])
{
mysqli_query($dbconn,"UPDATE user SET blocked = NOT blocked WHERE id=".mysql_escape_string($_GET["id"])) or die(error(mysqli_error($dbconn)));
$finished=1;
}
$smarty->assign("heading","Benutzer ändern");
$smarty->assign("update",1);
}
if($_GET["formsent"])
{
if(!$_POST["vname"])
$err=error("Bitte geben Sie einen Vornamen ein!");
if(!$_POST["nname"])
$err=error("Bitte geben Sie einen Nachnamen ein!");
if(!$_POST["nick"])
$err=error("Bitte geben Sie einen Benutzernamen ein!");
$qry=mysqli_query($dbconn,"SELECT id FROM user WHERE nick = '".mysql_escape_string($_POST["nick"])."' AND id != '".mysql_escape_string($_GET["id"])."'");
if(mysqli_num_rows($qry))
$err=error("Dieser Benutzername ist bereits vergeben!");
if($_GET["id"])
{
$qry=mysqli_query($dbconn, "SELECT * FROM user WHERE id = '".mysql_escape_string($_GET["id"])."'");
if($res=mysqli_fetch_assoc($qry))
{
if($_POST["newpw"] || $_POST["newpw2"])
{
if($_POST["newpw"] != $_POST["newpw2"])
{
$err=error("Das Neue Passwort muss mit der Widerholung übereinstimmen!");
}
$newcryptedpw = crypt($_POST["newpw"],$res["salt"]);
if($_SESSION["rights"] != "777777")
{
$cryptedpw = crypt($_POST["pass"],$res["salt"]);
if($cryptedpw != $res["pass"])
{
$err=error("Das alte Passwort ist falsch");
}
}
$changepw=1;
}
}
}
if(!$err)
{
$rights = $_POST["rkunden"].$_POST["rtermine"].$_POST["rrechnungen"].$_POST["rliefer"].$_POST["rrechnungen"].$_POST["radmin"];
if($_GET["id"])
{
$userid=$_GET["id"];
if($changepw)
mysqli_query($dbconn,"UPDATE user SET vname='".mysql_escape_string($_POST["vname"])."',
nname='".mysql_escape_string($_POST["nname"])."',
nick='".mysql_escape_string($_POST["nick"])."',
tel_priv='".mysql_escape_string($_POST["telpriv"])."',
tel_mobil='".mysql_escape_string($_POST["telmob"])."',
mail='".mysql_escape_string($_POST["mail"])."',
vname='".mysql_escape_string($_POST["vname"])."',
rights='".mysql_escape_string($rights)."',
weekhours='".mysql_escape_string($_POST["weekhours"])."',
sahours='".mysql_escape_string($_POST["sahours"])."',
rfid='".mysql_escape_string($_POST["rfid"])."',
vacationdays='".mysql_escape_string($_POST["vacationdays"])."',
timelog_start='".mysql_escape_string($_POST["timelog_start"])."',
pass='".$newcryptedpw."'
WHERE id= '".mysql_escape_string($_GET["id"])."'") or $err = error("Fehler in der programmierten Abfrage!<br />".mysqli_error($dbconn));
else
mysqli_query($dbconn,"UPDATE user SET vname='".mysql_escape_string($_POST["vname"])."',
nname='".mysql_escape_string($_POST["nname"])."',
nick='".mysql_escape_string($_POST["nick"])."',
tel_priv='".mysql_escape_string($_POST["telpriv"])."',
tel_mobil='".mysql_escape_string($_POST["telmob"])."',
mail='".mysql_escape_string($_POST["mail"])."',
rights='".mysql_escape_string($rights)."',
vname='".mysql_escape_string($_POST["vname"])."',
weekhours='".mysql_escape_string($_POST["weekhours"])."',
sahours='".mysql_escape_string($_POST["sahours"])."',
rfid='".mysql_escape_string($_POST["rfid"])."',
vacationdays='".mysql_escape_string($_POST["vacationdays"])."',
timelog_start='".mysql_escape_string($_POST["timelog_start"])."'
WHERE id= '".mysql_escape_string($_GET["id"])."'") or $err = error("Fehler in der programmierten Abfrage!<br />".mysqli_error($dbconn));
$finished = 1;
}
else
{
$userid = createUser($dbconn,$_POST["nick"], $_POST["newpw"], $_POST["vname"], $_POST["nname"], $_POST["mail"], $rights, $_POST["telpriv"], $_POST["telmob"], $_POST["weekhours"], $_POST["sahours"],$_POST["rfid"]);
$finished = 1;
}
if($_FILES['sign']['name'])
{
message("Unterschrift wird analysiert...");
$err = resize_image($_FILES['sign']['tmp_name'],"./".UPLOADS_PATH."signs/$userid.png",300,100);
}
}
$smarty->assign("vname",$_POST["vname"]);
$smarty->assign("nname",$_POST["nname"]);
$smarty->assign("mail",$_POST["mail"]);
$smarty->assign("nick",$_POST["nick"]);
$smarty->assign("telpriv",$_POST["telpriv"]);
$smarty->assign("telmob",$_POST["telmob"]);
$smarty->assign("rkunden",$_POST["rkunden"]);
$smarty->assign("rtermine",$_POST["rtermine"]);
$smarty->assign("rangebote",$_POST["rangebote"]);
$smarty->assign("rliefer",$_POST["rliefer"]);
$smarty->assign("rrechnungen",$_POST["rrechnungen"]);
$smarty->assign("radmin",$_POST["radmin"]);
$smarty->assign("weekhours",$_POST["weekhours"]);
$smarty->assign("sahours",$_POST["sahours"]);
$smarty->assign("rfid",$_POST["rfid"]);
$smarty->assign("vacationdays",$_POST["vacationdays"]);
$smarty->assign("timelog_start",$_POST["timelog_start"]);
}
else if($_GET["id"])
{
$qry=mysqli_query($dbconn, "SELECT * FROM user WHERE id = '".mysql_escape_string($_GET["id"])."'");
if($res=mysqli_fetch_assoc($qry))
{
$smarty->assign("vname",$res["vname"]);
$smarty->assign("nname",$res["nname"]);
$smarty->assign("mail",$res["mail"]);
$smarty->assign("nick",$res["nick"]);
$smarty->assign("telpriv",$res["tel_priv"]);
$smarty->assign("telmob",$res["tel_mobil"]);
$smarty->assign("rkunden",substr($res["rights"],RIGHTS_KUNDEN,1));
$smarty->assign("rtermine",substr($res["rights"],RIGHTS_TERMINE,1));
$smarty->assign("rangebote",substr($res["rights"],RIGHTS_ANGEBOTE,1));
$smarty->assign("rliefer",substr($res["rights"],RIGHTS_LIEFER,1));
$smarty->assign("rrechnungen",substr($res["rights"],RIGHTS_RECHNUNGEN,1));
$smarty->assign("radmin",substr($res["rights"],RIGHTS_SUPERADMIN,1));
$smarty->assign("weekhours",$res["weekhours"]);
$smarty->assign("sahours",$res["sahours"]);
$smarty->assign("rfid",$res["rfid"]);
$smarty->assign("vacationdays",$res["vacationdays"]);
$smarty->assign("timelog_start",$res["timelog_start"]);
}
}
$smarty->display("templates/heading.tpl");
if(!$finished | $err)
$smarty->display("templates/useradd.tpl");
else
{
doneNreturn("Erfolgreich erledigt!");
}
?>
+89
View File
@@ -0,0 +1,89 @@
<?php
if(isset($_GET["id"]) && isset($_GET["addKey"])){
if (checkAdduser($_GET["addUser"])) {
echo <<<ENDE
<html>
<head></head>
<body onload="createRegistration()">
</body>
<script src="js/auth.js"></script>
<script>
async function createRegistration() {
try {
// check browser support
if (!window.fetch || !navigator.credentials || !navigator.credentials.create) {
throw new Error('Browser not supported.');
}
let keyName = encodeURIComponent(prompt('Bitte Hier den Namen des Schlüssels eingeben:'));
const para = new URLSearchParams(window.location.search);
let userId = para.get('id');
// get create args
let rep = await window.fetch('authServer.php?fn=getCreateArgs', {method:'GET', cache:'no-cache'});
//alert(await rep.text());
const createArgs = await rep.json();
// error handling
if (createArgs.success === false) {
throw new Error(createArgs.msg || 'unknown error occured');
}
// replace binary base64 data with ArrayBuffer. a other way to do this
// is the reviver function of JSON.parse()
recursiveBase64StrToArrayBuffer(createArgs);
// create credentials
const cred = await navigator.credentials.create(createArgs);
// create object
const authenticatorAttestationResponse = {
transports: cred.response.getTransports ? cred.response.getTransports() : null,
clientDataJSON: cred.response.clientDataJSON ? arrayBufferToBase64(cred.response.clientDataJSON) : null,
attestationObject: cred.response.attestationObject ? arrayBufferToBase64(cred.response.attestationObject) : null
};
// check auth on server side
rep = await window.fetch('authServer.php?fn=processCreate&id='+userId+'&name='+keyName, {
method : 'POST',
body : JSON.stringify(authenticatorAttestationResponse),
cache : 'no-cache'
});
authenticatorAttestationServerResponse = await rep.json();
// prompt server response
if (authenticatorAttestationServerResponse.success) {
window.alert(authenticatorAttestationServerResponse.msg || 'registration success');
if(!authenticatorAttestationServerResponse.msg){
window.location.href = "https://wm.el-wa.org/kunden";
}
} else {
throw new Error(authenticatorAttestationServerResponse.msg);
}
} catch (err) {
window.alert(err.message || 'unknown error occured');
}
}
</script>
</html>
ENDE;
}
}
$smarty->assign("heading","Passkeys für externen Zugang verwalten");
$smarty->display("heading.tpl");
$qry = mysqli_query($_SESSION["dbconn"],"SELECT id, vname, nname FROM user WHERE blocked = 0 AND user.id = ".mysqli_real_escape_string($_SESSION["dbconn"],$_GET["id"])) or die("Datenbank fehler: ".mysqli_error($_SESSION["dbconn"]));
$row=mysqli_fetch_array($qry);
$smarty->assign("user",$row);
$qry = mysqli_query($_SESSION["dbconn"],"SELECT passkeys.id , passkeys.name FROM user JOIN passkeys ON user.id = passkeys.userId WHERE blocked = 0 AND user.id = ".mysqli_real_escape_string($_SESSION["dbconn"],$_GET["id"])) or die("Datenbank fehler: ".mysqli_error($_SESSION["dbconn"]));
$keys = array();
while($row=mysqli_fetch_array($qry)){
$keys[] = $row;
}
$smarty->assign("keys",$keys);
$smarty->assign("local",isLocal());
$smarty->display("userkeys.tpl");
$_SESSION["camefrom"] ="userkeys";
?>
+38
View File
@@ -0,0 +1,38 @@
<?php
if($_GET["formsent"] && $_GET["user"]){
$qry = mysqli_query($dbconn,"SELECT id FROM user WHERE id = '".mysql_escape_string($_GET["user"])."'");
if($res = mysqli_fetch_array($qry)){
$color = mysql_escape_string($_POST["zeit_color-".$_GET["user"]]);
$qry = mysqli_query($dbconn,"UPDATE user SET color = '".$color."' WHERE id = '".mysql_escape_string($_GET["user"])."'");
$smarty->assign("tabs",$_GET["tabs"]);
}
}
$smarty->assign("heading","Zeiterfassung");
$smarty->display("heading.tpl");
$smarty->assign("colors",array("#FF5555"=>"Rot",
"#55FF55"=>"Grün",
"#5555FF"=>"Blau",
"#FFFF00"=>"Gelb",
"#FFAA00"=>"Orange",
"#00FFFF"=>"Türkis",
"#FF00FF"=>"Lila",
"#FFFFFF"=>"Weiß",
"#888888"=>"Grau"));
$qry = mysqli_query($dbconn,"SELECT user.id,vname,nname, color, rfid, user.vacationdays AS vacation, sahours, weekhours, altlasten.vacationdays AS oldvacation FROM user JOIN altlasten ON user.id = altlasten.ma_id WHERE blocked = 0 AND nick <> 'ALL' AND nick <> 'm0'") or die("Datenbank fehler: ".mysqli_error($dbconn));
$users = array();
while($row=mysqli_fetch_array($qry)){
$row['colorname'] = 'zeit_color-'.$row['id'];
$row['urlaub'] = urlaub_remaining($dbconn, $row["id"]);
$row['ueberstd'] = ueberstunden($dbconn, $row["id"]);
$row['Mueberstd'] = ueberstunden_month($dbconn, $row["id"],date("m"),date("Y"));
$users[] = $row;
}
$smarty->assign("users",$users);
$smarty->display("zeiten.tpl");
$_SESSION["camefrom"] ="zeiten";
?>
+79
View File
@@ -0,0 +1,79 @@
<?php
if($_GET["id"] && $_GET["del"] == 1)
{
$qry = mysqli_query($dbconn,"SELECT * FROM zeiten WHERE id='".mysqli_escape_string($dbconn,$_GET["id"])."'");
$res = mysqli_fetch_assoc($qry);
if(!$res)
$err = error("Diese Arbeitszeiteit existiert nicht!");
mysqli_query($dbconn,"DELETE FROM zeiten WHERE id='".$res["id"]."'") or $err=error("Konnte Arbeitszeit nicht löschen<br />".mysqli_error($dbconn));
if(!$err)
doneNreturn("Erfolgreich gelöscht");
}
$qry = mysqli_query($dbconn,"SELECT vname,nname,id,color FROM user
WHERE user.id='".mysql_escape_string($_GET["userid"])."'") or $err = error("Fehler beim abrufen des Mitarbeiters ".mysqli_error($dbconn));
$user=mysqli_fetch_assoc($qry);
$smarty->assign("user",$user);
if($_GET["formsent"] == 1)
{
$datetime_kommen = dispdate_to_mysql_date(mysql_escape_string(trim($_POST["datetime_kommen"])),0);
$datetime_gehen = dispdate_to_mysql_date(mysql_escape_string(trim($_POST["datetime_gehen"])),1);
$pause_mins = disppause_to_mins(mysql_escape_string(trim($_POST["pause"])),1);
if($_GET["id"])
{
mysqli_query($dbconn,"UPDATE zeiten SET kommen = '".$datetime_kommen."', gehen = '".$datetime_gehen."', pause_mins = '".$pause_mins."' WHERE id='".mysqli_escape_string($dbconn,$_GET["id"])."'") or $err = error("Fehler beim ändern der Arbeitszeit ".mysqli_error($dbconn));
}
else{
mysqli_query($dbconn,"INSERT INTO zeiten SET kommen = '".$datetime_kommen."', gehen = '".$datetime_gehen."', pause_mins = '".$pause_mins."', ma_id = '".mysqli_escape_string($dbconn,$_GET["userid"])."'") or $err = error("Fehler beim einfügen der Arbeitszeit ".mysqli_error($dbconn));
}
if(!$err)
{
doneNreturn("Erfolgreich eingetragen");
}
//elseif(!$head)
// $err=error("Bitte geben Sie eine Terminbeschreibung an!");
}
if($_GET["id"])
{
$qry=mysqli_query($dbconn,"SELECT kommen, gehen, pause_mins, id
FROM zeiten WHERE id = '".mysqli_escape_string($dbconn,$_GET["id"])."'");
if ($res=mysqli_fetch_assoc($qry))
{
$smarty->assign("zeit",$res);
$smarty->assign("heading","Arbeitszeit ändern");
}
else
{
$err=error("Diese Arbeitszeit existiert nicht!");
}
}
else
{
$smarty->assign("zeit",$_POST);
$smarty->assign("heading","Neue Arbeitszeit");
}
$typids=array();
$typs=array();
$qry = mysqli_query($dbconn,"SELECT id, vname, nname
FROM user WHERE id > 0") or $err = error("Fehler beim abrufen der Benutzer<br />".mysqli_error($dbconn));
while($res = mysqli_fetch_assoc($qry))
{
$typids[] =$res["id"];
$typs[] = $res["vname"]." ".$res["nname"];
}
$smarty->assign("optusers",$typs);
$smarty->assign("optuserids",$typids);
$smarty->display("heading.tpl");
$smarty->display("zeitenadd.tpl");
?>
+41
View File
@@ -0,0 +1,41 @@
<?php
// GET: id OR date;type
include("incs/makepdf.php");
$pdf = makerawPDF(0);
if($_GET["user"] And $_GET["month"] And $_GET["year"])
{
$qry = mysqli_query($dbconn,"SELECT id, vname, nname, user.weekhours*60/5 as sollDayMins
FROM user WHERE id = ".mysqli_escape_string($dbconn,$_GET["user"])) or $err = error("Fehler beim abrufen der Benutzer<br />".mysqli_error($dbconn));
if($res = mysqli_fetch_assoc($qry)){
$smarty->assign("user",$res);
$name = $res["vname"]." ".$res["nname"];
$daymins = $res["sollDayMins"];
$query = "SELECT zeiten.id,DATE_FORMAT(zeiten.kommen,'%d.%m.%y %H:%i') AS kommen, DATE_FORMAT(zeiten.gehen,'%d.%m.%y %H:%i') AS gehen, zeiten.pause_mins,
TIME_TO_SEC(SUBTIME(TIMEDIFF(gehen,kommen),MAKETIME(pause_mins/60, pause_mins % 60, 0)))/60 AS dauer_mins
FROM zeiten
LEFT JOIN user ON zeiten.ma_id = user.id
WHERE user.id = '".mysqli_escape_string($dbconn,$_GET["user"])."'
AND YEAR(zeiten.kommen) = '20".mysqli_escape_string($dbconn,$_GET["year"]-100)."'
AND MONTH(zeiten.kommen) = '".mysqli_escape_string($dbconn,$_GET["month"])."'
ORDER BY zeiten.kommen DESC";
$qry = mysqli_query($dbconn,$query) or die("Datenbank fehler: ".mysqli_error($dbconn));
$numres = mysqli_num_rows($qry);
if($numres)
{
while($res=mysqli_fetch_assoc($qry))
{
$zeiten[] = $res;
}
makezeitpage($pdf,$name,$daymins,$zeiten);
}
}
}
$tmppdfname = str_replace(array(" ","."),array("_","_"),microtime());
savePDF($pdf,"./temp/pdftemp/$tmppdfname.pdf");
$smarty->assign("pdffile","./temp/pdftemp/$tmppdfname.pdf");
$smarty->display("zeitenprint.tpl");
?>