Kunden und Adressen auf Prepared Statements umgebaut
incs/saveNchange.php neu geschrieben: Adressen, Telefonnummern, Kontakte, Notizen und Konten laufen ueber db_abfrage() mit Platzhaltern, mehrschrittiges Speichern in einer Transaktion. Weil sich die Speicherfunktionen gegenseitig aufrufen, klammern beginneSpeichern()/beendeSpeichern() die Verschachtelung; incs/rechnung.php nutzt sie ebenfalls. Kunden- und Lieferantenseiten waren zwei fast gleiche Kopien und teilen sich jetzt partnerAddSeite(), partnerChangeSeite() und partnerShowDaten(). Dabei behoben: - SQL-Injektion ueber die Suchbegriffe der Kunden-, Lieferanten-, Adress-, Kommissions- und Projektsuche sowie ueber die Artikel-Autovervollstaendigung - gespeichertes XSS: Notizen (nl2br escapt nicht), Bankname, Dokumenttyp, Namen und Adressen in allen Trefferlisten - sites/liefershow.php war unter PHP 8 ein Fatal ($kdnres.id) - "Telefonnummer loeschen" im Kundenbereich lief in einen Fatal, die Nummern einer geloeschten Adresse blieben stehen (Spalte hiess adress_id statt adresse_id, mysql_fetch_assoc gibt es nicht mehr) - Geburtstag ohne Jahr wurde im Formular verschluckt, die IBAN kam beim Bearbeiten aus $_GET statt aus dem Konto - die Versionskette eines Kunden brach nach einem Schritt ab - Kommissionsadressen speicherten die Ortsangabe der Adresse statt der des Telefonformulars und einen Adresstyp als Telefontyp - Blaettern in den Trefferlisten: ohne ORDER BY konnte dieselbe Zeile zweimal oder gar nicht erscheinen; ajax_searchadress() bekam die Seite nicht - Hauptadresse laesst sich nicht mehr loeschen, Kundendaten nicht mehr ueber die Lieferantenseite (und umgekehrt) - ajax/auto/* baute JSON von Hand zusammen, ein Anfuehrungszeichen im Ort machte die Liste unbrauchbar Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -91,12 +91,14 @@ Eine Schemaänderung besteht also aus: neuer Eintrag **vorn** in `update/version
|
|||||||
Regeln für den Umbau:
|
Regeln für den Umbau:
|
||||||
|
|
||||||
- **Ergebnisse sind Strings** wie früher bei `mysqli_query()`: `db_zeilen()`, `db_zeile()`, `db_wert()` und `db_zuordnung()` wandeln die nativen int/float-Werte der Prepared Statements um. Wer `db_abfrage()` selbst ausliest, bekommt native Typen.
|
- **Ergebnisse sind Strings** wie früher bei `mysqli_query()`: `db_zeilen()`, `db_zeile()`, `db_wert()` und `db_zuordnung()` wandeln die nativen int/float-Werte der Prepared Statements um. Wer `db_abfrage()` selbst ausliest, bekommt native Typen.
|
||||||
- **Formularwerte** über `formularText()`, `formularZahl()` (Komma als Dezimaltrenner, leer wird 0) und `formularGanzzahl()` aus `incs/rechnung.php` holen – der strikte Modus lehnt `''` in Zahlenspalten ab.
|
- **Formularwerte** über `formularText()`, `formularZahl()` (Komma als Dezimaltrenner, leer wird 0) und `formularGanzzahl()` aus `incs/saveNchange.php` holen – der strikte Modus lehnt `''` in Zahlenspalten ab.
|
||||||
- **Änderungsprotokoll:** `saveLog()` bekommt den Text aus `db_sql_text()`. Die Tabelle `log` ist reine Dokumentation, nichts daraus wird ausgeführt.
|
- **Änderungsprotokoll:** `saveLog()` bekommt den Text aus `db_sql_text()`. Die Tabelle `log` ist reine Dokumentation, nichts daraus wird ausgeführt.
|
||||||
- **Mehrschrittiges Speichern** in eine Transaktion (`mysqli_begin_transaction` / `commit` / `rollback`), damit bei Fehlern keine halben Datensätze bleiben.
|
- **Mehrschrittiges Speichern** in eine Transaktion, damit bei Fehlern keine halben Datensätze bleiben — aber über `beginneSpeichern()` / `beendeSpeichern()` aus `incs/saveNchange.php`, nicht über `mysqli_begin_transaction()` direkt. Die Speicherfunktionen rufen sich gegenseitig auf (`savePart()` → `saveAdress()` → `updateKunde()` → `saveAdress()`, `loeschePartner()` → `delRechnung()`), MariaDB kennt aber keine geschachtelten Transaktionen; ein Zähler sorgt dafür, dass nur der äußerste Aufruf öffnet und schließt.
|
||||||
- **Tabellen- und Spaltennamen** lassen sich nicht binden; nur feste Werte aus dem Code einsetzen, `LIMIT` als `(int)`.
|
- **Tabellen- und Spaltennamen** lassen sich nicht binden; nur feste Werte aus dem Code einsetzen, `LIMIT` als `(int)`.
|
||||||
|
- **Suchabfragen** (`create*Qry()` in `incs/listfuncs.php`) liefern `array("all", "limited", "params")`. Aufrufer nutzen `db_abfrage($dbconn, $q["limited"], $q["params"])` und `zaehleTreffer()`. Die Suchbegriffe sind Platzhalterwerte, `%` und `_` darin bleiben absichtlich Jokerzeichen — so ist die Suche dokumentiert. In der Autovervollständigung (`ajax/auto/`) werden sie dagegen über `db_like_praefix()` entwertet.
|
||||||
|
- **Werte aus der Datenbank sind kein HTML.** `GROUP_CONCAT` trennt mit einem Zeilenumbruch; zusammengebaut und escaped wird erst in `zeilenHtml()` bzw. `makenameline()`/`makeadressline()`/`maketelline()`.
|
||||||
|
|
||||||
Umgebaut: Login/Passkeys, Benutzereinstellungen, Änderungsprotokoll, Rechnungsmodul (`incs/rechnung.php`, `sites/rechnungadd.php`, `sites/umschlagshow.php`, `ajax/autosave.php`, `ajax/preview.php`, Rechnungssuche). Offen: Kunden/Adressen (`incs/saveNchange.php`), Termine, Projekte, Zeiten, Benutzerverwaltung, übrige Suchen, `incs/makepdf.php`, `update/`.
|
Umgebaut: Login/Passkeys, Benutzereinstellungen, Änderungsprotokoll, Rechnungsmodul (`incs/rechnung.php`, `sites/rechnungadd.php`, `sites/umschlagshow.php`, `ajax/autosave.php`, `ajax/preview.php`, Rechnungssuche), Kunden und Lieferanten (`incs/saveNchange.php` samt `sites/kunden*.php`, `sites/liefer*.php`, Kunden-, Lieferanten-, Adress- und Kommissionssuche, `ajax/auto/`). Offen: Termine, Projekte, Zeiten, Benutzerverwaltung, `incs/makepdf.php`, `update/`.
|
||||||
|
|
||||||
Prozedurales `mysqli`. `$dbconn` wird zusätzlich in `$_SESSION["dbconn"]` abgelegt, damit `incs/mysql_ecape_wrapper.php` eine globale Funktion `mysql_escape_string()` als Shim über diese Verbindung bereitstellen kann — ein Überbleibsel der `mysql_*`-Ära, das in altem Code noch aufgerufen wird.
|
Prozedurales `mysqli`. `$dbconn` wird zusätzlich in `$_SESSION["dbconn"]` abgelegt, damit `incs/mysql_ecape_wrapper.php` eine globale Funktion `mysql_escape_string()` als Shim über diese Verbindung bereitstellen kann — ein Überbleibsel der `mysql_*`-Ära, das in altem Code noch aufgerufen wird.
|
||||||
|
|
||||||
|
|||||||
+40
-44
@@ -1,50 +1,46 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
require_once("./connectmysql.php");
|
require_once("./connectmysql.php");
|
||||||
|
require_once("./autofuncs.php");
|
||||||
|
|
||||||
if(!$err)
|
/*
|
||||||
|
* Artikel-Autovervollständigung für das Rechnungsformular: je Bezeichnung
|
||||||
|
* der zuletzt angelegte Artikel, dazu Preis und Eigenschaften aus seiner
|
||||||
|
* letzten Verwendung.
|
||||||
|
*/
|
||||||
|
if(!$err && autoBegriff() !== "")
|
||||||
{
|
{
|
||||||
if($_GET["term"])
|
$treffer = db_zeilen($dbconn, "SELECT MAX(artikel.id) AS id FROM artikel
|
||||||
{
|
|
||||||
$qry = mysqli_query($dbconn,"SELECT MAX(artikel.id) AS id FROM artikel
|
|
||||||
JOIN artikeltyp ON typ_id = artikeltyp.id
|
|
||||||
WHERE artikel.bezeichn LIKE '".$_GET["term"]."%' AND dropdown = 1 AND YEAR(artikel.datetime) >= YEAR(NOW())-1 GROUP BY artikel.bezeichn") or die(mysqli_error($dbconn));
|
|
||||||
if($tmpres=mysqli_fetch_array($qry))
|
|
||||||
{
|
|
||||||
$innerqry = mysqli_query($dbconn,"SELECT artikel.bezeichn, artikel.typ_id, artikel.einheit_id, artikel.id, artikel_rechn.preis, artikel_rechn.rech_id, artikel_rechn.posnr FROM artikel
|
|
||||||
JOIN artikeltyp ON typ_id = artikeltyp.id
|
|
||||||
JOIN artikel_rechn ON artikel.id = art_id
|
|
||||||
WHERE artikel.id = ".$tmpres["id"]." ORDER BY artikel_rechn.art_id DESC LIMIT 1") or die(mysqli_error($dbconn));
|
|
||||||
$res = mysqli_fetch_array($innerqry);
|
|
||||||
echo "[ ";
|
|
||||||
echo '{"value": "'.$res[0].'","typ": "'.$res[1].'","einh": "'.$res[2].'","preis": "'.number_format($res[4],2,",","").'","eig":[';
|
|
||||||
$qry2 = mysqli_query($dbconn,"SELECT bezeichn, wert, einheit_id FROM eigensch
|
|
||||||
JOIN artikel_eigensch ON eig_id = eigensch.id
|
|
||||||
WHERE art_id='".$res[3]."' AND rech_id='".$res[5]."' AND artposnr = '".$res[6]."' ORDER BY posnr ASC");
|
|
||||||
if($res2 = mysqli_fetch_array($qry2))
|
|
||||||
echo '{"des":"'.$res2[0].'","val":"'.$res2[1].'", "einh":"'.$res2[2].'"}';
|
|
||||||
while($res2=mysqli_fetch_array($qry2))
|
|
||||||
echo ',{"des":"'.$res2[0].'","val":"'.$res2[1].'", "einh":"'.$res2[2].'"}';
|
|
||||||
echo ']}';
|
|
||||||
while($tmpres=mysqli_fetch_array($qry))
|
|
||||||
{
|
|
||||||
$innerqry = mysqli_query($dbconn,"SELECT artikel.bezeichn, artikel.typ_id, artikel.einheit_id, artikel.id, artikel_rechn.preis, artikel_rechn.rech_id, artikel_rechn.posnr FROM artikel
|
|
||||||
JOIN artikeltyp ON typ_id = artikeltyp.id
|
JOIN artikeltyp ON typ_id = artikeltyp.id
|
||||||
JOIN artikel_rechn ON artikel.id = art_id
|
WHERE artikel.bezeichn LIKE ? AND dropdown = 1
|
||||||
WHERE artikel.id = ".$tmpres["id"]." ORDER BY artikel_rechn.art_id DESC LIMIT 1") or die(mysqli_error($dbconn));
|
AND YEAR(artikel.datetime) >= YEAR(NOW())-1
|
||||||
$res = mysqli_fetch_array($innerqry);
|
GROUP BY artikel.bezeichn LIMIT 25",
|
||||||
echo ',{"value": "'.$res[0].'","typ": "'.$res[1].'","einh": "'.$res[2].'","preis": "'.number_format($res[4],2,",","").'","eig":[';
|
array(db_like_praefix(autoBegriff())));
|
||||||
$qry2 = mysqli_query($dbconn,"SELECT bezeichn, wert, einheit_id FROM eigensch
|
|
||||||
JOIN artikel_eigensch ON eig_id = eigensch.id
|
$liste = array();
|
||||||
WHERE art_id='".$res[0]."' AND rech_id='".$res[5]."' AND artposnr = '".$res[6]."' ORDER BY posnr ASC");
|
foreach((array)$treffer as $t)
|
||||||
if($res2 = mysqli_fetch_array($qry2))
|
{
|
||||||
echo '{"des":"'.$res2[0].'","val":"'.$res2[1].'", "einh":"'.$res2[2].'"}';
|
$art = db_zeile($dbconn, "SELECT artikel.bezeichn, artikel.typ_id, artikel.einheit_id, artikel.id,
|
||||||
while($res2=mysqli_fetch_array($qry2))
|
artikel_rechn.preis, artikel_rechn.rech_id, artikel_rechn.posnr
|
||||||
echo ',{"des":"'.$res2[0].'","val":"'.$res2[1].'", "einh":"'.$res2[2].'"}';
|
FROM artikel
|
||||||
echo ']}';
|
JOIN artikeltyp ON artikel.typ_id = artikeltyp.id
|
||||||
}
|
JOIN artikel_rechn ON artikel.id = art_id
|
||||||
echo "]";
|
WHERE artikel.id = ? ORDER BY artikel_rechn.art_id DESC LIMIT 1",
|
||||||
}
|
array($t["id"]));
|
||||||
|
if(!$art)
|
||||||
|
continue;
|
||||||
|
$eigensch = db_zeilen($dbconn, "SELECT bezeichn AS des, wert AS val, einheit_id AS einh
|
||||||
|
FROM eigensch
|
||||||
|
JOIN artikel_eigensch ON eig_id = eigensch.id
|
||||||
|
WHERE art_id = ? AND rech_id = ? AND artposnr = ? ORDER BY posnr ASC",
|
||||||
|
array($art["id"], $art["rech_id"], $art["posnr"]));
|
||||||
|
$liste[] = array(
|
||||||
|
"value" => $art["bezeichn"],
|
||||||
|
"typ" => $art["typ_id"],
|
||||||
|
"einh" => $art["einheit_id"],
|
||||||
|
"preis" => number_format((float)$art["preis"], 2, ",", ""),
|
||||||
|
"eig" => $eigensch ? $eigensch : array(),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
header("Content-Type: application/json; charset=utf-8");
|
||||||
|
echo json_encode($liste, JSON_UNESCAPED_UNICODE);
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* Gemeinsames für die Autovervollständigung der Formulare.
|
||||||
|
*
|
||||||
|
* Die Endpunkte liefern eine JSON-Liste, die jQuery UI direkt als
|
||||||
|
* Vorschlagsliste verwendet: "value" ist der Vorschlag selbst, die übrigen
|
||||||
|
* Schlüssel füllen weitere Felder desselben Formulars (siehe die
|
||||||
|
* focus-Handler in den Templates).
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Suchbegriff aus der Anfrage, "" wenn keiner da ist */
|
||||||
|
function autoBegriff()
|
||||||
|
{
|
||||||
|
return isset($_GET["term"]) && is_string($_GET["term"]) ? trim($_GET["term"]) : "";
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Führt die Abfrage aus und gibt das Ergebnis als JSON aus. Die Spalten
|
||||||
|
* heißen bereits so, wie das Formular sie erwartet. json_encode() kümmert
|
||||||
|
* sich ums Maskieren - früher war die Liste von Hand zusammengesetzt und
|
||||||
|
* ein Anführungszeichen im Ortsnamen machte sie unbrauchbar.
|
||||||
|
*/
|
||||||
|
function autoAusgabe($dbconn, $sql, $params)
|
||||||
|
{
|
||||||
|
$zeilen = db_zeilen($dbconn, $sql, $params);
|
||||||
|
header("Content-Type: application/json; charset=utf-8");
|
||||||
|
echo json_encode($zeilen ? $zeilen : array(), JSON_UNESCAPED_UNICODE);
|
||||||
|
}
|
||||||
+6
-20
@@ -1,22 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once("./connectmysql.php");
|
require_once("./connectmysql.php");
|
||||||
if(!$err)
|
require_once("./autofuncs.php");
|
||||||
{
|
|
||||||
|
|
||||||
if($_GET["term"])
|
if(!$err && autoBegriff() !== "")
|
||||||
{
|
autoAusgabe($dbconn, "SELECT bank AS value, blz FROM bank
|
||||||
$qry = mysqli_query($dbconn,"SELECT bank,blz FROM bank WHERE bank LIKE '".mysql_escape_string($_GET["term"])."%' GROUP BY bank ORDER BY bank ASC") or die(mysqli_error($dbconn));
|
WHERE bank LIKE ? GROUP BY bank ORDER BY bank ASC LIMIT 25",
|
||||||
if($res=mysqli_fetch_array($qry))
|
array(db_like_praefix(autoBegriff())));
|
||||||
{
|
|
||||||
echo "[ ";
|
|
||||||
|
|
||||||
echo '{"value": "'.$res[0].'","blz":"'.$res[1].'"}';
|
|
||||||
while($res=mysqli_fetch_array($qry))
|
|
||||||
{
|
|
||||||
echo ',{"value":"'.$res[0].'","blz":"'.$res[1].'"}';
|
|
||||||
}
|
|
||||||
echo "]";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|||||||
+7
-19
@@ -1,20 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once("./connectmysql.php");
|
require_once("./connectmysql.php");
|
||||||
if(!$err)
|
require_once("./autofuncs.php");
|
||||||
{
|
|
||||||
if($_GET["term"])
|
if(!$err && autoBegriff() !== "")
|
||||||
{
|
autoAusgabe($dbconn, "SELECT blz AS value, bank FROM bank
|
||||||
$qry = mysqli_query($dbconn,"SELECT blz,bank FROM bank WHERE blz LIKE '".mysql_escape_string($_GET["term"])."%' GROUP BY blz ORDER BY blz ASC") or die(mysqli_error($dbconn));
|
WHERE blz LIKE ? GROUP BY blz ORDER BY blz ASC LIMIT 25",
|
||||||
if($res=mysqli_fetch_array($qry))
|
array(db_like_praefix(autoBegriff())));
|
||||||
{
|
|
||||||
echo "[ ";
|
|
||||||
echo '{"value": "'.$res[0].'","bank":"'.$res[1].'"}';
|
|
||||||
while($res=mysqli_fetch_array($qry))
|
|
||||||
{
|
|
||||||
echo ',{"value":"'.$res[0].'","bank":"'.$res[1].'"}';
|
|
||||||
}
|
|
||||||
echo "]";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|||||||
+6
-20
@@ -1,22 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once("./connectmysql.php");
|
require_once("./connectmysql.php");
|
||||||
|
require_once("./autofuncs.php");
|
||||||
|
|
||||||
if(!$err)
|
if(!$err && autoBegriff() !== "")
|
||||||
{
|
autoAusgabe($dbconn, "SELECT land AS value FROM land
|
||||||
|
WHERE land LIKE ? ORDER BY land ASC LIMIT 25",
|
||||||
if($_GET["term"])
|
array(db_like_praefix(autoBegriff())));
|
||||||
{
|
|
||||||
$qry = mysqli_query($dbconn,"SELECT land FROM land WHERE land LIKE '".mysql_escape_string($_GET["term"])."%' ORDER BY land ASC") or die(mysqli_error($dbconn));
|
|
||||||
if($res=mysqli_fetch_array($qry))
|
|
||||||
{
|
|
||||||
echo "[ ";
|
|
||||||
echo '{"value": "'.$res[0].'"}';
|
|
||||||
while($res=mysqli_fetch_array($qry))
|
|
||||||
{
|
|
||||||
echo ',{"value":"'.$res[0].'"}';
|
|
||||||
}
|
|
||||||
echo "]";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|||||||
+7
-20
@@ -1,22 +1,9 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once("./connectmysql.php");
|
require_once("./connectmysql.php");
|
||||||
|
require_once("./autofuncs.php");
|
||||||
|
|
||||||
if(!$err)
|
if(!$err && autoBegriff() !== "")
|
||||||
{
|
autoAusgabe($dbconn, "SELECT ort AS value, plz, land AS lnd, vwahl AS vwl
|
||||||
|
FROM ort JOIN land ON land.id = ort.land_id
|
||||||
if($_GET["term"])
|
WHERE ort LIKE ? GROUP BY ort ORDER BY ort ASC LIMIT 25",
|
||||||
{
|
array(db_like_praefix(autoBegriff())));
|
||||||
$qry = mysqli_query($dbconn,"SELECT ort, plz, land, vwahl FROM ort JOIN land ON land.id = ort.land_id WHERE ort LIKE '".mysql_escape_string($_GET["term"])."%' GROUP BY ort ORDER BY ort ASC") or die(mysqli_error($dbconn));
|
|
||||||
if($res=mysqli_fetch_array($qry))
|
|
||||||
{
|
|
||||||
echo "[ ";
|
|
||||||
echo '{"value": "'.$res[0].'","plz":"'.$res[1].'","lnd":"'.$res[2].'","vwl":"'.$res[3].'"}';
|
|
||||||
while($res=mysqli_fetch_array($qry))
|
|
||||||
{
|
|
||||||
echo ',{"value":"'.$res[0].'","plz":"'.$res[1].'","lnd":"'.$res[2].'","vwl":"'.$res[3].'"}';
|
|
||||||
}
|
|
||||||
echo "]";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|||||||
+7
-21
@@ -1,23 +1,9 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once("./connectmysql.php");
|
require_once("./connectmysql.php");
|
||||||
|
require_once("./autofuncs.php");
|
||||||
|
|
||||||
if(!$err)
|
if(!$err && autoBegriff() !== "")
|
||||||
{
|
autoAusgabe($dbconn, "SELECT ortsteil AS value, plz, ort, land AS lnd, vwahl AS vwl
|
||||||
|
FROM ort JOIN land ON land.id = ort.land_id
|
||||||
if($_GET["term"])
|
WHERE ortsteil LIKE ? GROUP BY ortsteil ORDER BY ort ASC LIMIT 25",
|
||||||
{
|
array(db_like_praefix(autoBegriff())));
|
||||||
$qry = mysqli_query($dbconn,"SELECT ortsteil, plz, ort, land, vwahl FROM ort JOIN land ON land.id = ort.land_id WHERE ortsteil LIKE '".mysql_escape_string($_GET["term"])."%' GROUP BY ortsteil ORDER BY ort ASC") or die(mysqli_error($dbconn));
|
|
||||||
if($res=mysqli_fetch_array($qry))
|
|
||||||
{
|
|
||||||
echo "[ ";
|
|
||||||
|
|
||||||
echo '{"value": "'.$res[0].'","plz":"'.$res[1].'","ort":"'.$res[2].',"lnd":"'.$res[3].'","vwl":"'.$res[3].'"}';
|
|
||||||
while($res=mysqli_fetch_array($qry))
|
|
||||||
{
|
|
||||||
echo ',{"value":"'.$res[0].'","plz":"'.$res[1].'","ort":"'.$res[2].',"lnd":"'.$res[3].'","vwl":"'.$res[3].'"}';
|
|
||||||
}
|
|
||||||
echo "]";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|||||||
+7
-21
@@ -1,23 +1,9 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once("./connectmysql.php");
|
require_once("./connectmysql.php");
|
||||||
|
require_once("./autofuncs.php");
|
||||||
|
|
||||||
if(!$err)
|
if(!$err && autoBegriff() !== "")
|
||||||
{
|
autoAusgabe($dbconn, "SELECT plz AS value, ort, land AS lnd, vwahl AS vwl
|
||||||
|
FROM ort JOIN land ON land.id = ort.land_id
|
||||||
if($_GET["term"])
|
WHERE plz LIKE ? GROUP BY plz ORDER BY plz ASC LIMIT 25",
|
||||||
{
|
array(db_like_praefix(autoBegriff())));
|
||||||
$qry = mysqli_query($dbconn,"SELECT plz, ort, land FROM ort JOIN land ON land.id = ort.land_id WHERE plz LIKE '".mysql_escape_string($_GET["term"])."%' GROUP BY plz ORDER BY plz ASC") or die(mysqli_error($dbconn));
|
|
||||||
if($res=mysqli_fetch_array($qry))
|
|
||||||
{
|
|
||||||
echo "[ ";
|
|
||||||
|
|
||||||
echo '{"value": "'.$res[0].'","ort":"'.$res[1].'","lnd":"'.$res[2].'","vwl":"'.$res[3].'"}';
|
|
||||||
while($res=mysqli_fetch_array($qry))
|
|
||||||
{
|
|
||||||
echo ',{"value":"'.$res[0].'","ort":"'.$res[1].'","lnd":"'.$res[2].'","vwl":"'.$res[3].'"}';
|
|
||||||
}
|
|
||||||
echo "]";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|||||||
+9
-21
@@ -1,23 +1,11 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once("./connectmysql.php");
|
require_once("./connectmysql.php");
|
||||||
|
require_once("./autofuncs.php");
|
||||||
|
|
||||||
if(!$err)
|
if(!$err && autoBegriff() !== "")
|
||||||
{
|
autoAusgabe($dbconn, "SELECT str AS value, plz, ort, ortsteil AS otl, land AS lnd
|
||||||
|
FROM strasse
|
||||||
if($_GET["term"])
|
JOIN ort ON ort.id = strasse.ort_id
|
||||||
{
|
JOIN land ON land.id = ort.land_id
|
||||||
$qry = mysqli_query($dbconn,"SELECT str, plz, ort, land FROM strasse JOIN ort ON ort.id = strasse.ort_id JOIN land ON land.id = ort.land_id WHERE str LIKE '".mysql_escape_string($_GET["term"])."%' GROUP BY str ORDER BY str ASC") or die(mysqli_error($dbconn));
|
WHERE str LIKE ? GROUP BY str ORDER BY str ASC LIMIT 25",
|
||||||
if($res=mysqli_fetch_array($qry))
|
array(db_like_praefix(autoBegriff())));
|
||||||
{
|
|
||||||
echo "[ ";
|
|
||||||
|
|
||||||
echo '{"value": "'.$res[0].'","plz":"'.$res[1].'","ort":"'.$res[2].'","lnd":"'.$res[3].'"}';
|
|
||||||
while($res=mysqli_fetch_array($qry))
|
|
||||||
{
|
|
||||||
echo ',{"value": "'.$res[0].'","plz":"'.$res[1].'","ort":"'.$res[2].'","lnd":"'.$res[3].'"}';
|
|
||||||
}
|
|
||||||
echo "]";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|||||||
+7
-20
@@ -1,22 +1,9 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once("./connectmysql.php");
|
require_once("./connectmysql.php");
|
||||||
|
require_once("./autofuncs.php");
|
||||||
|
|
||||||
if(!$err)
|
if(!$err && autoBegriff() !== "")
|
||||||
{
|
autoAusgabe($dbconn, "SELECT vwahl AS value, plz, ort, ortsteil AS otl, land AS lnd
|
||||||
|
FROM ort JOIN land ON land.id = ort.land_id
|
||||||
if($_GET["term"])
|
WHERE vwahl LIKE ? GROUP BY vwahl ORDER BY vwahl ASC LIMIT 25",
|
||||||
{
|
array(db_like_praefix(autoBegriff())));
|
||||||
$qry = mysqli_query($dbconn,"SELECT vwahl, plz, ort, ortsteil, land FROM ort JOIN land ON land.id = ort.land_id WHERE vwahl LIKE '".mysql_escape_string($_GET["term"])."%' GROUP BY vwahl ORDER BY vwahl ASC") or die(mysqli_error($dbconn));
|
|
||||||
if($res=mysqli_fetch_array($qry))
|
|
||||||
{
|
|
||||||
echo "[ ";
|
|
||||||
echo '{"value": "'.$res[0].'","plz":"'.$res[1].'","ort":"'.$res[2].'","otl":"'.$res[3].'","lnd":"'.$res[4].'"}';
|
|
||||||
while($res=mysqli_fetch_array($qry))
|
|
||||||
{
|
|
||||||
echo ',{"value": "'.$res[0].'","plz":"'.$res[1].'","ort":"'.$res[2].'","otl":"'.$res[3].'","lnd":"'.$res[4].'"}';
|
|
||||||
}
|
|
||||||
echo "]";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|||||||
+34
-38
@@ -1,56 +1,52 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once("../incs/connectmysql.php");
|
require_once("../incs/connectmysql.php");
|
||||||
require_once("../incs/funcs.php");
|
require_once("../incs/funcs.php");
|
||||||
require_once("../incs/listfuncs.php");
|
require_once("../incs/listfuncs.php");
|
||||||
require('../smarty/libs/Smarty.class.php');
|
require('../smarty/libs/Smarty.class.php');
|
||||||
|
|
||||||
|
|
||||||
$smarty = new Smarty;
|
$smarty = new Smarty;
|
||||||
|
|
||||||
|
|
||||||
$pagesize = 50;
|
$pagesize = 50;
|
||||||
|
if(!isset($err))
|
||||||
|
$err = "";
|
||||||
|
|
||||||
if(!$err)
|
if(!$err)
|
||||||
{
|
{
|
||||||
$speciallines=array();
|
// kommt per encodeURIComponent bereits als UTF-8
|
||||||
|
$fulltag = isset($_GET["search"]) && is_string($_GET["search"]) ? $_GET["search"] : "";
|
||||||
$fulltag = utf8_encode($_GET["search"]);
|
$link = isset($_GET["link"]) && is_string($_GET["link"]) ? $_GET["link"] : "";
|
||||||
$src = explode(" ",$fulltag);
|
$field = isset($_GET["field"]) && is_string($_GET["field"]) ? $_GET["field"] : "";
|
||||||
$combiner = mysql_escape_string($_GET["link"]);
|
$page = isset($_GET["page"]) ? (int)$_GET["page"] : 0;
|
||||||
if($combiner != "AND" && $combiner != "OR")
|
$rechid = isset($_GET["rechid"]) ? (int)$_GET["rechid"] : 0;
|
||||||
{
|
// steuert, wofür die gewählte Adresse verwendet wird
|
||||||
$combiner = "AND";
|
$subact = (isset($_GET["subact"]) && $_GET["subact"] == "copy") ? "copy" : "changeadr";
|
||||||
}
|
|
||||||
$page = $_GET["page"];
|
$speciallines = array();
|
||||||
|
$listlines = array();
|
||||||
$queries = createAdressQry($page,$pagesize,$src,$combiner,$_GET["field"],0,1);
|
$src = explode(" ", $fulltag);
|
||||||
$qry = mysqli_query($dbconn,$queries["all"])
|
$combiner = $link == "OR" ? "OR" : "AND";
|
||||||
or die("Datenbank fehler: ".mysqli_error($dbconn));
|
|
||||||
$numres = mysqli_num_rows($qry);
|
$queries = createAdressQry($page,$pagesize,$src,$combiner,$field,0,1);
|
||||||
|
$numres = zaehleTreffer($dbconn, $queries);
|
||||||
if(!$numres)
|
if(!$numres)
|
||||||
{
|
{
|
||||||
$queries = createAdressQry($page,$pagesize,$src,$combiner,$_GET["field"],1,1);
|
$queries = createAdressQry($page,$pagesize,$src,$combiner,$field,1,1);
|
||||||
$qry = mysqli_query($dbconn,$queries["all"])
|
$numres = zaehleTreffer($dbconn, $queries);
|
||||||
or die("Datenbank fehler: ".mysqli_error($dbconn));
|
|
||||||
$numres = mysqli_num_rows($qry);
|
|
||||||
message("veraltete Datensätze wurden in die Suche einbezogen");
|
message("veraltete Datensätze wurden in die Suche einbezogen");
|
||||||
}
|
}
|
||||||
if($numres)
|
if($numres)
|
||||||
{
|
{
|
||||||
$qry = mysqli_query($dbconn,$queries["limited"])
|
$qry = db_abfrage($dbconn,$queries["limited"],$queries["params"])
|
||||||
or die("Datenbank fehler: ".mysqli_error($dbconn));
|
or die("Datenbank fehler: ".htmlspecialchars(mysqli_error($dbconn)));
|
||||||
while($res=mysqli_fetch_assoc($qry))
|
while($res=mysqli_fetch_assoc($qry))
|
||||||
{
|
{
|
||||||
$name = $res["vname"]." ".$res["nname"];
|
$adresse = makeadressline($res);
|
||||||
if($res["firma"])
|
$waehlen = "<a href='?action=rechnungadd&id=".$rechid."&".$subact."=1&adrid=".(int)$res["adrid"]."'><span class='check' title='Diese Adresse verwenden'></span></a>";
|
||||||
$name .= " <i><u>".$res["firma"]."</u></i>";
|
$zeile = array($waehlen." ".(int)$res["kdnr"], makenameline($res), $adresse["ort"], $adresse["str"], maketelline($res));
|
||||||
if($res["vwahl"])
|
if(empty($res["updated_by"]))
|
||||||
$res["tel"] = $res["vwahl"]."/".$res["tel"];
|
$listlines[] = $zeile;
|
||||||
if(!$res["updated_by"])
|
|
||||||
$listlines[] = array("<a href='?action=rechnungadd&id=".$_GET["rechid"]."&".$_GET["subact"]."=1&adrid=".$res["adrid"]."'><span class='check' title='Diese Adresse verwenden'></span></a> ".$res["kdnr"]."",$name,$res["plz"]." ".$res["ort"], $res["str"]." ".$res["hnr"], $res["tel"]);
|
|
||||||
else
|
else
|
||||||
$speciallines[] = array("<a href='?action=rechnungadd&id=".$_GET["rechid"]."&".$_GET["subact"]."=1&adrid=".$res["adrid"]."'><span class='check' title='Diese Adresse verwenden'></span></a> ".$res["kdnr"]."",$name,$res["plz"]." ".$res["ort"], $res["str"]." ".$res["hnr"], $res["tel"]);
|
$speciallines[] = $zeile;
|
||||||
}
|
}
|
||||||
$headings = array("Kd.Nr.","Name/<i><u>Firma</u></i>","Ort","Straße","Telefon");
|
$headings = array("Kd.Nr.","Name/<i><u>Firma</u></i>","Ort","Straße","Telefon");
|
||||||
$lastdisplay = ($page+1)*$pagesize;
|
$lastdisplay = ($page+1)*$pagesize;
|
||||||
@@ -60,12 +56,12 @@ if(!$err)
|
|||||||
ok("Die Suche nach ".htmlspecialchars($fulltag)." ergab ".$numres." Ergebnisse.<br /> Ergebnis ".($page*$pagesize+1)." bis ".$lastdisplay);
|
ok("Die Suche nach ".htmlspecialchars($fulltag)." ergab ".$numres." Ergebnisse.<br /> Ergebnis ".($page*$pagesize+1)." bis ".$lastdisplay);
|
||||||
else
|
else
|
||||||
ok($numres." Adressen sind insgesamt gespeichert.");
|
ok($numres." Adressen sind insgesamt gespeichert.");
|
||||||
|
|
||||||
displayPages($pagesize,$page,$numres,"ajax_searchadress");
|
displayPages($pagesize,$page,$numres,"ajax_searchadress",",".$rechid.",'".$subact."'");
|
||||||
displayList($headings,$listlines,$speciallines);
|
displayList($headings,$listlines,$speciallines);
|
||||||
displayPages($pagesize,$page,$numres,"ajax_searchadress");
|
displayPages($pagesize,$page,$numres,"ajax_searchadress",",".$rechid.",'".$subact."'");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ok("Die Suche nach ".htmlspecialchars($fulltag)." ergab keine Ergebnisse.");
|
ok("Die Suche nach ".htmlspecialchars($fulltag)." ergab keine Ergebnisse.");
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
+31
-76
@@ -1,89 +1,45 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once("../incs/connectmysql.php");
|
require_once("../incs/connectmysql.php");
|
||||||
require_once("../incs/funcs.php");
|
require_once("../incs/funcs.php");
|
||||||
require_once("../incs/listfuncs.php");
|
require_once("../incs/listfuncs.php");
|
||||||
require('../smarty/libs/Smarty.class.php');
|
require('../smarty/libs/Smarty.class.php');
|
||||||
|
|
||||||
|
|
||||||
$smarty = new Smarty;
|
$smarty = new Smarty;
|
||||||
|
|
||||||
|
|
||||||
$pagesize = 20;
|
$pagesize = 20;
|
||||||
|
if(!isset($err))
|
||||||
|
$err = "";
|
||||||
|
|
||||||
if(!$err)
|
if(!$err)
|
||||||
{
|
{
|
||||||
|
// kommt per encodeURIComponent bereits als UTF-8
|
||||||
|
$fulltag = isset($_GET["search"]) && is_string($_GET["search"]) ? $_GET["search"] : "";
|
||||||
|
$link = isset($_GET["link"]) && is_string($_GET["link"]) ? $_GET["link"] : "";
|
||||||
|
$page = isset($_GET["page"]) ? (int)$_GET["page"] : 0;
|
||||||
|
$id = isset($_GET["kdnid"]) ? (int)$_GET["kdnid"] : 0;
|
||||||
|
|
||||||
|
$src = explode(" ", $fulltag);
|
||||||
|
$combiner = $link == "OR" ? "OR" : "AND";
|
||||||
|
$listlines = array();
|
||||||
|
|
||||||
$fulltag = utf8_encode($_GET["search"]);
|
|
||||||
$src = explode(" ",$fulltag);
|
|
||||||
$combiner = mysql_escape_string($_GET["link"]);
|
|
||||||
if($combiner != "AND" && $combiner != "OR")
|
|
||||||
{
|
|
||||||
$combiner = "AND";
|
|
||||||
}
|
|
||||||
$page = $_GET["page"];
|
|
||||||
$skspage = $_GET["skspage"];
|
|
||||||
$typ = $_GET["typ"];
|
|
||||||
$id = $_GET["kdnid"];
|
|
||||||
$queries = createKdnProjectQry($page,$pagesize,$src,$combiner,$id);
|
$queries = createKdnProjectQry($page,$pagesize,$src,$combiner,$id);
|
||||||
$qry = mysqli_query($dbconn,$queries["all"])
|
$numres = zaehleTreffer($dbconn, $queries);
|
||||||
or die("Datenbank fehler: ".mysqli_error($dbconn));
|
|
||||||
$numres = mysqli_num_rows($qry);
|
|
||||||
/*
|
|
||||||
if(!$numres)
|
|
||||||
{
|
|
||||||
$queries = createKdnRechQry($page,$pagesize,$src,$combiner,1);
|
|
||||||
$qry = mysqli_query($dbconn,$queries["all"])
|
|
||||||
or die("Datenbank fehler: ".mysqli_error($dbconn));
|
|
||||||
$numres = mysqli_num_rows($qry);
|
|
||||||
message("veraltete Datensätze wurden in die Suche einbezogen");
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
if($numres)
|
if($numres)
|
||||||
{
|
{
|
||||||
$listlines=array();
|
$qry = db_abfrage($dbconn,$queries["limited"],$queries["params"])
|
||||||
$qry = mysqli_query($dbconn,$queries["limited"])
|
or die("Datenbank fehler: ".htmlspecialchars(mysqli_error($dbconn)));
|
||||||
or die("Datenbank fehler: ".mysqli_error($dbconn));
|
|
||||||
while($res=mysqli_fetch_assoc($qry))
|
while($res=mysqli_fetch_assoc($qry))
|
||||||
{
|
{
|
||||||
$actions = "<span class='del' title='löschen' onClick='askdel(\"Möchten Sie das Projekt ".$res["name"]."<br />wirklich <b>unwiederruflich</b> löschen?\",\"?action=projectadd&id=".$res["id"]."&del=1\")'></span>";
|
$projektid = (int)$res["id"];
|
||||||
$actions .= "<a href='?action=projectadd&id=".$res["id"]."'><span class='edit' title='Projekt ändern'></span></a>";
|
$name = htmlspecialchars((string)$res["name"]);
|
||||||
//$actions .= "<a href='?action=projectadd&id=".$res["id"]."©=1'><span class='copy' title='Projekt kopieren'></span></a>";
|
$actions = "<span class='del' title='löschen' onClick='askdel(\"Möchten Sie das Projekt ".$name."<br />wirklich <b>unwiederruflich</b> löschen?\",\"?action=projectadd&id=".$projektid."&del=1\")'></span>";
|
||||||
//$tmpqry = mysqli_query($dbconn,"SELECT id FROM kontakt WHERE partner_id = '$id' AND typ_id = 1");
|
$actions .= "<a href='?action=projectadd&id=".$projektid."'><span class='edit' title='Projekt ändern'></span></a>";
|
||||||
//if(mysqli_fetch_array($tmpqry))
|
$listlines[] = array("<a href='?action=projectshow&id=".$projektid."'>".$name."</a>",
|
||||||
// $actions .= "<a href='?action=rechnungadd&id=".$res["id"]."&adressid=".$res["adresse_id"]."&mail=1'><span class='mail' title='Dokument per E-Mail versenden'></span></a>";
|
htmlspecialchars((string)$res["date"]),
|
||||||
/*
|
htmlspecialchars((string)$res["work"]),
|
||||||
$res["drechnr"] = substr($res["rechnr"],0,4)."-".substr($res["rechnr"],4,2)."-".substr($res["rechnr"],6,2).".".substr($res["rechnr"],8,2);
|
$actions);
|
||||||
switch($res["typ_id"])
|
|
||||||
{
|
|
||||||
case 1:
|
|
||||||
$res["drechnr"] = "R".$res["drechnr"];
|
|
||||||
$actions .= "<a href='?action=rechnungadd&id=".$res["id"]."&adressid=".$res["adresse_id"]."&newtype=2'><span class='gutschradd' title='Gutschrift aus dieser Rechnung erstellen'></span></a>";
|
|
||||||
$actions .= "<a href='?action=rechnungadd&id=".$res["id"]."&adressid=".$res["adresse_id"]."&newtype=6'><span class='mahnadd' title='Mahnung aus dieser Rechnung erstellen'></span></a>";
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
$res["drechnr"] = "G".$res["drechnr"];
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
$actions .= "<a href='?action=rechnungadd&id=".$res["id"]."&adressid=".$res["adresse_id"]."&newtype=1'><span class='rechnadd' title='Rechnung aus diesem Angebot erstellen'></span></a>";
|
|
||||||
$actions .= "<a href='?action=rechnungadd&id=".$res["id"]."&adressid=".$res["adresse_id"]."&newtype=4'><span class='bestadd' title='Auftragsbestätigung aus diesem Angebot erstellen'></span></a>";
|
|
||||||
$res["drechnr"] = "A".$res["drechnr"];
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
$actions .= "<a href='?action=rechnungadd&id=".$res["id"]."&adressid=".$res["adresse_id"]."&newtype=1'><span class='rechnadd' title='Rechnung aus dieser Auftragsbestätigung erstellen'></span></a>";
|
|
||||||
$res["drechnr"] = "B".$res["drechnr"];
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if(!$res["drechnr"])
|
|
||||||
$res["drechnr"] = $res["drechnr"];
|
|
||||||
*/
|
|
||||||
$listlines[] = array("<a href='?action=projectshow&id=".$res["id"]."'>".$res["name"]."</a>",
|
|
||||||
$res["date"],
|
|
||||||
$res["work"],
|
|
||||||
$actions
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$headings = array("Name","Datum","Unberechnete<br />Stunden","Aktionen");
|
$headings = array("Name","Datum","Unberechnete<br />Stunden","Aktionen");
|
||||||
$lastdisplay = ($page+1)*$pagesize;
|
$lastdisplay = ($page+1)*$pagesize;
|
||||||
if($numres < $lastdisplay)
|
if($numres < $lastdisplay)
|
||||||
@@ -92,18 +48,17 @@ if(!$err)
|
|||||||
ok("Die Suche nach ".htmlspecialchars($fulltag)." ergab ".$numres." Ergebnisse.<br /> Ergebnis ".($page*$pagesize+1)." bis ".$lastdisplay);
|
ok("Die Suche nach ".htmlspecialchars($fulltag)." ergab ".$numres." Ergebnisse.<br /> Ergebnis ".($page*$pagesize+1)." bis ".$lastdisplay);
|
||||||
else
|
else
|
||||||
ok($numres." Projekte sind insgesamt gespeichert.");
|
ok($numres." Projekte sind insgesamt gespeichert.");
|
||||||
|
|
||||||
displaySplitPages($pagesize,$page,$skspage,0,$numres,"ajax_searchkdnprojects",",$typ,$id");
|
displayPages($pagesize,$page,$numres,"ajax_searchkdnprojects",",".$id);
|
||||||
displayList($headings,$listlines,$speciallines);
|
displayList($headings,$listlines,array());
|
||||||
displaySplitPages($pagesize,$page,$skspage,0,$numres,"ajax_searchkdnprojects",",$typ,$id");
|
displayPages($pagesize,$page,$numres,"ajax_searchkdnprojects",",".$id);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if($fulltag)
|
if($fulltag)
|
||||||
ok("Die Suche nach ".htmlspecialchars($fulltag)." ergab keine Ergebnisse.");
|
ok("Die Suche nach ".htmlspecialchars($fulltag)." ergab keine Ergebnisse.");
|
||||||
else
|
else
|
||||||
ok("Keine Einträge.");
|
ok("Keine Einträge.");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -88,14 +88,14 @@ if(!isset($err))
|
|||||||
if($res["storno"] == 1){
|
if($res["storno"] == 1){
|
||||||
$listlines[] = array("<a href='?action=rechshow&id=".$res["id"]."'><font color='#FF0000'>".$res["drechnr"]."</font></a>",
|
$listlines[] = array("<a href='?action=rechshow&id=".$res["id"]."'><font color='#FF0000'>".$res["drechnr"]."</font></a>",
|
||||||
$res["date"],
|
$res["date"],
|
||||||
artikelListeHtml($res["artikel"]),
|
zeilenHtml($res["artikel"]),
|
||||||
$actions
|
$actions
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
$listlines[] = array("<a href='?action=rechshow&id=".$res["id"]."'>".$res["drechnr"]."</a>",
|
$listlines[] = array("<a href='?action=rechshow&id=".$res["id"]."'>".$res["drechnr"]."</a>",
|
||||||
$res["date"],
|
$res["date"],
|
||||||
artikelListeHtml($res["artikel"]),
|
zeilenHtml($res["artikel"]),
|
||||||
$actions
|
$actions
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -152,7 +152,7 @@ if(!isset($err))
|
|||||||
{
|
{
|
||||||
$speciallines[] = array("<a href='?action=rechshow&id=".$res["id"]."'>".$res["rechnr"]."</a>",
|
$speciallines[] = array("<a href='?action=rechshow&id=".$res["id"]."'>".$res["rechnr"]."</a>",
|
||||||
$res["date"],
|
$res["date"],
|
||||||
artikelListeHtml($res["artikel"]),
|
zeilenHtml($res["artikel"]),
|
||||||
"<span class='del' title='löschen' onClick='askdel(\"Möchten Sie das Dokument ".$res["rechnr"]."<br />wirklich <b>unwiederruflich</b> löschen?\",\"?action=rechadd&rechid=".$res["id"]."&del=1\")'></span>");
|
"<span class='del' title='löschen' onClick='askdel(\"Möchten Sie das Dokument ".$res["rechnr"]."<br />wirklich <b>unwiederruflich</b> löschen?\",\"?action=rechadd&rechid=".$res["id"]."&del=1\")'></span>");
|
||||||
}
|
}
|
||||||
$headings = array("Nummer","Datum","Artikel","Aktion");
|
$headings = array("Nummer","Datum","Artikel","Aktion");
|
||||||
|
|||||||
+36
-55
@@ -1,66 +1,47 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once("../incs/connectmysql.php");
|
require_once("../incs/connectmysql.php");
|
||||||
require_once("../incs/funcs.php");
|
require_once("../incs/funcs.php");
|
||||||
require_once("../incs/listfuncs.php");
|
require_once("../incs/listfuncs.php");
|
||||||
require('../smarty/libs/Smarty.class.php');
|
require('../smarty/libs/Smarty.class.php');
|
||||||
|
|
||||||
|
|
||||||
$smarty = new Smarty;
|
$smarty = new Smarty;
|
||||||
|
|
||||||
|
|
||||||
$pagesize = 50;
|
$pagesize = 50;
|
||||||
|
if(!isset($err))
|
||||||
|
$err = "";
|
||||||
|
|
||||||
if(!$err)
|
if(!$err)
|
||||||
{
|
{
|
||||||
$fulltag = utf8_encode($_GET["search"]);
|
// kommt per encodeURIComponent bereits als UTF-8
|
||||||
$src = explode(" ",$fulltag);
|
$fulltag = isset($_GET["search"]) && is_string($_GET["search"]) ? $_GET["search"] : "";
|
||||||
$combiner = mysql_escape_string($_GET["link"]);
|
$link = isset($_GET["link"]) && is_string($_GET["link"]) ? $_GET["link"] : "";
|
||||||
if($combiner != "AND" && $combiner != "OR")
|
$page = isset($_GET["page"]) ? (int)$_GET["page"] : 0;
|
||||||
{
|
$id = isset($_GET["kdnid"]) ? (int)$_GET["kdnid"] : 0;
|
||||||
$combiner = "AND";
|
|
||||||
}
|
$src = explode(" ", $fulltag);
|
||||||
$page = $_GET["page"];
|
$combiner = $link == "OR" ? "OR" : "AND";
|
||||||
$id = $_GET["kdnid"];
|
$listlines = array();
|
||||||
$queries = createKommQry($page,$pagesize,$src,$combiner,$id,$typ,0);
|
|
||||||
$qry = mysqli_query($dbconn,$queries["all"])
|
$queries = createKommQry($page,$pagesize,$src,$combiner,$id);
|
||||||
or die("Datenbank fehler: ".mysqli_error($dbconn));
|
$numres = zaehleTreffer($dbconn, $queries);
|
||||||
$numres = mysqli_num_rows($qry);
|
|
||||||
/*
|
|
||||||
if(!$numres)
|
|
||||||
{
|
|
||||||
$queries = createKdnRechQry($page,$pagesize,$src,$combiner,1);
|
|
||||||
$qry = mysqli_query($dbconn,$queries["all"])
|
|
||||||
or die("Datenbank fehler: ".mysqli_error($dbconn));
|
|
||||||
$numres = mysqli_num_rows($qry);
|
|
||||||
message("veraltete Datensätze wurden in die Suche einbezogen");
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
if($numres)
|
if($numres)
|
||||||
{
|
{
|
||||||
$listlines=array();
|
$qry = db_abfrage($dbconn,$queries["limited"],$queries["params"])
|
||||||
$qry = mysqli_query($dbconn,$queries["limited"])
|
or die("Datenbank fehler: ".htmlspecialchars(mysqli_error($dbconn)));
|
||||||
or die("Datenbank fehler: ".mysqli_error($dbconn));
|
|
||||||
while($res=mysqli_fetch_assoc($qry))
|
while($res=mysqli_fetch_assoc($qry))
|
||||||
{
|
{
|
||||||
$actions = " <a href='?action=kundenchange&do=adress&adressid=".$res["id"]."&kunde=$id'><span class='edit' title='Adresse ändern'></span></a>";
|
$adrid = (int)$res["id"];
|
||||||
$actions .= " <span class='del' title='Adresse löschen' onClick='askdel(\"Möchten Sie diese Adresse<br /><b>UND ALLE ZUGEHÖRIGEN RECHNUNGEN</b><br />wirklich unwiederruflich löschen?\",\"?action=kundenchange&do=adress&adressid=".$res["id"]."&del=1\")'></span>";
|
$karte = rawurlencode($res["plz"]." ".$res["ort"]." ".$res["str"]." ".$res["hnr"]);
|
||||||
$actions .= " <a href='http://maps.google.com?q=".$res["plz"]."+".$res["ort"]."+".$res["str"]."+".$res["hnr"]."' class='noloading' target='_blank'><span class='map' title='Auf Karte zeigen'></span></a>";
|
$actions = " <a href='?action=kundenchange&do=adress&adressid=".$adrid."&kunde=".$id."'><span class='edit' title='Adresse ändern'></span></a>";
|
||||||
$actions .= " <a href='?action=terminadd&adressid=".$res["id"]."'><span class='termadd' title='Termin anlegen'></span></a><br />";
|
$actions .= " <span class='del' title='Adresse löschen' onClick='askdel(\"Möchten Sie diese Adresse<br /><b>UND ALLE ZUGEHÖRIGEN RECHNUNGEN</b><br />wirklich unwiederruflich löschen?\",\"?action=kundenchange&do=adress&adressid=".$adrid."&del=1\")'></span>";
|
||||||
$actions .= " <a href='?action=rechnungadd&type=1&adressid=".$res["id"]."'><span class='rechnadd' title='Rechnung anlegen'></span></a>";
|
$actions .= " <a href='https://maps.google.com/?q=".$karte."' class='noloading' target='_blank' rel='noopener'><span class='map' title='Auf Karte zeigen'></span></a>";
|
||||||
$actions .= " <a href='?action=rechnungadd&type=1&adressid=".$res["id"]."'><span class='gutschradd' title='Gutschrift anlegen'></span></a>";
|
$actions .= " <a href='?action=terminadd&adressid=".$adrid."'><span class='termadd' title='Termin anlegen'></span></a><br />";
|
||||||
$actions .= " <a href='?action=rechnungadd&type=3&adressid=".$res["id"]."'><span class='angadd' title='Angebot anlegen'></span></a>";
|
$actions .= " <a href='?action=rechnungadd&type=1&adressid=".$adrid."'><span class='rechnadd' title='Rechnung anlegen'></span></a>";
|
||||||
$actions .= " <a href='?action=rechnungadd&type=5&adressid=".$res["id"]."'><span class='letteradd' title='Brief anlegen'></span></a><br />";
|
$actions .= " <a href='?action=rechnungadd&type=2&adressid=".$adrid."'><span class='gutschradd' title='Gutschrift anlegen'></span></a>";
|
||||||
$tmpqry = mysqli_query($dbconn,"SELECT id FROM kontakt WHERE partner_id = '$id' AND typ_id = 1");
|
$actions .= " <a href='?action=rechnungadd&type=3&adressid=".$adrid."'><span class='angadd' title='Angebot anlegen'></span></a>";
|
||||||
if(mysqli_fetch_array($tmpqry))
|
$actions .= " <a href='?action=rechnungadd&type=5&adressid=".$adrid."'><span class='letteradd' title='Brief anlegen'></span></a><br />";
|
||||||
$actions .= "<a href='?action=rechnungadd&id=".$res["id"]."&adressid=".$res["adresse_id"]."&mail=1'><span class='mail' title='Dokument per E-Mail versenden'></span></a>";
|
$adresse = makeadressline($res);
|
||||||
$name=makenameline($res);
|
$listlines[] = array(makenameline($res), $adresse["ort"], $adresse["str"], maketelline($res), $actions);
|
||||||
$adresse=makeadressline($res);
|
|
||||||
$listlines[] = array($name,
|
|
||||||
$adresse["ort"], $adresse["str"],
|
|
||||||
maketelline($res),
|
|
||||||
$actions
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
$headings = array("Name","Ort","Straße","Tel","Aktionen");
|
$headings = array("Name","Ort","Straße","Tel","Aktionen");
|
||||||
$lastdisplay = ($page+1)*$pagesize;
|
$lastdisplay = ($page+1)*$pagesize;
|
||||||
@@ -70,17 +51,17 @@ if(!$err)
|
|||||||
ok("Die Suche nach ".htmlspecialchars($fulltag)." ergab ".$numres." Ergebnisse.<br /> Ergebnis ".($page*$pagesize+1)." bis ".$lastdisplay);
|
ok("Die Suche nach ".htmlspecialchars($fulltag)." ergab ".$numres." Ergebnisse.<br /> Ergebnis ".($page*$pagesize+1)." bis ".$lastdisplay);
|
||||||
else
|
else
|
||||||
ok($numres." Kommissionen sind insgesamt gespeichert.");
|
ok($numres." Kommissionen sind insgesamt gespeichert.");
|
||||||
|
|
||||||
displaySplitPages($pagesize,$page,$skspage,0,$numres,"ajax_searchkomm",",$id");
|
displayPages($pagesize,$page,$numres,"ajax_searchkomm",",".$id);
|
||||||
displayList($headings,$listlines,$speciallines);
|
displayList($headings,$listlines,array());
|
||||||
displaySplitPages($pagesize,$page,$skspage,0,$numres,"ajax_searchkomm",",$id");
|
displayPages($pagesize,$page,$numres,"ajax_searchkomm",",".$id);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if($fulltag)
|
if($fulltag)
|
||||||
ok("Die Suche nach ".htmlspecialchars($fulltag)." ergab keine Ergebnisse.");
|
ok("Die Suche nach ".htmlspecialchars($fulltag)." ergab keine Ergebnisse.");
|
||||||
else
|
else
|
||||||
ok("Keine Einträge.");
|
ok("Keine Einträge.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
+36
-50
@@ -1,85 +1,71 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once("../incs/connectmysql.php");
|
require_once("../incs/connectmysql.php");
|
||||||
require_once("../incs/funcs.php");
|
require_once("../incs/funcs.php");
|
||||||
require_once("../incs/listfuncs.php");
|
require_once("../incs/listfuncs.php");
|
||||||
require('../smarty/libs/Smarty.class.php');
|
require('../smarty/libs/Smarty.class.php');
|
||||||
|
|
||||||
|
|
||||||
$smarty = new Smarty;
|
$smarty = new Smarty;
|
||||||
|
|
||||||
|
|
||||||
$pagesize = 50;
|
$pagesize = 50;
|
||||||
if(!isset($err)){
|
if(!isset($err))
|
||||||
$err="";
|
$err = "";
|
||||||
}
|
|
||||||
|
|
||||||
if(!$err)
|
if(!$err)
|
||||||
{
|
{
|
||||||
if(!isset($_GET["link"])){
|
// kommt per encodeURIComponent bereits als UTF-8
|
||||||
$_GET["link"] = "";
|
$fulltag = isset($_GET["search"]) && is_string($_GET["search"]) ? $_GET["search"] : "";
|
||||||
}
|
$link = isset($_GET["link"]) && is_string($_GET["link"]) ? $_GET["link"] : "";
|
||||||
if(!isset($_GET["field"])){
|
$field = isset($_GET["field"]) && is_string($_GET["field"]) ? $_GET["field"] : "";
|
||||||
$_GET["field"] = "";
|
$page = isset($_GET["page"]) ? (int)$_GET["page"] : 0;
|
||||||
}
|
|
||||||
|
|
||||||
$_SESSION["search"] = $_GET["search"];
|
$_SESSION["search"] = $fulltag;
|
||||||
$_SESSION["link"] = $_GET["link"];
|
$_SESSION["link"] = $link;
|
||||||
$_SESSION["field"] = $_GET["field"];
|
$_SESSION["field"] = $field;
|
||||||
$_SESSION["page"] = $_GET["page"];
|
$_SESSION["page"] = $page;
|
||||||
$speciallines=array();
|
|
||||||
|
$speciallines = array();
|
||||||
$fulltag = utf8_encode($_GET["search"]);
|
$listlines = array();
|
||||||
$src = explode(" ",$fulltag);
|
$src = explode(" ", $fulltag);
|
||||||
$combiner = mysql_escape_string($_GET["link"]);
|
$combiner = $link == "OR" ? "OR" : "AND";
|
||||||
if($combiner != "AND" && $combiner != "OR")
|
|
||||||
{
|
$queries = createPartQry($page,$pagesize,$src,$combiner,$field,0,1);
|
||||||
$combiner = "AND";
|
$numres = zaehleTreffer($dbconn, $queries);
|
||||||
}
|
|
||||||
$page = $_GET["page"];
|
|
||||||
|
|
||||||
$queries = createPartQry($page,$pagesize,$src,$combiner,$_GET["field"],0,1);
|
|
||||||
$qry = mysqli_query($dbconn,$queries["all"])
|
|
||||||
or die("Datenbank fehler: ".mysqli_error($dbconn));
|
|
||||||
$numres = mysqli_num_rows($qry);
|
|
||||||
if(!$numres)
|
if(!$numres)
|
||||||
{
|
{
|
||||||
$queries = createPartQry($page,$pagesize,$src,$combiner,$_GET["field"],1,1);
|
$queries = createPartQry($page,$pagesize,$src,$combiner,$field,1,1);
|
||||||
$qry = mysqli_query($dbconn,$queries["all"])
|
$numres = zaehleTreffer($dbconn, $queries);
|
||||||
or die("Datenbank fehler: ".mysqli_error($dbconn));
|
|
||||||
$numres = mysqli_num_rows($qry);
|
|
||||||
message("veraltete Datensätze wurden in die Suche einbezogen");
|
message("veraltete Datensätze wurden in die Suche einbezogen");
|
||||||
}
|
}
|
||||||
if($numres)
|
if($numres)
|
||||||
{
|
{
|
||||||
$qry = mysqli_query($dbconn,$queries["limited"])
|
$qry = db_abfrage($dbconn,$queries["limited"],$queries["params"])
|
||||||
or die("Datenbank fehler: ".mysqli_error($dbconn));
|
or die("Datenbank fehler: ".htmlspecialchars(mysqli_error($dbconn)));
|
||||||
while($res=mysqli_fetch_assoc($qry))
|
while($res=mysqli_fetch_assoc($qry))
|
||||||
{
|
{
|
||||||
$name = $res["vname"]." ".$res["nname"];
|
$adresse = makeadressline($res);
|
||||||
if(isset($res["firma"]))
|
$kdnr = (int)$res["kdnr"];
|
||||||
$name .= " <i><u>".$res["firma"]."</u></i>";
|
$aktionen = "<span class='del' title='Kunde löschen' onClick='askdel(\"Möchten Sie den Kunden ".$kdnr." und<br />ALLE ZUGEHÖRIGEN DATEN<br />wirklich <b>unwiederruflich</b> löschen?\",\"?action=kundenadd&kundeid=".$kdnr."&del=1\")'></span>"
|
||||||
if(isset($res["vwahl"]))
|
."<a href='?action=projectlist&kundeid=".$kdnr."'><span class='projects' title='Projekte dieses Kunden auflisten'></span></a>";
|
||||||
$res["tel"] = $res["vwahl"]."/".$res["tel"];
|
$zeile = array("<a href='?action=kundenshow&id=".$kdnr."'>".$kdnr."</a>", makenameline($res), $adresse["ort"], $adresse["str"], maketelline($res), $aktionen);
|
||||||
$adresse=makeadressline($res);
|
if(empty($res["updated_by"]))
|
||||||
if(!isset($res["updated_by"]))
|
$listlines[] = $zeile;
|
||||||
$listlines[] = array("<a href='?action=kundenshow&id=".$res["kdnr"]."'>".$res["kdnr"]."</a>",makenameline($res),$adresse["ort"], $adresse["str"], maketelline($res),"<span class='del' title='Kunde löschen' onClick='askdel(\"Möchten Sie den Kunden ".$res["kdnr"]." und<br />ALLE ZUGEHÖRIGEN DATEN<br />wirklich <b>unwiederruflich</b> löschen?\",\"?action=kundenadd&kundeid=".$res["kdnr"]."&del=1\")'></span><a href='?action=projectlist&kundeid=".$res["kdnr"]."'><span class='projects' title='Projekte dieses Kunden auflisten'></span></a>");
|
|
||||||
else
|
else
|
||||||
$speciallines[] = array("<a href='?action=kundenshow&id=".$res["kdnr"]."'>".$res["kdnr"]."</a>",makenameline($res),$adresse["ort"], $adresse["str"], maketelline($res),"<span class='del' title='Kunde löschen' onClick='askdel(\"Möchten Sie den Kunden ".$res["kdnr"]." und<br />ALLE ZUGEHÖRIGEN DATEN<br />wirklich <b>unwiederruflich</b> löschen?\",\"?action=kundenadd&kundeid=".$res["kdnr"]."&del=1\")'></span><a href='?action=projectlist&kundeid=".$res["kdnr"]."'><span class='projects' title='Projekte dieses Kunden auflisten'></span></a>");
|
$speciallines[] = $zeile;
|
||||||
}
|
}
|
||||||
$headings = array("Kd.Nr.","Name/<i><u>Firma</u></i>","Ort","Straße","Telefon","Löschen");
|
$headings = array("Kd.Nr.","Name/<i><u>Firma</u></i>","Ort","Straße","Telefon","Löschen");
|
||||||
$lastdisplay = (intval($page)+1)*$pagesize;
|
$lastdisplay = ($page+1)*$pagesize;
|
||||||
if($numres < $lastdisplay)
|
if($numres < $lastdisplay)
|
||||||
$lastdisplay = $numres;
|
$lastdisplay = $numres;
|
||||||
if($fulltag)
|
if($fulltag)
|
||||||
ok("Die Suche nach ".htmlspecialchars($fulltag)." ergab ".$numres." Ergebnisse.<br /> Ergebnis ".($page*$pagesize+1)." bis ".$lastdisplay);
|
ok("Die Suche nach ".htmlspecialchars($fulltag)." ergab ".$numres." Ergebnisse.<br /> Ergebnis ".($page*$pagesize+1)." bis ".$lastdisplay);
|
||||||
else
|
else
|
||||||
ok($numres." Kunden sind insgesamt gespeichert.");
|
ok($numres." Kunden sind insgesamt gespeichert.");
|
||||||
|
|
||||||
displayPages($pagesize,$page,$numres,"ajax_searchkunden");
|
displayPages($pagesize,$page,$numres,"ajax_searchkunden");
|
||||||
displayList($headings,$listlines,$speciallines);
|
displayList($headings,$listlines,$speciallines);
|
||||||
displayPages($pagesize,$page,$numres,"ajax_searchkunden");
|
displayPages($pagesize,$page,$numres,"ajax_searchkunden");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ok("Die Suche nach ".htmlspecialchars($fulltag)." ergab keine Ergebnisse.");
|
ok("Die Suche nach ".htmlspecialchars($fulltag)." ergab keine Ergebnisse.");
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
+29
-44
@@ -1,61 +1,47 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once("../incs/connectmysql.php");
|
require_once("../incs/connectmysql.php");
|
||||||
require_once("../incs/funcs.php");
|
require_once("../incs/funcs.php");
|
||||||
require_once("../incs/listfuncs.php");
|
require_once("../incs/listfuncs.php");
|
||||||
require('../smarty/libs/Smarty.class.php');
|
require('../smarty/libs/Smarty.class.php');
|
||||||
|
|
||||||
|
|
||||||
$smarty = new Smarty;
|
$smarty = new Smarty;
|
||||||
|
|
||||||
$pagesize = 50;
|
$pagesize = 50;
|
||||||
|
|
||||||
|
|
||||||
if(!isset($err))
|
if(!isset($err))
|
||||||
|
$err = "";
|
||||||
|
|
||||||
|
if(!$err)
|
||||||
{
|
{
|
||||||
|
// kommt per encodeURIComponent bereits als UTF-8
|
||||||
|
$fulltag = isset($_GET["search"]) && is_string($_GET["search"]) ? $_GET["search"] : "";
|
||||||
|
$link = isset($_GET["link"]) && is_string($_GET["link"]) ? $_GET["link"] : "";
|
||||||
|
$field = isset($_GET["field"]) && is_string($_GET["field"]) ? $_GET["field"] : "";
|
||||||
|
$page = isset($_GET["page"]) ? (int)$_GET["page"] : 0;
|
||||||
|
|
||||||
if(!isset($_GET["link"])){
|
$listlines = array();
|
||||||
$_GET["link"]="";
|
$src = explode(" ", $fulltag);
|
||||||
}
|
$combiner = $link == "OR" ? "OR" : "AND";
|
||||||
|
|
||||||
$fulltag = utf8_encode($_GET["search"]);
|
$queries = createPartQry($page,$pagesize,$src,$combiner,$field,0,2);
|
||||||
$src = explode(" ",$fulltag);
|
$numres = zaehleTreffer($dbconn, $queries);
|
||||||
$combiner = mysql_escape_string($_GET["link"]);
|
|
||||||
if($combiner != "AND" && $combiner != "OR")
|
|
||||||
{
|
|
||||||
$combiner = "AND";
|
|
||||||
}
|
|
||||||
$page = $_GET["page"];
|
|
||||||
|
|
||||||
$queries = createPartQry($page,$pagesize,$src,$combiner,$_GET["field"],0,2);
|
|
||||||
$qry = mysqli_query($dbconn,$queries["all"])
|
|
||||||
or die("Datenbank fehler: ".mysqli_error($dbconn));
|
|
||||||
$numres = mysqli_num_rows($qry);
|
|
||||||
if(!$numres)
|
if(!$numres)
|
||||||
{
|
{
|
||||||
$queries = createPartQry($page,$pagesize,$src,$combiner,$_GET["field"],1,2);
|
$queries = createPartQry($page,$pagesize,$src,$combiner,$field,1,2);
|
||||||
$qry = mysqli_query($dbconn,$queries["all"])
|
$numres = zaehleTreffer($dbconn, $queries);
|
||||||
or die("Datenbank fehler: ".mysqli_error($dbconn));
|
|
||||||
$numres = mysqli_num_rows($qry);
|
|
||||||
message("veraltete Datensätze wurden in die Suche einbezogen");
|
message("veraltete Datensätze wurden in die Suche einbezogen");
|
||||||
}
|
}
|
||||||
if($numres)
|
if($numres)
|
||||||
{
|
{
|
||||||
$qry = mysqli_query($dbconn,$queries["limited"])
|
$qry = db_abfrage($dbconn,$queries["limited"],$queries["params"])
|
||||||
or die("Datenbank fehler: ".mysqli_error($dbconn));
|
or die("Datenbank fehler: ".htmlspecialchars(mysqli_error($dbconn)));
|
||||||
while($res=mysqli_fetch_assoc($qry))
|
while($res=mysqli_fetch_assoc($qry))
|
||||||
{
|
{
|
||||||
if(!isset($res["nname"]))
|
$adresse = makeadressline($res);
|
||||||
$name = $res["firma"];
|
$kdnr = (int)$res["kdnr"];
|
||||||
else
|
$aktionen = "<span class='del' title='Lieferant löschen' onClick='askdel(\"Möchten Sie den Lieferanten ".$kdnr." und<br />ALLE ZUGEHÖRIGEN DATEN<br />wirklich <b>unwiederruflich</b> löschen?\",\"?action=lieferadd&kundeid=".$kdnr."&del=1\")'></span>";
|
||||||
$name = $res["vname"]." ".$res["nname"];
|
$listlines[] = array("<a href='?action=liefershow&id=".$kdnr."'>".$kdnr."</a>", makenameline($res), $adresse["ort"], $adresse["str"], maketelline($res), $aktionen);
|
||||||
if(isset($res["vwahl"]))
|
|
||||||
$res["tel"] = $res["vwahl"]."/".$res["tel"];
|
|
||||||
if(!isset($res["updated_by"]))
|
|
||||||
$listlines[] = array("<a href='?action=liefershow&id=".$res["kdnr"]."'>".$res["kdnr"]."</a>",$name,$res["plz"]." ".$res["ort"], $res["str"]." ".$res["hnr"], $res["tel"],"<span class='del' title='Kunde löschen' onClick='askdel(\"Möchten Sie den Kunden ".$res["kdnr"]." und<br />ALLE ZUGEHÖRIGEN DATEN<br />wirklich <b>unwiederruflich</b> löschen?\",\"?action=kundenadd&kundeid=".$res["kdnr"]."&del=1\")'></span>");
|
|
||||||
else
|
|
||||||
$speciallines[] = array("<a href='?action=liefershow&id=".$res["kdnr"]."'>".$res["kdnr"]."</a>",$name,$res["plz"]." ".$res["ort"], $res["str"]." ".$res["hnr"], $res["tel"],"<span class='del' title='Kunde löschen' onClick='askdel(\"Möchten Sie den Kunden ".$res["kdnr"]." und<br />ALLE ZUGEHÖRIGEN DATEN<br />wirklich <b>unwiederruflich</b> löschen?\",\"?action=kundenadd&kundeid=".$res["kdnr"]."&del=1\")'></span>");
|
|
||||||
}
|
}
|
||||||
$headings = array("Kd.Nr.","Name/Firma","Ort","Straße","Telefon","Löschen");
|
$headings = array("Kd.Nr.","Name/<i><u>Firma</u></i>","Ort","Straße","Telefon","Löschen");
|
||||||
$lastdisplay = ($page+1)*$pagesize;
|
$lastdisplay = ($page+1)*$pagesize;
|
||||||
if($numres < $lastdisplay)
|
if($numres < $lastdisplay)
|
||||||
$lastdisplay = $numres;
|
$lastdisplay = $numres;
|
||||||
@@ -63,13 +49,12 @@ if(!isset($err))
|
|||||||
ok("Die Suche nach ".htmlspecialchars($fulltag)." ergab ".$numres." Ergebnisse.<br /> Ergebnis ".($page*$pagesize+1)." bis ".$lastdisplay);
|
ok("Die Suche nach ".htmlspecialchars($fulltag)." ergab ".$numres." Ergebnisse.<br /> Ergebnis ".($page*$pagesize+1)." bis ".$lastdisplay);
|
||||||
else
|
else
|
||||||
ok($numres." Lieferanten sind insgesamt gespeichert.");
|
ok($numres." Lieferanten sind insgesamt gespeichert.");
|
||||||
|
|
||||||
$speciallines = Array();
|
displayPages($pagesize,$page,$numres,"ajax_searchliefer");
|
||||||
displayPages($pagesize,$page,$numres,"ajax_searchkunden");
|
displayList($headings,$listlines,array());
|
||||||
displayList($headings,$listlines,$speciallines);
|
displayPages($pagesize,$page,$numres,"ajax_searchliefer");
|
||||||
displayPages($pagesize,$page,$numres,"ajax_searchkunden");
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ok("Die Suche nach ".htmlspecialchars($fulltag)." ergab keine Ergebnisse.");
|
ok("Die Suche nach ".htmlspecialchars($fulltag)." ergab keine Ergebnisse.");
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
+3
-3
@@ -83,14 +83,14 @@ if(!isset($err))
|
|||||||
if($res["storno"] == 1){
|
if($res["storno"] == 1){
|
||||||
$listlines[] = array("<a href='?action=rechshow&id=".$res["id"]."'><font color='#FF0000'>".$res["drechnr"]."</font></a>",
|
$listlines[] = array("<a href='?action=rechshow&id=".$res["id"]."'><font color='#FF0000'>".$res["drechnr"]."</font></a>",
|
||||||
$res["date"],
|
$res["date"],
|
||||||
artikelListeHtml($res["artikel"]),
|
zeilenHtml($res["artikel"]),
|
||||||
$actions
|
$actions
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
$listlines[] = array("<a href='?action=rechshow&id=".$res["id"]."'>".$res["drechnr"]."</a>",
|
$listlines[] = array("<a href='?action=rechshow&id=".$res["id"]."'>".$res["drechnr"]."</a>",
|
||||||
$res["date"],
|
$res["date"],
|
||||||
artikelListeHtml($res["artikel"]),
|
zeilenHtml($res["artikel"]),
|
||||||
$actions
|
$actions
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -143,7 +143,7 @@ if(!isset($err))
|
|||||||
{
|
{
|
||||||
$speciallines[] = array("<a href='?action=rechshow&id=".$res["id"]."'>".$res["rechnr"]."</a>",
|
$speciallines[] = array("<a href='?action=rechshow&id=".$res["id"]."'>".$res["rechnr"]."</a>",
|
||||||
$res["date"],
|
$res["date"],
|
||||||
artikelListeHtml($res["artikel"]),
|
zeilenHtml($res["artikel"]),
|
||||||
"<span class='del' title='löschen' onClick='askdel(\"Möchten Sie das Dokument ".$res["rechnr"]."<br />wirklich <b>unwiederruflich</b> löschen?\",\"?action=rechadd&rechid=".$res["id"]."&del=1\")'></span>");
|
"<span class='del' title='löschen' onClick='askdel(\"Möchten Sie das Dokument ".$res["rechnr"]."<br />wirklich <b>unwiederruflich</b> löschen?\",\"?action=rechadd&rechid=".$res["id"]."&del=1\")'></span>");
|
||||||
}
|
}
|
||||||
$headings = array("Nummer","Datum","Artikel","Aktion");
|
$headings = array("Nummer","Datum","Artikel","Aktion");
|
||||||
|
|||||||
@@ -119,6 +119,15 @@ function db_sql_text($dbconn, $sql, $params = array())
|
|||||||
return $text;
|
return $text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Text als Praefix-Suchmuster fuer LIKE. % und _ waeren darin sonst
|
||||||
|
* Platzhalter; das Fluchtzeichen ist der Backslash.
|
||||||
|
*/
|
||||||
|
function db_like_praefix($text)
|
||||||
|
{
|
||||||
|
return str_replace(array("\\", "%", "_"), array("\\\\", "\%", "\_"), (string)$text)."%";
|
||||||
|
}
|
||||||
|
|
||||||
/* Erste Spalte der ersten Zeile, null ohne Treffer, bei Fehlern false. */
|
/* Erste Spalte der ersten Zeile, null ohne Treffer, bei Fehlern false. */
|
||||||
function db_wert($dbconn, $sql, $params = array())
|
function db_wert($dbconn, $sql, $params = array())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -36,6 +36,9 @@ function rrmdir($dir) {
|
|||||||
function del_files($path, $pattern) {
|
function del_files($path, $pattern) {
|
||||||
$matches = Array();
|
$matches = Array();
|
||||||
$entries = Array();
|
$entries = Array();
|
||||||
|
// Fehlt das Verzeichnis, gibt es auch nichts zu loeschen
|
||||||
|
if(!is_dir($path))
|
||||||
|
return;
|
||||||
$dir = dir($path);
|
$dir = dir($path);
|
||||||
while ($entry = $dir->read())
|
while ($entry = $dir->read())
|
||||||
{
|
{
|
||||||
@@ -51,6 +54,10 @@ function del_files($path, $pattern) {
|
|||||||
function search_file($path, $pattern) {
|
function search_file($path, $pattern) {
|
||||||
$matches = Array();
|
$matches = Array();
|
||||||
$entries = Array();
|
$entries = Array();
|
||||||
|
$ret = "";
|
||||||
|
// Fehlt das Verzeichnis, gibt es auch nichts zu finden
|
||||||
|
if(!is_dir($path))
|
||||||
|
return $ret;
|
||||||
$dir = dir($path);
|
$dir = dir($path);
|
||||||
while ($entry = $dir->read())
|
while ($entry = $dir->read())
|
||||||
{
|
{
|
||||||
|
|||||||
+151
-200
@@ -1,182 +1,100 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Die Suchbedingung der Kunden-, Lieferanten- und Adresssuche. $fields
|
||||||
|
* waehlt aus, worin gesucht wird, $src sind die einzelnen Suchbegriffe.
|
||||||
|
* Die Werte kommen als Platzhalter dazu, die Spaltennamen stehen fest.
|
||||||
|
*/
|
||||||
|
function partnerSuchbedingung($src, $combiner, $fields, &$params)
|
||||||
|
{
|
||||||
|
$spalten = array(
|
||||||
|
"all" => array("vname", "nname", "vname2", "nname2", "firma", "ort", "str", "plz", "partner.id"),
|
||||||
|
"kdnr" => array("partner.id"),
|
||||||
|
"name" => array("vname", "nname", "vname2", "nname2", "firma"),
|
||||||
|
"str" => array("str"),
|
||||||
|
"plz" => array("plz"),
|
||||||
|
"ort" => array("ort"),
|
||||||
|
"tel" => array("tel.nr"),
|
||||||
|
"kont" => array("kontakt"),
|
||||||
|
);
|
||||||
|
if(!isset($spalten[$fields]))
|
||||||
|
return "";
|
||||||
|
$combiner = $combiner == "OR" ? "OR" : "AND";
|
||||||
|
$bedingung = "";
|
||||||
|
foreach($src AS $tag)
|
||||||
|
{
|
||||||
|
$teile = array();
|
||||||
|
foreach($spalten[$fields] as $spalte)
|
||||||
|
{
|
||||||
|
$teile[] = "$spalte LIKE ?";
|
||||||
|
$params[] = "%".$tag."%";
|
||||||
|
}
|
||||||
|
$bedingung .= " $combiner (".implode(" OR ", $teile).")";
|
||||||
|
}
|
||||||
|
return $bedingung;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Kunden- bzw. Lieferantensuche, eine Zeile je Partner. $typ ist 1 fuer
|
||||||
|
* Kunden, 2 fuer Lieferanten. Mit $full kommen auch veraltete Versionen
|
||||||
|
* dazu; ihre Namen, Adressen und Telefonnummern stehen dann untereinander
|
||||||
|
* in einer Zelle (siehe zeilenHtml()).
|
||||||
|
* Rueckgabe: array("all" => sql, "limited" => sql mit LIMIT, "params" => Werte).
|
||||||
|
*/
|
||||||
function createPartQry($page,$pagesize,$src,$combiner,$fields,$full=0,$typ=1)
|
function createPartQry($page,$pagesize,$src,$combiner,$fields,$full=0,$typ=1)
|
||||||
{
|
{
|
||||||
|
$joins = "FROM partner
|
||||||
|
LEFT JOIN adresse ON adresse.partner_id = partner.id
|
||||||
|
LEFT JOIN strasse ON strasse.id = str_id
|
||||||
|
LEFT JOIN ort ON ort.id = ort_id
|
||||||
|
LEFT JOIN tel ON tel.partner_id = partner.id
|
||||||
|
LEFT JOIN kontakt ON kontakt.partner_id = partner.id";
|
||||||
if(!$full)
|
if(!$full)
|
||||||
{
|
$query = "SELECT partner.id AS kdnr,firma,vname,nname,vname2,nname2,ort,plz,str,hnr, tel.nr AS tel
|
||||||
$query = "SELECT partner.id AS kdnr,firma,vname,nname,vname2,nname2,ort,plz,str,hnr, tel.nr AS tel FROM partner
|
$joins
|
||||||
LEFT JOIN adresse ON adresse.partner_id = partner.id
|
WHERE updated_by = 0 AND adresse.typ_id = 1 AND partner.typ_id = ?";
|
||||||
LEFT JOIN strasse ON strasse.id = str_id
|
|
||||||
LEFT JOIN ort ON ort.id = ort_id
|
|
||||||
LEFT JOIN tel ON tel.partner_id = partner.id
|
|
||||||
LEFT JOIN kontakt ON kontakt.partner_id = partner.id
|
|
||||||
WHERE updated_by = 0 and adresse.typ_id = 1 AND partner.typ_id = $typ";
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
$query = "SELECT partner.id AS kdnr,firma,
|
||||||
$query = "SELECT partner.id AS kdnr,firma,GROUP_CONCAT(CONCAT(vname,' ',nname) SEPARATOR '<br />') AS nname, '' AS vname,GROUP_CONCAT(CONCAT(vname2,' ',nname2) SEPARATOR '<br />') AS nname2,'' AS vname2,'' AS ort,GROUP_CONCAT(CONCAT(plz,' ',ort) SEPARATOR '<br />') AS plz,GROUP_CONCAT(CONCAT(str,' ',hnr) SEPARATOR '<br />') AS str,'' AS hnr, GROUP_CONCAT(tel.nr SEPARATOR '<br />') AS tel FROM partner
|
GROUP_CONCAT(CONCAT(vname,' ',nname) ORDER BY adresse.id, tel.id SEPARATOR '\n') AS nname, '' AS vname,
|
||||||
LEFT JOIN adresse ON adresse.partner_id = partner.id
|
GROUP_CONCAT(CONCAT(vname2,' ',nname2) ORDER BY adresse.id, tel.id SEPARATOR '\n') AS nname2,'' AS vname2,'' AS ort,
|
||||||
LEFT JOIN strasse ON strasse.id = str_id
|
GROUP_CONCAT(CONCAT(plz,' ',ort) ORDER BY adresse.id, tel.id SEPARATOR '\n') AS plz,
|
||||||
LEFT JOIN ort ON ort.id = ort_id
|
GROUP_CONCAT(CONCAT(str,' ',hnr) ORDER BY adresse.id, tel.id SEPARATOR '\n') AS str,'' AS hnr,
|
||||||
LEFT JOIN tel ON tel.partner_id = partner.id
|
GROUP_CONCAT(tel.nr ORDER BY adresse.id, tel.id SEPARATOR '\n') AS tel
|
||||||
LEFT JOIN kontakt ON kontakt.partner_id = partner.id
|
$joins
|
||||||
WHERE partner.typ_id = $typ";
|
WHERE partner.typ_id = ?";
|
||||||
}
|
$params = array((int)$typ);
|
||||||
|
$query .= partnerSuchbedingung($src, $combiner, $fields, $params);
|
||||||
switch($fields)
|
// Ohne feste Reihenfolge kann dieselbe Zeile beim Blaettern zweimal
|
||||||
{
|
// oder gar nicht auftauchen
|
||||||
case "all":
|
$query .= " GROUP BY partner.id ORDER BY partner.id";
|
||||||
foreach($src AS $tag)
|
|
||||||
{
|
|
||||||
$tag = "%".$tag."%";
|
|
||||||
$query .= " $combiner (vname LIKE '$tag' OR nname LIKE '$tag' OR vname2 LIKE '$tag' OR nname2 LIKE '$tag' OR firma LIKE '$tag' OR ort LIKE '$tag' OR str LIKE '$tag' OR plz LIKE '$tag' OR partner.id LIKE '$tag')";
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "kdnr":
|
|
||||||
foreach($src AS $tag)
|
|
||||||
{
|
|
||||||
$tag = "%".$tag."%";
|
|
||||||
$query .= " $combiner (partner.id LIKE '$tag')";
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "name":
|
|
||||||
foreach($src AS $tag)
|
|
||||||
{
|
|
||||||
$tag = "%".$tag."%";
|
|
||||||
$query .= " $combiner (vname LIKE '$tag' OR nname LIKE '$tag' OR vname2 LIKE '$tag' OR nname2 LIKE '$tag' OR firma LIKE '$tag')";
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "str":
|
|
||||||
foreach($src AS $tag)
|
|
||||||
{
|
|
||||||
$tag = "%".$tag."%";
|
|
||||||
$query .= " $combiner (str LIKE '$tag')";
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "plz":
|
|
||||||
foreach($src AS $tag)
|
|
||||||
{
|
|
||||||
$tag = "%".$tag."%";
|
|
||||||
$query .= " $combiner (plz LIKE '$tag')";
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "ort":
|
|
||||||
foreach($src AS $tag)
|
|
||||||
{
|
|
||||||
$tag = "%".$tag."%";
|
|
||||||
$query .= " $combiner (ort LIKE '$tag')";
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "tel":
|
|
||||||
foreach($src AS $tag)
|
|
||||||
{
|
|
||||||
$tag = "%".$tag."%";
|
|
||||||
$query .= " $combiner (tel.nr LIKE '$tag')";
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "kont":
|
|
||||||
foreach($src AS $tag)
|
|
||||||
{
|
|
||||||
$tag = "%".$tag."%";
|
|
||||||
$query .= " $combiner (kontakt LIKE '$tag')";
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
$query .= " GROUP BY partner.id";
|
|
||||||
$ret["all"] = $query;
|
$ret["all"] = $query;
|
||||||
$query .= " LIMIT ".(intval($page)*$pagesize).", $pagesize";
|
$ret["limited"] = $query." LIMIT ".((int)$page*(int)$pagesize).", ".(int)$pagesize;
|
||||||
$ret["limited"] = $query;
|
$ret["params"] = $params;
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Adresssuche: wie createPartQry(), aber eine Zeile je Adresse statt je
|
||||||
|
* Partner. Damit laesst sich fuer ein Dokument eine Nebenadresse auswaehlen.
|
||||||
|
*/
|
||||||
function createAdressQry($page,$pagesize,$src,$combiner,$fields,$full=0,$typ=1)
|
function createAdressQry($page,$pagesize,$src,$combiner,$fields,$full=0,$typ=1)
|
||||||
{
|
{
|
||||||
if(!$full)
|
$query = "SELECT partner.id AS kdnr,firma,vname,nname,vname2,nname2,ort,plz,str,hnr,adresse.id AS adrid, tel.nr AS tel
|
||||||
{
|
FROM partner
|
||||||
$query = "SELECT partner.id AS kdnr,firma,vname,nname,vname2,nname2,ort,plz,str,hnr,adresse.id AS adrid, tel.nr AS tel
|
LEFT JOIN adresse ON adresse.partner_id = partner.id
|
||||||
FROM partner
|
LEFT JOIN strasse ON strasse.id = str_id
|
||||||
LEFT JOIN adresse ON adresse.partner_id = partner.id
|
LEFT JOIN ort ON ort.id = ort_id
|
||||||
LEFT JOIN strasse ON strasse.id = str_id
|
LEFT JOIN tel ON tel.partner_id = partner.id
|
||||||
LEFT JOIN ort ON ort.id = ort_id
|
LEFT JOIN kontakt ON kontakt.partner_id = partner.id
|
||||||
LEFT JOIN tel ON tel.partner_id = partner.id
|
WHERE ".($full ? "" : "updated_by = 0 AND ")."partner.typ_id = ?";
|
||||||
LEFT JOIN kontakt ON kontakt.partner_id = partner.id
|
$params = array((int)$typ);
|
||||||
WHERE updated_by = 0 AND partner.typ_id = $typ";
|
$query .= partnerSuchbedingung($src, $combiner, $fields, $params);
|
||||||
}
|
$query .= " GROUP BY adresse.id ORDER BY adresse.id";
|
||||||
else
|
|
||||||
{
|
|
||||||
$query = "SELECT partner.id AS kdnr,firma,vname,nname,vname2,nname2,ort,plz,str,hnr,adresse.id AS adrid, tel.nr AS tel
|
|
||||||
FROM partner
|
|
||||||
LEFT JOIN adresse ON adresse.partner_id = partner.id
|
|
||||||
LEFT JOIN strasse ON strasse.id = str_id
|
|
||||||
LEFT JOIN ort ON ort.id = ort_id
|
|
||||||
LEFT JOIN tel ON tel.partner_id = partner.id
|
|
||||||
LEFT JOIN kontakt ON kontakt.partner_id = partner.id
|
|
||||||
WHERE partner.typ_id = $typ";
|
|
||||||
}
|
|
||||||
|
|
||||||
switch($fields)
|
|
||||||
{
|
|
||||||
case "all":
|
|
||||||
foreach($src AS $tag)
|
|
||||||
{
|
|
||||||
$tag = "%".$tag."%";
|
|
||||||
$query .= " $combiner (vname LIKE '$tag' OR nname LIKE '$tag' OR vname2 LIKE '$tag' OR nname2 LIKE '$tag' OR firma LIKE '$tag' OR ort LIKE '$tag' OR str LIKE '$tag' OR plz LIKE '$tag' OR partner.id LIKE '$tag')";
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "kdnr":
|
|
||||||
foreach($src AS $tag)
|
|
||||||
{
|
|
||||||
$tag = "%".$tag."%";
|
|
||||||
$query .= " $combiner (partner.id LIKE '$tag')";
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "name":
|
|
||||||
foreach($src AS $tag)
|
|
||||||
{
|
|
||||||
$tag = "%".$tag."%";
|
|
||||||
$query .= " $combiner (vname LIKE '$tag' OR nname LIKE '$tag' OR vname2 LIKE '$tag' OR nname2 LIKE '$tag' OR firma LIKE '$tag')";
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "str":
|
|
||||||
foreach($src AS $tag)
|
|
||||||
{
|
|
||||||
$tag = "%".$tag."%";
|
|
||||||
$query .= " $combiner (str LIKE '$tag')";
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "plz":
|
|
||||||
foreach($src AS $tag)
|
|
||||||
{
|
|
||||||
$tag = "%".$tag."%";
|
|
||||||
$query .= " $combiner (plz LIKE '$tag')";
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "ort":
|
|
||||||
foreach($src AS $tag)
|
|
||||||
{
|
|
||||||
$tag = "%".$tag."%";
|
|
||||||
$query .= " $combiner (ort LIKE '$tag')";
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "tel":
|
|
||||||
foreach($src AS $tag)
|
|
||||||
{
|
|
||||||
$tag = "%".$tag."%";
|
|
||||||
$query .= " $combiner (tel.nr LIKE '$tag')";
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "kont":
|
|
||||||
foreach($src AS $tag)
|
|
||||||
{
|
|
||||||
$tag = "%".$tag."%";
|
|
||||||
$query .= " $combiner (kontakt LIKE '$tag')";
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
$query .= " GROUP BY adresse.id";
|
|
||||||
$ret["all"] = $query;
|
$ret["all"] = $query;
|
||||||
$query .= " LIMIT ".$page*$pagesize.", $pagesize";
|
$ret["limited"] = $query." LIMIT ".((int)$page*(int)$pagesize).", ".(int)$pagesize;
|
||||||
$ret["limited"] = $query;
|
$ret["params"] = $params;
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -240,53 +158,62 @@ function createKdnRechQry($page,$pagesize,$src,$combiner,$id,$typ,$sks=0)
|
|||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Projekte eines Kunden, Rueckgabe wie createKdnRechQry(). */
|
||||||
function createKdnProjectQry($page,$pagesize,$src,$combiner,$id)
|
function createKdnProjectQry($page,$pagesize,$src,$combiner,$id)
|
||||||
{
|
{
|
||||||
$query = "SELECT project.id, project.name,
|
$combiner = $combiner == "OR" ? "OR" : "AND";
|
||||||
|
$params = array($id);
|
||||||
|
$query = "SELECT project.id, project.name,
|
||||||
DATE_FORMAT(project.datetime, '%d.%m.%Y') AS date,
|
DATE_FORMAT(project.datetime, '%d.%m.%Y') AS date,
|
||||||
SUM(CASE WHEN rechn = 0 THEN work.std ELSE 0 END) AS work
|
SUM(CASE WHEN rechn = 0 THEN work.std ELSE 0 END) AS work
|
||||||
FROM project
|
FROM project
|
||||||
JOIN work ON project.id = work.project_id
|
JOIN work ON project.id = work.project_id
|
||||||
AND partner_id='".$id."'";
|
AND partner_id = ?";
|
||||||
foreach($src AS $tag)
|
foreach($src AS $tag)
|
||||||
{
|
{
|
||||||
$tag .= "%";
|
$tag .= "%";
|
||||||
$query .= " $combiner (work.bezeichn LIKE '$tag' OR project.name LIKE '$tag' OR DATE_FORMAT(project.datetime, '%d.%m.%Y') LIKE '$tag')";
|
$query .= " $combiner (work.bezeichn LIKE ? OR project.name LIKE ? OR DATE_FORMAT(project.datetime, '%d.%m.%Y') LIKE ?)";
|
||||||
|
array_push($params, $tag, $tag, $tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
$query .= " GROUP BY project.id ORDER BY project.datetime DESC ";
|
$query .= " GROUP BY project.id ORDER BY project.datetime DESC ";
|
||||||
|
|
||||||
$ret["all"] = $query;
|
$ret["all"] = $query;
|
||||||
$query .= " LIMIT ".$page*$pagesize.", $pagesize";
|
$ret["limited"] = $query." LIMIT ".((int)$page*(int)$pagesize).", ".(int)$pagesize;
|
||||||
$ret["limited"] = $query;
|
$ret["params"] = $params;
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Kommissionsadressen (adresstyp 5) eines Kunden, Rueckgabe wie createKdnRechQry(). */
|
||||||
function createKommQry($page,$pagesize,$src,$combiner,$id)
|
function createKommQry($page,$pagesize,$src,$combiner,$id)
|
||||||
{
|
{
|
||||||
$query = "SELECT adresse.id, adresse.partner_id, firma, vname, nname, vname2, nname2, titel_id, titel2_id, anrede_id, anrede2_id, str, hnr, ort, ortsteil,plz,ort,nr AS tel,vwahl
|
$combiner = $combiner == "OR" ? "OR" : "AND";
|
||||||
|
$params = array($id);
|
||||||
|
$query = "SELECT adresse.id, adresse.partner_id, firma, vname, nname, vname2, nname2, titel_id, titel2_id, anrede_id, anrede2_id, str, hnr, ort, ortsteil,plz,ort,nr AS tel,vwahl
|
||||||
FROM adresse
|
FROM adresse
|
||||||
LEFT JOIN strasse ON adresse.str_id = strasse.id
|
LEFT JOIN strasse ON adresse.str_id = strasse.id
|
||||||
LEFT JOIN ort ON ort_id = ort.id
|
LEFT JOIN ort ON ort_id = ort.id
|
||||||
LEFT JOIN tel ON adresse.id = tel.adresse_id
|
LEFT JOIN tel ON adresse.id = tel.adresse_id
|
||||||
WHERE adresse.partner_id='".$id."' AND adresse.typ_id = '5' ";
|
WHERE adresse.partner_id = ? AND adresse.typ_id = 5 ";
|
||||||
foreach($src AS $tag)
|
foreach($src AS $tag)
|
||||||
{
|
{
|
||||||
$tag .= "%";
|
$tag .= "%";
|
||||||
$query .= " $combiner (ort LIKE '$tag'
|
$query .= " $combiner (ort LIKE ?
|
||||||
OR str LIKE '$tag'
|
OR str LIKE ?
|
||||||
OR nr LIKE '$tag'
|
OR nr LIKE ?
|
||||||
OR vname LIKE '$tag'
|
OR vname LIKE ?
|
||||||
OR nname LIKE '$tag'
|
OR nname LIKE ?
|
||||||
OR vname2 LIKE '$tag'
|
OR vname2 LIKE ?
|
||||||
OR nname2 LIKE '$tag'
|
OR nname2 LIKE ?
|
||||||
OR firma LIKE '$tag')";
|
OR firma LIKE ?)";
|
||||||
|
for($i = 0; $i < 8; $i++)
|
||||||
|
$params[] = $tag;
|
||||||
}
|
}
|
||||||
$query .= " GROUP BY adresse.id ORDER BY adresse.id DESC ";
|
$query .= " GROUP BY adresse.id ORDER BY adresse.id DESC ";
|
||||||
|
|
||||||
$ret["all"] = $query;
|
$ret["all"] = $query;
|
||||||
$query .= " LIMIT ".$page*$pagesize.", $pagesize";
|
$ret["limited"] = $query." LIMIT ".((int)$page*(int)$pagesize).", ".(int)$pagesize;
|
||||||
$ret["limited"] = $query;
|
$ret["params"] = $params;
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -461,10 +388,29 @@ function createMsgQry($page,$pagesize,$src,$combiner,$user)
|
|||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Artikelliste aus createRechQry()/createKdnRechQry() als escaptes HTML, eine Zeile je Artikel */
|
/*
|
||||||
function artikelListeHtml($artikel)
|
* Zahl der Treffer einer Suche. Die Abfragen aus create*Qry() gruppieren,
|
||||||
|
* deshalb wird die ungekuerzte Abfrage ausgefuehrt und gezaehlt, statt mit
|
||||||
|
* COUNT(*) zu arbeiten.
|
||||||
|
*/
|
||||||
|
function zaehleTreffer($dbconn, $queries)
|
||||||
{
|
{
|
||||||
return implode("<br />", array_map("htmlspecialchars", explode("\n", (string)$artikel)));
|
$res = isset($queries["params"])
|
||||||
|
? db_abfrage($dbconn, $queries["all"], $queries["params"])
|
||||||
|
: mysqli_query($dbconn, $queries["all"]);
|
||||||
|
if(!$res)
|
||||||
|
die("Datenbank fehler: ".htmlspecialchars(mysqli_error($dbconn)));
|
||||||
|
return mysqli_num_rows($res);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Mit \n verbundene Werte aus GROUP_CONCAT als escaptes HTML, eine Zeile
|
||||||
|
* je Wert. Zusammengebaut wird erst hier, damit Daten aus der Datenbank
|
||||||
|
* nicht als HTML durchschlagen.
|
||||||
|
*/
|
||||||
|
function zeilenHtml($text)
|
||||||
|
{
|
||||||
|
return implode("<br />", array_map("htmlspecialchars", explode("\n", (string)$text)));
|
||||||
}
|
}
|
||||||
|
|
||||||
function displayPages($pagesize,$currpage,$numentries,$refreshfunc,$ad_params = "")
|
function displayPages($pagesize,$currpage,$numentries,$refreshfunc,$ad_params = "")
|
||||||
@@ -585,25 +531,30 @@ function displayList($header,$entries,$speciallines=array(),$colors=array())
|
|||||||
echo "</table>";
|
echo "</table>";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Bausteine fuer die Trefferlisten. Sie liefern fertiges HTML und escapen
|
||||||
|
* die Werte aus der Datenbank deshalb selbst.
|
||||||
|
*/
|
||||||
function makenameline($adresse)
|
function makenameline($adresse)
|
||||||
{
|
{
|
||||||
$ret = $adresse["vname"]." ".$adresse["nname"];
|
$ret = zeilenHtml(trim($adresse["vname"]." ".$adresse["nname"]));
|
||||||
if($adresse["firma"])
|
if(!empty($adresse["firma"]))
|
||||||
$ret .= "<br /><i><u>".$adresse["firma"]."</u></i>";
|
$ret .= "<br /><i><u>".zeilenHtml($adresse["firma"])."</u></i>";
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
function makeadressline($adresse)
|
function makeadressline($adresse)
|
||||||
{
|
{
|
||||||
$ret["ort"] = $adresse["plz"]." ".$adresse["ort"];
|
$ret["ort"] = zeilenHtml(trim($adresse["plz"]." ".$adresse["ort"]));
|
||||||
$ret["str"] = $adresse["str"]." ".$adresse["hnr"];
|
$ret["str"] = zeilenHtml(trim($adresse["str"]." ".$adresse["hnr"]));
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
function maketelline($tel)
|
function maketelline($tel)
|
||||||
{
|
{
|
||||||
$ret="";
|
$nr = isset($tel["tel"]) ? (string)$tel["tel"] : "";
|
||||||
if(isset($tel["vwahl"]) && !stristr($tel["tel"], "-") && !stristr($tel["tel"], "/"))
|
$ret = "";
|
||||||
$ret = $tel["vwahl"]."-";
|
if(!empty($tel["vwahl"]) && !str_contains($nr, "-") && !str_contains($nr, "/"))
|
||||||
$ret .= $tel["tel"];
|
$ret = zeilenHtml($tel["vwahl"])."-";
|
||||||
|
$ret .= zeilenHtml($nr);
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+13
-48
@@ -1,36 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once("saveNchange.php");
|
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------
|
|
||||||
* Hilfsfunktionen für Formularwerte
|
|
||||||
* ------------------------------------------------------------------ */
|
|
||||||
|
|
||||||
/* Getrimmter Text aus $_POST, fehlend oder kein Text ergibt "" */
|
|
||||||
function formularText($name)
|
|
||||||
{
|
|
||||||
return isset($_POST[$name]) && is_string($_POST[$name]) ? trim($_POST[$name]) : "";
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Zahl aus $_POST in deutscher Schreibweise. Steht ein Komma darin, ist es
|
* Rechnungen, Angebote, Lieferscheine und Briefe. Die Hilfsfunktionen für
|
||||||
* der Dezimaltrenner und Punkte sind Tausendertrenner ("1.234,50"). Ohne
|
* Formularwerte (formularText(), formularZahl(), formularGanzzahl()) stehen
|
||||||
* Komma gilt ein Punkt als Dezimaltrenner ("12.50", so liefert ihn die
|
* in saveNchange.php, weil beide Module sie brauchen.
|
||||||
* Artikel-Autovervollständigung). Leere oder ungültige Eingaben werden 0 -
|
|
||||||
* so hat sie der frühere, nicht strikte Modus gespeichert.
|
|
||||||
*/
|
*/
|
||||||
function formularZahl($name)
|
require_once("saveNchange.php");
|
||||||
{
|
|
||||||
$wert = str_replace(" ", "", formularText($name));
|
|
||||||
if(str_contains($wert, ","))
|
|
||||||
$wert = str_replace(array(".", ","), array("", "."), $wert);
|
|
||||||
return is_numeric($wert) ? $wert : "0";
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Ganzzahl aus $_POST, gerundet wie MariaDB beim Speichern */
|
|
||||||
function formularGanzzahl($name)
|
|
||||||
{
|
|
||||||
return (int)round((float)formularZahl($name));
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Die zwölf Ankreuzfelder für den Adressblock als 0/1-Zeichenkette */
|
/* Die zwölf Ankreuzfelder für den Adressblock als 0/1-Zeichenkette */
|
||||||
function formularAdressfelder()
|
function formularAdressfelder()
|
||||||
@@ -423,7 +397,7 @@ function saveRechnung($dbconn,$update)
|
|||||||
|
|
||||||
// Alles oder nichts: bricht ein Schritt ab, bleibt keine halbe Rechnung
|
// Alles oder nichts: bricht ein Schritt ab, bleibt keine halbe Rechnung
|
||||||
// zurück. Der Entwurf in tmp_rechnung bleibt dann erhalten.
|
// zurück. Der Entwurf in tmp_rechnung bleibt dann erhalten.
|
||||||
mysqli_begin_transaction($dbconn);
|
beginneSpeichern($dbconn);
|
||||||
$err = 0;
|
$err = 0;
|
||||||
|
|
||||||
if($update)
|
if($update)
|
||||||
@@ -536,13 +510,9 @@ function saveRechnung($dbconn,$update)
|
|||||||
if(!$err)
|
if(!$err)
|
||||||
$err = loescheEntwurf($dbconn, $type);
|
$err = loescheEntwurf($dbconn, $type);
|
||||||
|
|
||||||
if(!$err)
|
beendeSpeichern($dbconn, $err);
|
||||||
|
if($err)
|
||||||
{
|
{
|
||||||
mysqli_commit($dbconn);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
mysqli_rollback($dbconn);
|
|
||||||
$err = error("Es ist ein Fehler beim Speichern aufgetreten, <br />
|
$err = error("Es ist ein Fehler beim Speichern aufgetreten, <br />
|
||||||
Ihre Rechnung ist aber noch vorhanden, <br />
|
Ihre Rechnung ist aber noch vorhanden, <br />
|
||||||
Bitte gehen Sie <a href='?action=rechnungadd&type=$type'>zurück zum Rechnungsformular</a> <br />
|
Bitte gehen Sie <a href='?action=rechnungadd&type=$type'>zurück zum Rechnungsformular</a> <br />
|
||||||
@@ -598,7 +568,7 @@ function saveTmpRechnung($dbconn, $nurAktive)
|
|||||||
);
|
);
|
||||||
$set = implode(", ", array_map(function($spalte) { return "`$spalte` = ?"; }, array_keys($felder)));
|
$set = implode(", ", array_map(function($spalte) { return "`$spalte` = ?"; }, array_keys($felder)));
|
||||||
|
|
||||||
mysqli_begin_transaction($dbconn);
|
beginneSpeichern($dbconn);
|
||||||
$err = 0;
|
$err = 0;
|
||||||
$progressid = db_wert($dbconn, "SELECT id FROM tmp_rechnung WHERE user_id = ? AND typ_id = ? ORDER BY id LIMIT 1", array($_SESSION["user"], $type));
|
$progressid = db_wert($dbconn, "SELECT id FROM tmp_rechnung WHERE user_id = ? AND typ_id = ? ORDER BY id LIMIT 1", array($_SESSION["user"], $type));
|
||||||
if($progressid === false)
|
if($progressid === false)
|
||||||
@@ -649,17 +619,14 @@ function saveTmpRechnung($dbconn, $nurAktive)
|
|||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if($err)
|
beendeSpeichern($dbconn, $err);
|
||||||
mysqli_rollback($dbconn);
|
|
||||||
else
|
|
||||||
mysqli_commit($dbconn);
|
|
||||||
return array($progressid, $err);
|
return array($progressid, $err);
|
||||||
}
|
}
|
||||||
|
|
||||||
function delRechnung($dbconn,$id)
|
function delRechnung($dbconn,$id)
|
||||||
{
|
{
|
||||||
$err = 0;
|
$err = 0;
|
||||||
mysqli_begin_transaction($dbconn);
|
beginneSpeichern($dbconn);
|
||||||
db_abfrage($dbconn, "DELETE FROM artikel_rechn WHERE rech_id = ?", array($id)) or $err = error("Fehler beim löschen der Artikel-Rechnung Beziehung <br />".mysqli_error($dbconn));
|
db_abfrage($dbconn, "DELETE FROM artikel_rechn WHERE rech_id = ?", array($id)) or $err = error("Fehler beim löschen der Artikel-Rechnung Beziehung <br />".mysqli_error($dbconn));
|
||||||
if(!$err)
|
if(!$err)
|
||||||
db_abfrage($dbconn, "DELETE FROM artikel_eigensch WHERE rech_id = ?", array($id)) or $err = error("Fehler beim löschen der Artikel-Eigenschaften Beziehung <br />".mysqli_error($dbconn));
|
db_abfrage($dbconn, "DELETE FROM artikel_eigensch WHERE rech_id = ?", array($id)) or $err = error("Fehler beim löschen der Artikel-Eigenschaften Beziehung <br />".mysqli_error($dbconn));
|
||||||
@@ -667,8 +634,7 @@ function delRechnung($dbconn,$id)
|
|||||||
db_abfrage($dbconn, "DELETE FROM rechnung WHERE id = ? LIMIT 1", array($id)) or $err = error("Fehler beim löschen der Rechnung <br />".mysqli_error($dbconn));
|
db_abfrage($dbconn, "DELETE FROM rechnung WHERE id = ? LIMIT 1", array($id)) or $err = error("Fehler beim löschen der Rechnung <br />".mysqli_error($dbconn));
|
||||||
if(!$err)
|
if(!$err)
|
||||||
$err = saveLog($dbconn, db_sql_text($dbconn, "DELETE FROM rechnung WHERE id = ? LIMIT 1", array($id))." [rechnung DEL]", "", "löschen");
|
$err = saveLog($dbconn, db_sql_text($dbconn, "DELETE FROM rechnung WHERE id = ? LIMIT 1", array($id))." [rechnung DEL]", "", "löschen");
|
||||||
$err ? mysqli_rollback($dbconn) : mysqli_commit($dbconn);
|
return beendeSpeichern($dbconn, $err);
|
||||||
return $err;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Storno setzen (1) oder zurücknehmen (0) */
|
/* Storno setzen (1) oder zurücknehmen (0) */
|
||||||
@@ -717,7 +683,7 @@ function copyRech($dbconn,$id,$adrid)
|
|||||||
if($partnerid === false)
|
if($partnerid === false)
|
||||||
return error("Fehler beim ermitteln der Adressdaten <br />".mysqli_error($dbconn));
|
return error("Fehler beim ermitteln der Adressdaten <br />".mysqli_error($dbconn));
|
||||||
|
|
||||||
mysqli_begin_transaction($dbconn);
|
beginneSpeichern($dbconn);
|
||||||
list($rechnr, $err) = neueRechnungsnummer($dbconn, $res["typ_id"]);
|
list($rechnr, $err) = neueRechnungsnummer($dbconn, $res["typ_id"]);
|
||||||
if(!$err)
|
if(!$err)
|
||||||
{
|
{
|
||||||
@@ -746,8 +712,7 @@ function copyRech($dbconn,$id,$adrid)
|
|||||||
if(!$err)
|
if(!$err)
|
||||||
$err = saveLog($dbconn, db_sql_text($dbconn, $sql, array($rechid, $id))." [rechnung copy]", "DELETE FROM artikel_eigensch WHERE rech_id = $rechid", "anlegen");
|
$err = saveLog($dbconn, db_sql_text($dbconn, $sql, array($rechid, $id))." [rechnung copy]", "DELETE FROM artikel_eigensch WHERE rech_id = $rechid", "anlegen");
|
||||||
}
|
}
|
||||||
$err ? mysqli_rollback($dbconn) : mysqli_commit($dbconn);
|
return beendeSpeichern($dbconn, $err);
|
||||||
return $err;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function calculateRechnungsSum($dbconn, $rechid, $inclmwst)
|
function calculateRechnungsSum($dbconn, $rechid, $inclmwst)
|
||||||
|
|||||||
+1141
-679
File diff suppressed because it is too large
Load Diff
+15
-13
@@ -7,8 +7,8 @@ function ajax_searchkunden(page)
|
|||||||
search_in_progress = 1;
|
search_in_progress = 1;
|
||||||
document.getElementById("kdnsrc_list").innerHTML = "<p><img src='pics/progress_white.gif' /></p>";
|
document.getElementById("kdnsrc_list").innerHTML = "<p><img src='pics/progress_white.gif' /></p>";
|
||||||
//document.getElementById("kdnsrc_src").disabled = true;
|
//document.getElementById("kdnsrc_src").disabled = true;
|
||||||
field = escape(document.getElementById("kdnsrc_field").value);
|
field = encodeURIComponent(document.getElementById("kdnsrc_field").value);
|
||||||
search = escape(document.getElementById("kdnsrc_src").value);
|
search = encodeURIComponent(document.getElementById("kdnsrc_src").value);
|
||||||
|
|
||||||
var url = "ajax/searchkunden.php?field=" + field + "&page=" + page + "&search=" + search;
|
var url = "ajax/searchkunden.php?field=" + field + "&page=" + page + "&search=" + search;
|
||||||
reqkdnsrc = new XMLHttpRequest();
|
reqkdnsrc = new XMLHttpRequest();
|
||||||
@@ -35,7 +35,7 @@ function ajax_searchzeit(page,user)
|
|||||||
search_in_progress = 1;
|
search_in_progress = 1;
|
||||||
document.getElementById("termcontainer-"+user).innerHTML = "<p><img src='pics/progress_white.gif' /></p>";
|
document.getElementById("termcontainer-"+user).innerHTML = "<p><img src='pics/progress_white.gif' /></p>";
|
||||||
//document.getElementById("kdnsrc_src").disabled = true;
|
//document.getElementById("kdnsrc_src").disabled = true;
|
||||||
search = escape(document.getElementById("zeit_src-"+user).value);
|
search = encodeURIComponent(document.getElementById("zeit_src-"+user).value);
|
||||||
|
|
||||||
var url = "ajax/searchzeit.php?page=" + page + "&user=" + user + "&search=" + search;
|
var url = "ajax/searchzeit.php?page=" + page + "&user=" + user + "&search=" + search;
|
||||||
reqkdnsrc = new XMLHttpRequest();
|
reqkdnsrc = new XMLHttpRequest();
|
||||||
@@ -55,15 +55,17 @@ function ajax_searchzeit(page,user)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function ajax_searchadress(rechid,subact,page)
|
// page zuerst, damit die Seitenschaltung (displayPages) die Nummer
|
||||||
|
// als erstes Argument uebergeben kann - wie bei den anderen Suchen
|
||||||
|
function ajax_searchadress(page,rechid,subact)
|
||||||
{
|
{
|
||||||
if(!search_in_progress)
|
if(!search_in_progress)
|
||||||
{
|
{
|
||||||
search_in_progress = 1;
|
search_in_progress = 1;
|
||||||
document.getElementById("adrsrc_list").innerHTML = "<p><img src='pics/progress_white.gif' /></p>";
|
document.getElementById("adrsrc_list").innerHTML = "<p><img src='pics/progress_white.gif' /></p>";
|
||||||
//document.getElementById("kdnsrc_src").disabled = true;
|
//document.getElementById("kdnsrc_src").disabled = true;
|
||||||
field = escape(document.getElementById("adrsrc_field").value);
|
field = encodeURIComponent(document.getElementById("adrsrc_field").value);
|
||||||
search = escape(document.getElementById("adrsrc_src").value);
|
search = encodeURIComponent(document.getElementById("adrsrc_src").value);
|
||||||
|
|
||||||
var url = "ajax/searchadress.php?field=" + field + "&page=" + page + "&search=" + search + "&rechid=" + rechid + "&subact=" + subact;
|
var url = "ajax/searchadress.php?field=" + field + "&page=" + page + "&search=" + search + "&rechid=" + rechid + "&subact=" + subact;
|
||||||
reqadrsrc = new XMLHttpRequest();
|
reqadrsrc = new XMLHttpRequest();
|
||||||
@@ -90,8 +92,8 @@ function ajax_searchliefer(page)
|
|||||||
search_in_progress = 1;
|
search_in_progress = 1;
|
||||||
document.getElementById("kdnsrc_list").innerHTML = "<p><img src='pics/progress_white.gif' /></p>";
|
document.getElementById("kdnsrc_list").innerHTML = "<p><img src='pics/progress_white.gif' /></p>";
|
||||||
//document.getElementById("kdnsrc_src").disabled = true;
|
//document.getElementById("kdnsrc_src").disabled = true;
|
||||||
field = escape(document.getElementById("kdnsrc_field").value);
|
field = encodeURIComponent(document.getElementById("kdnsrc_field").value);
|
||||||
search = escape(document.getElementById("kdnsrc_src").value);
|
search = encodeURIComponent(document.getElementById("kdnsrc_src").value);
|
||||||
|
|
||||||
var url = "ajax/searchliefer.php?field=" + field + "&page=" + page + "&search=" + search;
|
var url = "ajax/searchliefer.php?field=" + field + "&page=" + page + "&search=" + search;
|
||||||
reqkdnsrc = new XMLHttpRequest();
|
reqkdnsrc = new XMLHttpRequest();
|
||||||
@@ -118,7 +120,7 @@ function ajax_searchkdnprojects(page,kdnid)
|
|||||||
search_in_progress = 1;
|
search_in_progress = 1;
|
||||||
document.getElementById("projectlist").innerHTML = "<p><img src='pics/progress_white.gif' /></p>";
|
document.getElementById("projectlist").innerHTML = "<p><img src='pics/progress_white.gif' /></p>";
|
||||||
//document.getElementById("kdnsrc_src").disabled = true;
|
//document.getElementById("kdnsrc_src").disabled = true;
|
||||||
search = escape(document.getElementById("src_project").value);
|
search = encodeURIComponent(document.getElementById("src_project").value);
|
||||||
|
|
||||||
var url = "ajax/searchkdnprojects.php?page=" + page + "&search=" + search+"&kdnid=" + kdnid;
|
var url = "ajax/searchkdnprojects.php?page=" + page + "&search=" + search+"&kdnid=" + kdnid;
|
||||||
|
|
||||||
@@ -173,7 +175,7 @@ function ajax_searchkomm(page,kdnid)
|
|||||||
search_in_progress = 1;
|
search_in_progress = 1;
|
||||||
document.getElementById("kommsrc_list").innerHTML = "<p><img src='pics/progress_white.gif' /></p>";
|
document.getElementById("kommsrc_list").innerHTML = "<p><img src='pics/progress_white.gif' /></p>";
|
||||||
//document.getElementById("kdnsrc_src").disabled = true;
|
//document.getElementById("kdnsrc_src").disabled = true;
|
||||||
search = escape(document.getElementById("kommsrc_src").value);
|
search = encodeURIComponent(document.getElementById("kommsrc_src").value);
|
||||||
|
|
||||||
var url = "ajax/searchkomm.php?page=" + page + "&search=" + search+"&kdnid=" + kdnid;
|
var url = "ajax/searchkomm.php?page=" + page + "&search=" + search+"&kdnid=" + kdnid;
|
||||||
|
|
||||||
@@ -181,7 +183,7 @@ function ajax_searchkomm(page,kdnid)
|
|||||||
reqkommsrc.open("GET", url, true);
|
reqkommsrc.open("GET", url, true);
|
||||||
reqkommsrc.onreadystatechange = function()
|
reqkommsrc.onreadystatechange = function()
|
||||||
{
|
{
|
||||||
if(reqkdnsrc.readyState == 4)
|
if(reqkommsrc.readyState == 4)
|
||||||
{
|
{
|
||||||
// Get the data from the server's response
|
// Get the data from the server's response
|
||||||
document.getElementById("kommsrc_list").innerHTML = reqkommsrc.responseText;
|
document.getElementById("kommsrc_list").innerHTML = reqkommsrc.responseText;
|
||||||
@@ -226,7 +228,7 @@ function ajax_searchterm(page, termtyp)
|
|||||||
{
|
{
|
||||||
search_in_progress = 1;
|
search_in_progress = 1;
|
||||||
document.getElementById("termcontainer-"+termtyp).innerHTML = "<p><img src='pics/progress_white.gif' /></p>";
|
document.getElementById("termcontainer-"+termtyp).innerHTML = "<p><img src='pics/progress_white.gif' /></p>";
|
||||||
search = escape(document.getElementById("term_src-"+termtyp).value);
|
search = encodeURIComponent(document.getElementById("term_src-"+termtyp).value);
|
||||||
|
|
||||||
var url = "ajax/searchterm.php?page=" + page + "&search=" + search + "&termtyp=" + termtyp;
|
var url = "ajax/searchterm.php?page=" + page + "&search=" + search + "&termtyp=" + termtyp;
|
||||||
|
|
||||||
@@ -276,7 +278,7 @@ function ajax_displaymsgs(page,user)
|
|||||||
}
|
}
|
||||||
function sendmsg(touser)
|
function sendmsg(touser)
|
||||||
{
|
{
|
||||||
msg = escape(document.getElementById("message-"+touser).value);
|
msg = encodeURIComponent(document.getElementById("message-"+touser).value);
|
||||||
var url = "ajax/sendmsg.php?touser="+touser+"&msg="+msg;
|
var url = "ajax/sendmsg.php?touser="+touser+"&msg="+msg;
|
||||||
reqsndmsgs = new XMLHttpRequest();
|
reqsndmsgs = new XMLHttpRequest();
|
||||||
reqsndmsgs.open("GET", url, true);
|
reqsndmsgs.open("GET", url, true);
|
||||||
|
|||||||
+4
-56
@@ -1,59 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once "incs/saveNchange.php";
|
require_once "incs/saveNchange.php";
|
||||||
|
// loeschePartner() räumt die Dokumente des Kunden über delRechnung() mit ab
|
||||||
require_once "incs/rechnung.php";
|
require_once "incs/rechnung.php";
|
||||||
|
|
||||||
if($_GET["del"] == 1)
|
$err = partnerAddSeite($dbconn, $smarty, 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);
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|||||||
+6
-206
@@ -1,207 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once "incs/saveNchange.php";
|
require_once "incs/saveNchange.php";
|
||||||
if($_GET["do"] == "adress")
|
// Beim Löschen einer Adresse verschwinden auch ihre Dokumente (delRechnung)
|
||||||
{
|
require_once "incs/rechnung.php";
|
||||||
if($_GET["del"] == 1)
|
|
||||||
{
|
$err = partnerChangeSeite($dbconn, $smarty, 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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|||||||
+6
-120
@@ -1,121 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
if($_GET["id"])
|
require_once "incs/saveNchange.php";
|
||||||
{
|
|
||||||
$qry = mysqli_query($dbconn,"SELECT * FROM partner WHERE id='".mysql_escape_string($_GET["id"])."' AND typ_id = 1");
|
partnerShowDaten($dbconn, $smarty, parameterGanzzahl("id"), 1);
|
||||||
$kdnres=mysqli_fetch_assoc($qry);
|
$_SESSION["camefrom"] = "kundenshow&id=".parameterGanzzahl("id");
|
||||||
$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");
|
$smarty->display("kundenshow.tpl");
|
||||||
?>
|
?>
|
||||||
|
|||||||
+5
-55
@@ -1,57 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once "incs/saveNchange.php";
|
require_once "incs/saveNchange.php";
|
||||||
|
// loeschePartner() räumt die Dokumente des Lieferanten über delRechnung() mit ab
|
||||||
|
require_once "incs/rechnung.php";
|
||||||
|
|
||||||
if($_GET["del"] == 1)
|
$err = partnerAddSeite($dbconn, $smarty, 2);
|
||||||
{
|
?>
|
||||||
|
|
||||||
$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);
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|||||||
+6
-190
@@ -1,191 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once "incs/saveNchange.php";
|
require_once "incs/saveNchange.php";
|
||||||
if($_GET["do"] == "adress")
|
// Beim Löschen einer Adresse verschwinden auch ihre Dokumente (delRechnung)
|
||||||
{
|
require_once "incs/rechnung.php";
|
||||||
if($_GET["del"] == 1)
|
|
||||||
{
|
$err = partnerChangeSeite($dbconn, $smarty, 2);
|
||||||
$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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|||||||
+5
-118
@@ -1,120 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
if($_GET["id"])
|
require_once "incs/saveNchange.php";
|
||||||
{
|
|
||||||
$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"];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
partnerShowDaten($dbconn, $smarty, parameterGanzzahl("id"), 2);
|
||||||
|
$_SESSION["camefrom"] = "liefershow&id=".parameterGanzzahl("id");
|
||||||
$smarty->display("liefershow.tpl");
|
$smarty->display("liefershow.tpl");
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
<fieldset class="big">
|
<fieldset class="big">
|
||||||
<legend>Neue Adresse:</legend>
|
<legend>Neue Adresse:</legend>
|
||||||
<div class='centersrc'>
|
<div class='centersrc'>
|
||||||
{html_options name=adrsrc_field onChange="ajax_searchadress({$rechid|escape},'changeadr',0)" id=adrsrc_field options=$felder selected=$selfeld class='searchform' title='Bitte wählen Sie die Spalte, die durchsucht werden soll.' onchange='#'}
|
{html_options name=adrsrc_field onChange="ajax_searchadress(0,{$rechid|intval},'changeadr')" id=adrsrc_field options=$felder selected=$selfeld class='searchform' title='Bitte wählen Sie die Spalte, die durchsucht werden soll.' onchange='#'}
|
||||||
<input name='adrsrc_src' id='adrsrc_src' value='' class='searchform' onKeyUp="ajax_searchadress({$rechid|escape},'changeadr',0)" title='Geben Sie hier das Suchmuster ein <br />% ist ein Platzhalter für eine beliebige Anzahl Zeichen<br />_ ist der Platzhalter für ein einziges Zeichen.' />
|
<input name='adrsrc_src' id='adrsrc_src' value='' class='searchform' onKeyUp="ajax_searchadress(0,{$rechid|intval},'changeadr')" title='Geben Sie hier das Suchmuster ein <br />% ist ein Platzhalter für eine beliebige Anzahl Zeichen<br />_ ist der Platzhalter für ein einziges Zeichen.' />
|
||||||
<br />
|
<br />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -14,4 +14,4 @@
|
|||||||
|
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
<script language='javascript'>ajax_searchadress({$rechid|escape},'changeadr',0);</script>
|
<script language='javascript'>ajax_searchadress(0,{$rechid|intval},'changeadr');</script>
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
<fieldset class="big">
|
<fieldset class="big">
|
||||||
<legend>Neue Adresse:</legend>
|
<legend>Neue Adresse:</legend>
|
||||||
<div class='centersrc'>
|
<div class='centersrc'>
|
||||||
{html_options name=adrsrc_field onChange='ajax_searchadress({$rechid|escape},\'copy\',0)' id=adrsrc_field options=$felder selected=$selfeld class='searchform' title='Bitte wählen Sie die Spalte, die durchsucht werden soll.' onchange='#'}
|
{html_options name=adrsrc_field onChange="ajax_searchadress(0,{$rechid|intval},'copy')" id=adrsrc_field options=$felder selected=$selfeld class='searchform' title='Bitte wählen Sie die Spalte, die durchsucht werden soll.' onchange='#'}
|
||||||
<input name='adrsrc_src' id='adrsrc_src' value='' class='searchform' onKeyUp='ajax_searchadress({$rechid|escape},'copy',0)' title='Geben Sie hier das Suchmuster ein <br />% ist ein Platzhalter für eine beliebige Anzahl Zeichen<br />_ ist der Platzhalter für ein einziges Zeichen.' />
|
<input name='adrsrc_src' id='adrsrc_src' value='' class='searchform' onKeyUp="ajax_searchadress(0,{$rechid|intval},'copy')" title='Geben Sie hier das Suchmuster ein <br />% ist ein Platzhalter für eine beliebige Anzahl Zeichen<br />_ ist der Platzhalter für ein einziges Zeichen.' />
|
||||||
<br />
|
<br />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -14,4 +14,4 @@
|
|||||||
|
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
<script language='javascript'>ajax_searchadress({$rechid|escape},'copy',0);</script>
|
<script language='javascript'>ajax_searchadress(0,{$rechid|intval},'copy');</script>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<a href='?action=kundenadd'><span class='addcenter' title="Neuer Kunde"></span></a><br />
|
<a href='?action=kundenadd'><span class='addcenter' title="Neuer Kunde"></span></a><br />
|
||||||
<div class='centersrc'>
|
<div class='centersrc'>
|
||||||
{html_options name=kdnsrc_field onChange='ajax_searchkunden(0)' id=kdnsrc_field options=$felder selected=$selfeld class='searchform' title='Bitte wählen Sie die Spalte, die durchsucht werden soll.' onchange='#'}
|
{html_options name=kdnsrc_field onChange='ajax_searchkunden(0)' id=kdnsrc_field options=$felder selected=$selfeld class='searchform' title='Bitte wählen Sie die Spalte, die durchsucht werden soll.' onchange='#'}
|
||||||
<input name='kdnsrc_src' id='kdnsrc_src' value='{$search}' class='searchform' onKeyUp='ajax_searchkunden(0)' autofocus='autofocus' title='Geben Sie hier das Suchmuster ein <br />% ist ein Platzhalter für eine beliebige Anzahl Zeichen<br />_ ist der Platzhalter für ein einziges Zeichen.' />
|
<input name='kdnsrc_src' id='kdnsrc_src' value='{$search|escape}' class='searchform' onKeyUp='ajax_searchkunden(0)' autofocus='autofocus' title='Geben Sie hier das Suchmuster ein <br />% ist ein Platzhalter für eine beliebige Anzahl Zeichen<br />_ ist der Platzhalter für ein einziges Zeichen.' />
|
||||||
<br />
|
<br />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
<script language='javascript'>ajax_searchkunden({$page});</script>
|
<script language='javascript'>ajax_searchkunden({$page|intval});</script>
|
||||||
|
|
||||||
<div id="question">
|
<div id="question">
|
||||||
</div>
|
</div>
|
||||||
+13
-10
@@ -42,9 +42,9 @@
|
|||||||
{/if}
|
{/if}
|
||||||
{if $adresse.gebdat != "01.01.2100" && $adresse.gebdat != "00.00.0000"}
|
{if $adresse.gebdat != "01.01.2100" && $adresse.gebdat != "00.00.0000"}
|
||||||
{if $adresse.gebdat|substr:6:4 != "2099"}
|
{if $adresse.gebdat|substr:6:4 != "2099"}
|
||||||
(Geburtstag: {$adresse.gebdat})<br />
|
(Geburtstag: {$adresse.gebdat|escape})<br />
|
||||||
{else}
|
{else}
|
||||||
(Geburtstag: {$adresse.gebdat|substr:0:5})<br />
|
(Geburtstag: {$adresse.gebdat|escape|substr:0:5})<br />
|
||||||
{/if}
|
{/if}
|
||||||
{/if}
|
{/if}
|
||||||
{/if}
|
{/if}
|
||||||
@@ -56,9 +56,9 @@
|
|||||||
{/if}
|
{/if}
|
||||||
{if $adresse.gebdat2 != "01.01.2100" && $adresse.gebdat2 != "00.00.0000"}
|
{if $adresse.gebdat2 != "01.01.2100" && $adresse.gebdat2 != "00.00.0000"}
|
||||||
{if $adresse.gebdat2|substr:6:4 != "2099"}
|
{if $adresse.gebdat2|substr:6:4 != "2099"}
|
||||||
(Geburtstag: {$adresse.gebdat2})<br />
|
(Geburtstag: {$adresse.gebdat2|escape})<br />
|
||||||
{else}
|
{else}
|
||||||
(Geburtstag: {$adresse.gebdat2|substr:0:5})<br />
|
(Geburtstag: {$adresse.gebdat2|escape|substr:0:5})<br />
|
||||||
{/if}
|
{/if}
|
||||||
{/if}
|
{/if}
|
||||||
{/if}
|
{/if}
|
||||||
@@ -71,6 +71,9 @@
|
|||||||
{$adresse.plz|escape|default:""} {$adresse.ort|escape|default:""} {$adresse.ortsteil|escape|default:""}<br />
|
{$adresse.plz|escape|default:""} {$adresse.ort|escape|default:""} {$adresse.ortsteil|escape|default:""}<br />
|
||||||
|
|
||||||
<span>{$adresse.land|escape|default:""}</span>
|
<span>{$adresse.land|escape|default:""}</span>
|
||||||
|
{if $adresse.nr}
|
||||||
|
Telefon: {if $adresse.vwahl}{$adresse.vwahl|escape} / {/if}{$adresse.nr|escape}<br />
|
||||||
|
{/if}
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
@@ -78,7 +81,7 @@
|
|||||||
{if $adresse.typ_id != 1}
|
{if $adresse.typ_id != 1}
|
||||||
<span class='del' title="Adresse löschen" onClick='askdel("Möchten Sie diese Adresse<br /><b>UND ALLE ZUGEHÖRIGEN RECHNUNGEN</b><br />wirklich unwiederruflich löschen?","?action=kundenchange&do=adress&adressid={$adresse.id}&del=1")'></span>
|
<span class='del' title="Adresse löschen" onClick='askdel("Möchten Sie diese Adresse<br /><b>UND ALLE ZUGEHÖRIGEN RECHNUNGEN</b><br />wirklich unwiederruflich löschen?","?action=kundenchange&do=adress&adressid={$adresse.id}&del=1")'></span>
|
||||||
{/if}
|
{/if}
|
||||||
<a href="http://maps.google.com?q={$adresse.plz}+{$adresse.ort}+{$adresse.str}+{$adresse.hnr}" class="noloading" target="_blank"><span class='map' title="Auf Karte zeigen"></span></a>
|
<a href="http://maps.google.com?q={$adresse.plz|escape:'url'}+{$adresse.ort|escape:'url'}+{$adresse.str|escape:'url'}+{$adresse.hnr|escape:'url'}" rel="noopener" class="noloading" target="_blank"><span class='map' title="Auf Karte zeigen"></span></a>
|
||||||
<a href='?action=terminadd&adressid={$adresse.id}'><span class='termadd' title="Termin anlegen"></span></a><br />
|
<a href='?action=terminadd&adressid={$adresse.id}'><span class='termadd' title="Termin anlegen"></span></a><br />
|
||||||
|
|
||||||
<a href='?action=rechnungadd&type=1&adressid={$adresse.id}'><span class='rechnadd' title="Rechnung anlegen"></span></a>
|
<a href='?action=rechnungadd&type=1&adressid={$adresse.id}'><span class='rechnadd' title="Rechnung anlegen"></span></a>
|
||||||
@@ -177,13 +180,13 @@
|
|||||||
{/if}
|
{/if}
|
||||||
{$i=$i+1}
|
{$i=$i+1}
|
||||||
{strip}
|
{strip}
|
||||||
<fieldset class='note' style="background-color: {$note.color|default:'#fff'};">
|
<fieldset class='note' style="background-color: {$note.color|default:'#fff'|escape};">
|
||||||
<legend>{$note.datetime|date_format:"%a, %d.%m.%Y <br /> %R Uhr"}</legend>
|
<legend>{$note.datetime|date_format:"%a, %d.%m.%Y <br /> %R Uhr"}</legend>
|
||||||
{$note.notiz|nl2br|default:""}<br />
|
{$note.notiz|default:""|escape|nl2br}<br />
|
||||||
<p>
|
<p>
|
||||||
{if $note.id}
|
{if $note.id}
|
||||||
{if $note.file}
|
{if $note.file}
|
||||||
<a href='{$note.file}' target="_Blank" class='noloading'><span class='file' title="Angehängte Datei anzeigen"></span></a>
|
<a href='{$note.file|escape}' target="_Blank" class='noloading'><span class='file' title="Angehängte Datei anzeigen"></span></a>
|
||||||
{/if}
|
{/if}
|
||||||
<a href='?action=kundenchange&do=notiz¬izid={$note.id}'><span class='edit' title="Notiz ändern"></span></a>
|
<a href='?action=kundenchange&do=notiz¬izid={$note.id}'><span class='edit' title="Notiz ändern"></span></a>
|
||||||
<span class='del' id='del' title="Notiz löschen" onClick='askdel("Möchten Sie diese Notiz wirklich unwiederruflich löschen?","?action=kundenchange&do=notiz¬izid={$note.id}&del=1")'></span>
|
<span class='del' id='del' title="Notiz löschen" onClick='askdel("Möchten Sie diese Notiz wirklich unwiederruflich löschen?","?action=kundenchange&do=notiz¬izid={$note.id}&del=1")'></span>
|
||||||
@@ -211,7 +214,7 @@
|
|||||||
{$i=$i+1}
|
{$i=$i+1}
|
||||||
{strip}
|
{strip}
|
||||||
<fieldset class='small'>
|
<fieldset class='small'>
|
||||||
<legend>{$kto.bank} <br />{$kto.blz|chunk_split:3:" "}</legend>
|
<legend>{$kto.bank|escape} <br />{$kto.blz|escape|chunk_split:3:" "}</legend>
|
||||||
Konto Nr.: {$kto.ktonr|escape|chunk_split:3:" "}<br />
|
Konto Nr.: {$kto.ktonr|escape|chunk_split:3:" "}<br />
|
||||||
Inhaber: {$kto.inhaber|escape}<br />
|
Inhaber: {$kto.inhaber|escape}<br />
|
||||||
{if $kto.iban}
|
{if $kto.iban}
|
||||||
@@ -234,7 +237,7 @@
|
|||||||
<div id="tabs">
|
<div id="tabs">
|
||||||
<ul>
|
<ul>
|
||||||
{foreach $rechtypen as $rechtyp}
|
{foreach $rechtypen as $rechtyp}
|
||||||
<li><a href="#tabs-{$rechtyp.id}" class='noloading' onClick='ajax_searchkdnrech(0,0,{$rechtyp.id},{$kunde.id})'>{$rechtyp.typ}</a></li>
|
<li><a href="#tabs-{$rechtyp.id}" class='noloading' onClick='ajax_searchkdnrech(0,0,{$rechtyp.id},{$kunde.id})'>{$rechtyp.typ|escape}</a></li>
|
||||||
{/foreach}
|
{/foreach}
|
||||||
</ul>
|
</ul>
|
||||||
{foreach $rechtypen as $rechtyp}
|
{foreach $rechtypen as $rechtyp}
|
||||||
|
|||||||
@@ -43,13 +43,16 @@
|
|||||||
{$adresse.plz|escape|default:""} {$adresse.ort|escape|default:""} {$adresse.ortsteil|escape|default:""}<br />
|
{$adresse.plz|escape|default:""} {$adresse.ort|escape|default:""} {$adresse.ortsteil|escape|default:""}<br />
|
||||||
|
|
||||||
<span>{$adresse.land|escape|default:""}</span>
|
<span>{$adresse.land|escape|default:""}</span>
|
||||||
|
{if $adresse.nr}
|
||||||
|
Telefon: {if $adresse.vwahl}{$adresse.vwahl|escape} / {/if}{$adresse.nr|escape}<br />
|
||||||
|
{/if}
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<a href='?action=lieferchange&do=adress&adressid={$adresse.id}&kunde={$kunde.id}'><span class='edit' title="Adresse ändern"></span></a>
|
<a href='?action=lieferchange&do=adress&adressid={$adresse.id}&kunde={$kunde.id}'><span class='edit' title="Adresse ändern"></span></a>
|
||||||
{if $adresse.typ_id != 1}
|
{if $adresse.typ_id != 1}
|
||||||
<span class='del' id='del' title="Adresse löschen" onClick='askdel("Möchten Sie diese Adresse wirklich unwiederruflich löschen?","?action=lieferchange&do=adress&adressid={$adresse.id}&del=1")'></span>
|
<span class='del' id='del' title="Adresse löschen" onClick='askdel("Möchten Sie diese Adresse wirklich unwiederruflich löschen?","?action=lieferchange&do=adress&adressid={$adresse.id}&del=1")'></span>
|
||||||
{/if}
|
{/if}
|
||||||
<a href="http://maps.google.com?q={$adresse.plz}+{$adresse.ort}+{$adresse.str}+{$adresse.hnr}" class="noloading" target="_blank"><span class='map' title="Auf Karte zeigen"></span></a>
|
<a href="http://maps.google.com?q={$adresse.plz|escape:'url'}+{$adresse.ort|escape:'url'}+{$adresse.str|escape:'url'}+{$adresse.hnr|escape:'url'}" rel="noopener" class="noloading" target="_blank"><span class='map' title="Auf Karte zeigen"></span></a>
|
||||||
</p>
|
</p>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
{/strip}
|
{/strip}
|
||||||
@@ -116,7 +119,7 @@
|
|||||||
<a href='?action=lieferchange&kunde={$kunde.id}&do=notiz'><span class='add' title="Neue Notiz"></span></a>
|
<a href='?action=lieferchange&kunde={$kunde.id}&do=notiz'><span class='add' title="Neue Notiz"></span></a>
|
||||||
{foreach $notes as $note}
|
{foreach $notes as $note}
|
||||||
{strip}
|
{strip}
|
||||||
<fieldset class='note' style="background-color: {$note.color|default:'#fff'};">
|
<fieldset class='note' style="background-color: {$note.color|default:'#fff'|escape};">
|
||||||
<legend>{$note.datetime|date_format:"%a, %d.%m.%Y <br /> %R Uhr"}</legend>
|
<legend>{$note.datetime|date_format:"%a, %d.%m.%Y <br /> %R Uhr"}</legend>
|
||||||
{$note.notiz|escape|default:""}<br />
|
{$note.notiz|escape|default:""}<br />
|
||||||
<p>
|
<p>
|
||||||
@@ -134,7 +137,7 @@
|
|||||||
{foreach $kontos as $kto}
|
{foreach $kontos as $kto}
|
||||||
{strip}
|
{strip}
|
||||||
<fieldset class='small'>
|
<fieldset class='small'>
|
||||||
<legend>{$kto.bank} <br />{$kto.blz|chunk_split:3:" "}</legend>
|
<legend>{$kto.bank|escape} <br />{$kto.blz|escape|chunk_split:3:" "}</legend>
|
||||||
Konto Nr.: {$kto.ktonr|escape|chunk_split:3:" "}<br />
|
Konto Nr.: {$kto.ktonr|escape|chunk_split:3:" "}<br />
|
||||||
Inhaber: {$kto.inhaber|escape}<br />
|
Inhaber: {$kto.inhaber|escape}<br />
|
||||||
{if $kto.iban}
|
{if $kto.iban}
|
||||||
@@ -158,14 +161,14 @@
|
|||||||
<div id="tabs">
|
<div id="tabs">
|
||||||
<ul>
|
<ul>
|
||||||
{foreach $rechtypen as $rechtyp}
|
{foreach $rechtypen as $rechtyp}
|
||||||
<li><a href="#tabs-{$rechtyp.id}" class='noloading' onClick='ajax_searchkdnrech(0,{$rechtyp.id},{$kunde.id})'>{$rechtyp.typ}</a></li>
|
<li><a href="#tabs-{$rechtyp.id}" class='noloading' onClick='ajax_searchkdnrech(0,0,{$rechtyp.id},{$kunde.id})'>{$rechtyp.typ|escape}</a></li>
|
||||||
{/foreach}
|
{/foreach}
|
||||||
</ul>
|
</ul>
|
||||||
{foreach $rechtypen as $rechtyp}
|
{foreach $rechtypen as $rechtyp}
|
||||||
<div id="tabs-{$rechtyp.id}">
|
<div id="tabs-{$rechtyp.id}">
|
||||||
<div class='centersrc'>
|
<div class='centersrc'>
|
||||||
|
|
||||||
<input name='kdnsrc_src' id='src_rech-{$rechtyp.id}' value='' class='searchform' onKeyUp='ajax_searchkdnrech(0,{$rechtyp.id},{$kunde.id})' title='Geben Sie hier das Suchmuster ein <br />% ist ein Platzhalter für eine beliebige Anzahl Zeichen<br />_ ist der Platzhalter für ein einziges Zeichen.' />
|
<input name='kdnsrc_src' id='src_rech-{$rechtyp.id}' value='' class='searchform' onKeyUp='ajax_searchkdnrech(0,0,{$rechtyp.id},{$kunde.id})' title='Geben Sie hier das Suchmuster ein <br />% ist ein Platzhalter für eine beliebige Anzahl Zeichen<br />_ ist der Platzhalter für ein einziges Zeichen.' />
|
||||||
<br />
|
<br />
|
||||||
</div>
|
</div>
|
||||||
<div id='rechlist-{$rechtyp.id}'>
|
<div id='rechlist-{$rechtyp.id}'>
|
||||||
@@ -181,7 +184,7 @@
|
|||||||
$(function() {
|
$(function() {
|
||||||
$( "#tabs" ).tabs();
|
$( "#tabs" ).tabs();
|
||||||
});
|
});
|
||||||
ajax_searchkdnrech(0,1,{$kunde.id});
|
ajax_searchkdnrech(0,0,1,{$kunde.id});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div id="question">
|
<div id="question">
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
{include file="heading.tpl" heading=$head}
|
{include file="heading.tpl" heading=$head}
|
||||||
|
|
||||||
<div class="widthlimiter">
|
<div class="widthlimiter">
|
||||||
<form action="?action={$frmact}&do=adress&kunde={$kunde|escape}&formsent=1&adressid={$adressid}" name="mainform" method='POST'>
|
<form action="?action={$frmact}&do=adress&kunde={$kunde|escape}&formsent=1&adressid={$adressid|intval}" name="mainform" method='POST'>
|
||||||
|
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<label>Adresstyp:</label><select name="typ" id="typ" >
|
<label>Adresstyp:</label><select name="typ" id="typ" >
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
{include file="heading.tpl" heading=$head}
|
{include file="heading.tpl" heading=$head}
|
||||||
|
|
||||||
<div class="widthlimiter">
|
<div class="widthlimiter">
|
||||||
<form action="?action={$frmact}&do=kontakt&kunde={$kunde|escape}&formsent=1&kontaktid={$kontaktid}" method='POST'>
|
<form action="?action={$frmact}&do=kontakt&kunde={$kunde|escape}&formsent=1&kontaktid={$kontaktid|intval}" method='POST'>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<label>Typ:</label><select name="typ" id="typ" >
|
<label>Typ:</label><select name="typ" id="typ" >
|
||||||
{html_options values=$typids output=$typs selected="{$typ}"}
|
{html_options values=$typids output=$typs selected="{$typ}"}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
{include file="heading.tpl" heading=$head}
|
{include file="heading.tpl" heading=$head}
|
||||||
|
|
||||||
<div class="widthlimiter">
|
<div class="widthlimiter">
|
||||||
<form action="?action={$frmact}&do=konto&kunde={$kunde|escape}&formsent=1&kontoid={$kontoid}" method='POST'>
|
<form action="?action={$frmact}&do=konto&kunde={$kunde|escape}&formsent=1&kontoid={$kontoid|intval}" method='POST'>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
|
|
||||||
<label>Bank:</label><input name='bank' id='bank' value="{$bank|escape}" pattern="[^0-9]*" /><br />
|
<label>Bank:</label><input name='bank' id='bank' value="{$bank|escape}" pattern="[^0-9]*" /><br />
|
||||||
|
|||||||
@@ -2,16 +2,16 @@
|
|||||||
{include file="heading.tpl" heading=$head}
|
{include file="heading.tpl" heading=$head}
|
||||||
|
|
||||||
<div class="widthlimiter">
|
<div class="widthlimiter">
|
||||||
<form action="?action={$frmact}&do=notiz&kunde={$kunde|escape}&formsent=1¬izid={$notizid}" method='POST' enctype="multipart/form-data">
|
<form action="?action={$frmact}&do=notiz&kunde={$kunde|escape}&formsent=1¬izid={$notizid|intval}" method='POST' enctype="multipart/form-data">
|
||||||
|
|
||||||
|
|
||||||
<fieldset class='colorchooser'>
|
<fieldset class='colorchooser'>
|
||||||
<legend>Farbe:</legend>
|
<legend>Farbe:</legend>
|
||||||
{html_radios name='color' options=$colors selected={$color|default:'#fff'} separator=' ' escape=0 labels=1}
|
{html_radios name='color' options=$colors selected={$color|default:'#fff'|escape} separator=' ' escape=0 labels=1}
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>Notiz:</legend>
|
<legend>Notiz:</legend>
|
||||||
<textarea name='notiz' id='notiz' class='bigtextarea'>{$notiz}</textarea><br />
|
<textarea name='notiz' id='notiz' class='bigtextarea'>{$notiz|escape}</textarea><br />
|
||||||
<label>Dateianhang zu dieser Notiz: </label><input type="file" id='notefile' name='notefile' /><br />
|
<label>Dateianhang zu dieser Notiz: </label><input type="file" id='notefile' name='notefile' /><br />
|
||||||
<button type="button" class='spell' onclick="$('textarea:not(#personalnotes,#globalnotes),input:not([type=radio])').spellCheckInDialog()">Rechtschreibung prüfen</button><br />
|
<button type="button" class='spell' onclick="$('textarea:not(#personalnotes,#globalnotes),input:not([type=radio])').spellCheckInDialog()">Rechtschreibung prüfen</button><br />
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
{include file="heading.tpl" heading=$head}
|
{include file="heading.tpl" heading=$head}
|
||||||
|
|
||||||
<div class="widthlimiter">
|
<div class="widthlimiter">
|
||||||
<form action="?action={$frmact}&do=tel&kunde={$kunde|escape}&formsent=1&telid={$telid}" method='POST'>
|
<form action="?action={$frmact}&do=tel&kunde={$kunde|escape}&formsent=1&telid={$telid|intval}" method='POST'>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<label>Typ:</label><select name="typ" id="typ" >
|
<label>Typ:</label><select name="typ" id="typ" >
|
||||||
{html_options values=$typids output=$typs selected="{$typ}"}
|
{html_options values=$typids output=$typs selected="{$typ}"}
|
||||||
|
|||||||
Reference in New Issue
Block a user