Initialer Commit: Kundenverwaltung (PHP/Smarty)
Bestehende Codebasis als Ausgangsstand aufgenommen. - .gitignore: Kundendaten (uploads_*), Smarty-Compile-Cache (templates_c), Laufzeit-Temp und Datenbank-Dumps ausgeschlossen; Verzeichnisstruktur ueber .gitkeep erhalten - .gitattributes: Zeilenenden normalisiert (LF im Repo), Binaerformate markiert - db-backup.php: MySQL-Zugangsdaten kommen jetzt wie im Rest der Anwendung aus der externen Konfiguration statt hartkodiert aus der Datei; Passwort wird ueber eine temporaere Optionsdatei statt per Kommandozeile uebergeben, Fehler von mysqldump/gzip werden gemeldet, Aufraeumen aelterer Backups berechnet Jahr und Monat konsistent Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,194 @@
|
||||
<?php
|
||||
require_once("../incs/connectmysql.php");
|
||||
require_once("../incs/funcs.php");
|
||||
require_once("../incs/listfuncs.php");
|
||||
require('../smarty/libs/Smarty.class.php');
|
||||
|
||||
|
||||
$smarty = new Smarty;
|
||||
|
||||
|
||||
$pagesize = 25;
|
||||
|
||||
|
||||
if(!isset($err))
|
||||
{
|
||||
$usercolors = array("#f00","#0c0","#ff0","#90c","#0bb","#066","#09f","#f60","#00f","#f09");
|
||||
|
||||
$fulltag = utf8_encode($_GET["search"]);
|
||||
$src = explode(" ",$fulltag);
|
||||
if(isset($_GET["link"])){
|
||||
$combiner = mysql_escape_string($_GET["link"]);
|
||||
}else{
|
||||
$combiner = "";
|
||||
}
|
||||
if($combiner != "AND" && $combiner != "OR")
|
||||
{
|
||||
$combiner = "AND";
|
||||
}
|
||||
$page = $_GET["page"];
|
||||
$termtyp = $_GET["termtyp"];
|
||||
$_SESSION["termtyp"] = $termtyp;
|
||||
$queries = createTermQry($page,$pagesize,$src,$combiner,$termtyp);
|
||||
$qry = mysqli_query($dbconn,$queries["all"])
|
||||
or die("Datenbank fehler: ".mysqli_error($dbconn));
|
||||
$numres = mysqli_num_rows($qry);
|
||||
if($numres)
|
||||
{
|
||||
$qry = mysqli_query($dbconn,$queries["limited"])
|
||||
or die("Datenbank fehler: ".mysqli_error($dbconn));
|
||||
$counter = 0;
|
||||
while($res=mysqli_fetch_assoc($qry))
|
||||
{
|
||||
$counter = $counter+1;
|
||||
$termdauer = "";
|
||||
$termtime ="";
|
||||
$telqry = mysqli_query($dbconn,"SELECT GROUP_CONCAT(nr SEPARATOR ', ') AS nr from tel WHERE partner_id = '".$res["partner_id"]."' AND RIGHT(nr,1) <> '-' GROUP BY partner_id")or $err=error("Fehler beim Listen der Termine <br />".mysqli_error($dbconn));
|
||||
$telres=mysqli_fetch_assoc($telqry);
|
||||
//Normale Termine anzeigen
|
||||
if($res)
|
||||
{
|
||||
$actions = "<span class='del' title='löschen' onClick='askdel(\"Möchten Sie den Termiiin ".htmlspecialchars($res["head"],ENT_QUOTES)."<br />wirklich <b>unwiederruflich</b> löschen?\",\"?action=terminadd&id=".$res["id"]."&del=1\")'></span>";
|
||||
$actions .= "<a href='?action=terminadd&id=".$res["id"]."&adressid=".$res["adresse_id"]."'><span class='edit' title='Termin ändern'></span></a>";
|
||||
$actions .= "<a href='?action=kundenshow&id=".$res["partner_id"]."'><span class='partner' title='Kunden anzeigen'></span></a>";
|
||||
$actions .= "<a href='?action=terminshow&id=".$res["id"]."'><span class='print' title='Termin drucken'></span></a>";
|
||||
if(!$res["done"])
|
||||
$actions .= "<span class='check' title='Termin als erledigt markieren' onClick='askbranch(\"Möchten Sie einen Folgetermin vormerken?\",\"?action=terminadd&id=".$res["id"]."\",\"?action=terminadd&id=".$res["id"]."&done=yes\")'></span>";
|
||||
else
|
||||
$actions .= "<a href='?action=terminadd&id=".$res["id"]."&done=no'><span class='cross' title='Termin als nicht erledigt markieren'></span></a>";
|
||||
$split_termdauer = explode(":",$res["termdauer"]);
|
||||
|
||||
if($res["termtime"] == "0000-00-00 00:00:00")
|
||||
$termtime = "N/A";
|
||||
else if($split_termdauer[0] > 23)
|
||||
{
|
||||
if($split_termdauer[0]/24 > 1)
|
||||
{
|
||||
$termtime = date("d.m.Y - ",strtotime($res["termtime"]));
|
||||
$termtime .= date("d.m",strtotime("+".(($split_termdauer[0]/24)-1)." day",strtotime($res["termtime"])));
|
||||
}
|
||||
else
|
||||
{
|
||||
$termtime = date("d.m.Y",strtotime($res["termtime"]));
|
||||
}
|
||||
}
|
||||
else
|
||||
$termtime = date("d.m.Y H:i ",strtotime($res["termtime"]))."Uhr";
|
||||
|
||||
if($split_termdauer[0] > 23)
|
||||
{
|
||||
if($split_termdauer[0]/24 > 1)
|
||||
$termdauer = ($split_termdauer[0]/24)." Tage";
|
||||
else
|
||||
$termdauer = ($split_termdauer[0]/24)." Tag";
|
||||
}
|
||||
else if($split_termdauer[0] > 0)
|
||||
$termdauer = ltrim(substr($res["termdauer"],0,2),"0")." Std";
|
||||
if($split_termdauer[0] > 0 && $split_termdauer[1] > 0)
|
||||
$termdauer .= " - ";
|
||||
if($split_termdauer[1] > 0)
|
||||
$termdauer .= ltrim(substr($res["termdauer"],3,2),"0")." Min";
|
||||
|
||||
$adresse = "<b>".$res["plz"]." ".$res["ort"];
|
||||
if($res["ortsteil"])
|
||||
$adresse .= "-".$res["ortsteil"];
|
||||
$adresse .= "</b><br />".$res["str"]." ".$res["hnr"];
|
||||
if(isset($telres)){
|
||||
if($res["vname"])
|
||||
$adresse .= "<br />Tel: ".$telres["nr"]."<br />(".$res["vname"]." ".$res["nname"].")";
|
||||
else if($res["nname"])
|
||||
$adresse .= "<br />Tel: ".$telres["nr"]."<br />(".$res["nname"].")";
|
||||
else if($res["firma"])
|
||||
$adresse .= "<br />Tel: ".$telres["nr"]."<br />(".$res["firma"].")";
|
||||
else
|
||||
$adresse .= "<br />Tel: ".$telres["nr"];
|
||||
}
|
||||
$namelist = $res["uservname"]." ".substr($res["usernname"],0,1);
|
||||
if($res["user2"])
|
||||
$namelist .= ", ".$res["uservname2"]." ".substr($res["usernname2"],0,1);
|
||||
if($res["user3"])
|
||||
$namelist .= ", ".$res["uservname3"]." ".substr($res["usernname3"],0,1);
|
||||
if($res["user4"])
|
||||
$namelist .= ", ".$res["uservname4"]." ".substr($res["usernname4"],0,1);
|
||||
if($termtyp == 1){
|
||||
$checkbox = "<input type='checkbox' value='".$res["id"]."' id='erl".$counter."' name='erl".$counter."'></input>";
|
||||
|
||||
$listlines[] = array("<a href='?action=terminshow&id=".$res["id"]."'><b>".$res["typ"]."</b></a><br />".$namelist,
|
||||
"<a href='?action=terminshow&id=".$res["id"]."'>".$res["head"]."</a>",
|
||||
$termtime,
|
||||
$termdauer,
|
||||
$adresse,
|
||||
$actions,
|
||||
$checkbox
|
||||
);
|
||||
}
|
||||
else if($termtyp == 3){
|
||||
$checkbox = "<input type='checkbox' value='".$res["id"]."' id='del".$counter."' name='del".$counter."'></input>";
|
||||
|
||||
$listlines[] = array("<a href='?action=terminshow&id=".$res["id"]."'><b>".$res["typ"]."</b></a><br />".$namelist,
|
||||
"<a href='?action=terminshow&id=".$res["id"]."'>".$res["head"]."</a>",
|
||||
$termtime,
|
||||
$termdauer,
|
||||
$adresse,
|
||||
$actions,
|
||||
$checkbox
|
||||
);
|
||||
}
|
||||
else{
|
||||
$listlines[] = array("<a href='?action=terminshow&id=".$res["id"]."'><b>".$res["typ"]."</b></a><br />".$namelist,
|
||||
"<a href='?action=terminshow&id=".$res["id"]."'>".$res["head"]."</a>",
|
||||
$termtime,
|
||||
$termdauer,
|
||||
$adresse,
|
||||
$actions
|
||||
);
|
||||
}
|
||||
if($res["user2"] || $res["user3"] || $res["user4"])
|
||||
$colors[] = "#fff";
|
||||
else if($res["color"])
|
||||
$colors[] = $res["color"];
|
||||
else
|
||||
$colors[] = "#fff";
|
||||
|
||||
}
|
||||
}
|
||||
if($termtyp == 1){
|
||||
$headings = array("Typ","Beschreibung","Datum","Dauer","Ort","Aktionen"," Erledigt ");
|
||||
}
|
||||
else if($termtyp == 3){
|
||||
$headings = array("Typ","Beschreibung","Datum","Dauer","Ort","Aktionen"," Löschen ");
|
||||
}
|
||||
else{
|
||||
$headings = array("Typ","Beschreibung","Datum","Dauer","Ort","Aktionen");
|
||||
}
|
||||
$lastdisplay = ($page+1)*$pagesize;
|
||||
if($numres < $lastdisplay)
|
||||
$lastdisplay = $numres;
|
||||
if($fulltag)
|
||||
ok("Die Suche nach ".htmlspecialchars($fulltag)." ergab ".$numres." Ergebnisse.<br /> Ergebnis ".($page*$pagesize+1)." bis ".$lastdisplay);
|
||||
else
|
||||
ok($numres." Termine sind insgesamt gespeichert.");
|
||||
|
||||
displayPages($pagesize,$page,$numres,"ajax_searchterm",",$termtyp");
|
||||
if($termtyp == 1){
|
||||
echo "<form action='?action=terminadd&id=multi&done=yes' method='post'><input type='hidden' name='pagesize' value='".$pagesize."'></input>";
|
||||
}
|
||||
else if($termtyp == 3){
|
||||
echo "<form action='?action=terminadd&id=multi&del=1' method='post'><input type='hidden' name='pagesize' value='".$pagesize."'></input>";
|
||||
}
|
||||
displayList($headings,$listlines,Array(),$colors);
|
||||
if($termtyp == 1 || $termtyp == 3){
|
||||
echo "<input type='submit' value='Mehrfachänderung ausführen'></input></form><br />";
|
||||
}
|
||||
displayPages($pagesize,$page,$numres,"ajax_searchterm",",$termtyp");
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
if($fulltag)
|
||||
ok("Die Suche nach ".htmlspecialchars($fulltag)." ergab keine Ergebnisse.");
|
||||
else
|
||||
ok("Keine Einträge.");
|
||||
}
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user