rendered paste body<?php/***************************************************************************** Datei : kunden.php* Erstellt : 27.07.2007 14:51:19 by Daniel Ceballos* Copyright : (C) 2007 Basecom-GmbH www.basecom-gmbh.de*****************************************************************************/ /***************************************************************************** Grundfunktion:* - Listet die Kunden auf, mit Optionen zur Detailanzeige, * Optionen oder Bearbeiten****************************************************************************//* * $option cases * 0 - Kundenliste anzeigen * 1 - Kundendetails anzeigen * 2 - Kunden hinzufügen * 3 - Kunden bearbeiten * 4 - Kunden entfernen * */// Einstellungen$root_path = "";// Konfigurationen einbindenrequire($root_path . 'includes/common.php');// Breadcrumb setzen$breadcrumb[] = array('link' => 'kunden.php', 'name' => 'Kunden');/*// CSS Dateien$template->assign('styles', array( 'styles_admin2.css'));*/$option = (isset($_GET['option'])) ? $_GET['option'] : 0;switch ($option) { case 0: // Zeigt die Kundenliste an // Template File die geladen werden soll $template_file = "kunden_kundenliste.tpl"; // Breadcrumb setzen $breadcrumb[] = array('link' => '?option=0', 'name' => 'Kundenliste'); // Kundensortierung SQL Query Zusatz $sortlink = (strtolower($_GET['sort']) == "desc") ? "asc" : "desc"; if (isset($_GET['sort']) && isset($_GET['order'])) { $kundensort = " ORDER BY " . $_GET['order'] . " " . strtoupper($_GET['sort']); } else { // end if $kundensort = " ORDER BY knr DESC"; } // end else // wieviele seiten sind möglich $sql = "SELECT COUNT(*) AS total FROM `" . $db_table['firmen'] . "`"; $result = $db->sql_query($sql); $daten = $db->sql_fetchrow($result); $available_entries = $daten['total']; require_once($root_path . 'includes/classes/pager.class.php'); $npg = new pager(20, $available_entries, $_GET, 4, "page", $_GET["page"]); $npg->get_array = $_GET; // Datenbank Query um Kundeninformationen aus der Datenbank zu ermitteln $sql = "SELECT knr AS kundennummer," . "id AS kundenid," . "fname AS kundenname," . "fzusatz AS kundenzusatz," . "ort AS kundenort," . "tel AS telefon," . "fax AS telefax," . "email AS kundenmail FROM `" . $db_table['firmen'] . "`" . $kunden_statement . $kundensort . $npg->sql_addit; $result = $db->sql_query($sql); $daten = $db->sql_fetchrowset($result); // Template-Variablen setzen $template->assign('kunden', $daten); $template->assign('sortlink', $sortlink); $template->assign('pagelinks', $npg->grab_links); $template->assign('avpages', $npg->pages_available); break; case 1: // Zeigt Kundendetails an // Variable mit ID (int) deklarieren $firmen_id = intval($_GET['id']); // Template File die geladen werden soll $template_file = "kunden_kundendetails.tpl"; // Anprechpartner $sql = "SELECT * FROM `" . $db_table['kontakte'] . "` WHERE belongsto = '" . $firmen_id . "'"; $result = $db->sql_query($sql); $ansprechpartner = $db->sql_fetchrow($result); // Verträge zählen $sql = "SELECT COUNT(*) AS total FROM `" . $db_table['vertraege'] . "` WHERE belongsto = '" . $firmen_id . "'"; $result = $db->sql_query($sql); $item = $db->sql_fetchrow($result); $vertraege = $item['total']; // Briefe zählen $sql = "SELECT COUNT(*) AS total FROM `" . $db_table['log'] . "` WHERE belongsto = '" . $firmen_id . "'"; $result = $db->sql_query($sql); $item = $db->sql_fetchrow($result); $briefe = $item['total']; // Rechnungen zählen $sql = "SELECT COUNT(*) AS total FROM `" . $db_table['rechnung'] . "` WHERE belongsto = '" . $firmen_id . "'"; $result = $db->sql_query($sql); $item = $db->sql_fetchrow($result); $rechnungen = $item['total']; // Mahnungen zählen $sql = "SELECT COUNT(*) AS total FROM `" . $db_table['mahnungen'] . "` AS m, `" . $db_table['rechnung'] . "` AS r WHERE r.belongsto = '" . $firmen_id . "' AND m.rechnung_id = r.id"; $result = $db->sql_query($sql); $item = $db->sql_fetchrow($result); $mahnungen = $item['total']; // Aufträge zählen $sql = "SELECT COUNT(*) AS total FROM `" . $db_table['auftrag'] . "` WHERE belongsto = '" . $firmen_id . "'"; $result = $db->sql_query($sql); $item = $db->sql_fetchrow($result); $auftraege = $item['total']; // Angebote zählen $sql = "SELECT COUNT(*) AS total FROM `" . $db_table['angebot'] . "` WHERE belongsto = '" . $firmen_id . "'"; $result = $db->sql_query($sql); $item = $db->sql_fetchrow($result); $angebote = $item['total']; // Gutschriften zählen $sql = "SELECT COUNT(*) AS total FROM `" . $db_table['gutschrift'] . "` WHERE belongsto = '" . $firmen_id . "'"; $result = $db->sql_query($sql); $item = $db->sql_fetchrow($result); $gutschriften = $item['total']; // Kundendaten ermitteln $sql = "SELECT knr AS kundennummer," . "anrede," . "id AS kundenid," . "fname AS kundenname," . "fzusatz AS kundenzusatz," . "strasse AS kundenstr," . "plz AS kundenplz," . "ort AS kundenort," . "tel AS telefon," . "fax AS telefax," . "email AS kundenmail," . "url AS kundenurl," . "kommentar,datum FROM `" . $db_table['firmen'] . "` WHERE id = '" . $firmen_id . "'"; $result = $db->sql_query($sql, __FILE__, __LINE__); $daten = $db->sql_fetchrow($result); foreach ($daten as $key => $value) { $items[$key] = str_replace("\n", "<br />", $value); } // end foreach // Speichert weitere assoziative Daten in das Array $daten array_push_assoc($items, array('count_vertraege' => $vertraege), array('count_briefe' => $briefe), array('count_rechnungen' => $rechnungen), array('count_mahnungen' => $mahnungen), array('count_auftraege' => $auftraege), array('count_angebote' => $angebote), array('count_gutschriften' => $gutschriften) ); // Template-Variablen setzen $template->assign('kunden', $items); // Breadcrumb setzen $breadcrumb[] = array('link' => '?option=1&id=' . $firmen_id, 'name' => 'Kundendetails zu: ' . $daten['kundenname']); break; case 2: // neuen Kunden hinzufügen Formular // Template File die geladen werden soll $template_file = "kunden_kundenformular.tpl"; // Submit bezeichnung $submit = 'Kunde hinzufügen'; // nachdem formular abgesendet wurde if (!empty($_GET['absenden'])) { // Formvars erstellen aus $_POST-Objekten $strip_var_list = array('kundennummer','kundenname','kundenzusatz','kundenstr','kundenplz','kundenort','kundentel','kundenfax','anrede','kundenmail','kundenurl','kommentar'); while ( list($var, $param) = @each($strip_var_list) ) { if ( isset($_POST[$param]) ) { $$param = strip_tags(trim($_POST[$param])); } // end if } // end while // pflichtangaben prüfen if (empty($kundenname)) $error[] = "Es wurde kein Name für den Kunden angegeben."; if (empty($kundentel)) $error[] = "Es wurde keine Telefonnummer angegeben."; // prüfen ob die kundennummer schon vorhanden ist if (!empty($kundennummer)) { $sql = "SELECT COUNT(*) AS total FROM `" . $db_table['firmen'] . "` WHERE knr = '" . $kundennummer . "'"; $result = $db->sql_query($sql); $daten = $db->sql_fetchrow($result); if ($item['total']) $error[] = "Es ist bereit ein Kunde mit dieser Kundennummer vorhanden."; } // end if // wenn kein Fehler vorhanden ist if (!isset($error)) { // lege Datensatz in der Datenbank an $sql = "INSERT INTO `" . $db_table['firmen'] . "` (" . "knr,anrede,fname,fzusatz,strasse,plz,ort,tel,fax,email,url,kommentar,datum) " . "VALUES ('" . $kundennummer . "', '" . $anrede . "', '" . $kundenname . "', '" . $kundenzusatz . "', '" . $kundenstr . "'" . ", '" . $kundenplz . "', '" . $kundenort . "', '" . $kundentel . "', '" . $kundenfax . "', '" . $kundenmail . "'" . ", '" . $kundenurl . "', '" . $kommentar . "', '" . $datum . "')"; $result = $db->sql_query($sql); // Weiterleitung if ($new_customer_id = $db->sql_nextid()) { header('Location: ?option=1&id=' . $new_customer_id); } // end if } // end if } // end if // aktuelle neuste kundennummer ermitteln $sql = "SELECT knr FROM `" . $db_table['firmen'] . "` ORDER BY knr DESC LIMIT 0,1"; $result = $db->sql_query($sql); $daten = $db->sql_fetchrow($result); $kundennummer = $daten['knr'] + 1; $formular = array( 'formmethod' => 'post', 'formaction' => '?option=2&absenden=1', 'kundennummer' => array('name' => 'kundennummer', 'value' => $kundennummer, 'required' => 0), // Kundennummer 'kundenname' => array('name' => 'kundenname', 'value' => $kundenname, 'required' => 0), // Firmenname 'kundenzusatz' => array('name' => 'kundenzusatz', 'value' => $kundenzusatz, 'required' => 0), // Firmenname 'kundenstr' => array('name' => 'kundenstr', 'value' => $kundenstr, 'required' => 0), // Firmenstraße + Hausnummer 'kundenplz' => array('name' => 'kundenplz', 'value' => $kundenplz, 'required' => 0), // Postleitzahl 'kundenort' => array('name' => 'kundenort', 'value' => $kundenort, 'required' => 0), // Ort 'kundentel' => array('name' => 'kundentel', 'value' => $kundentel, 'required' => 0), // Telefon 'kundenfax' => array('name' => 'kundenfax', 'value' => $kundenfax, 'required' => 0), // Telefax 'anrede' => array('name' => 'anrede', 'value' => $anrede, 'required' => 0), // Ansprechpartner 'kundenmail' => array('name' => 'kundenmail', 'value' => $kundenmail, 'required' => 0), // Kunden E-Mail 'kundenurl' => array('name' => 'kundenurl', 'value' => $kundenurl, 'required' => 0), // Kunden URL 'kommentar' => array('name' => 'kommentar', 'value' => $kommentar, 'required' => 0), // Kommentar 'submit' => array('name' => 'newcustomer', 'value' => $submit, 'required' => 0), // Absenden ); // Template-Variablen setzen $template->assign('kform', $formular); // Breadcrumb setzen $breadcrumb[] = array('link' => '?option=2', 'name' => 'Neuen Kunden hinzufügen'); break; case 3: // Bearbeiten Formular // Template File die geladen werden soll $template_file = "kunden_kundenformular.tpl"; // Submit bezeichnung $submit = 'Kunde bearbeiten'; // Variable mit ID (int) deklarieren $firmen_id = intval($_GET['id']); // formular absenden if (!empty($_GET['absenden'])) { // Formvars erstellen aus $_POST-Objekten $strip_var_list = array('kundennummer','kundenname','kundenzusatz','kundenstr','kundenplz','kundenort','kundentel','kundenfax','anrede','kundenmail','kundenurl','kommentar','kundenid'); while ( list($var, $param) = @each($strip_var_list) ) { if ( isset($_POST[$param]) ) { $$param = strip_tags(trim($_POST[$param])); } // end if } // end while // pflichtangaben prüfen if (empty($kundenname)) $error[] = "Es wurde der Firmenname geändert und es ist kein gültiger Wert vorhanden."; if (empty($kundentel)) $error[] = "Es wurde keine Telefonnummer angegeben."; // wenn kein Fehler vorhanden ist if (!isset($error)) { // lege Datensatz in der Datenbank an $sql = "UPDATE `" . $db_table['firmen'] . "` " . "SET knr = '" . $kundennummer . "'," . "anrede = '" . $anrede . "'," . "fname = '" . $kundenname . "'," . "fzusatz = '" . $kundenzusatz . "'," . "strasse = '" . $kundenstr . "'," . "plz = '" . $kundenplz . "'," . "ort = '" . $kundenort . "'," . "tel = '" . $kundentel . "'," . "fax = '" . $kundenfax . "'," . "email = '" . $kundenmail . "'," . "url = '" . $kundenurl . "'," . "kommentar = '" . $kommentar . "' WHERE id = '" . $kundenid . "'"; if($result = $db->sql_query($sql)) { header('Location: ?option=1&id=' . $kundenid); } // end if } // end if } // end if // aktuelle kundendaten ermitteln $sql = "SELECT knr AS kundennummer," . "fname AS kundenname," . "fzusatz AS kundenzusatz," . "strasse AS kundenstr," . "plz AS kundenplz," . "ort AS kundenort," . "tel AS kundentel," . "fax AS kundenfax," . "email AS kundenmail," . "url AS kundenurl," . "id AS kundenid," . "kommentar,datum,anrede FROM `" . $db_table['firmen'] . "` WHERE id = '" . $firmen_id . "'"; $result = $db->sql_query($sql); $daten = $db->sql_fetchrow($result); foreach ( $daten as $key => $value ) { $$key = $value; } // end foreach $formular = array( 'formmethod' => 'post', 'formaction' => '?option=3&id=' . $firmen_id . '&absenden=1', 'kundenid' => array('name' => 'kundenid', 'value' => $kundenid, 'required' => 0), // Kundennummer 'kundennummer' => array('name' => 'kundennummer', 'value' => $kundennummer, 'required' => 0), // Kundennummer 'kundenname' => array('name' => 'kundenname', 'value' => $kundenname, 'required' => 0), // Firmenname 'kundenzusatz' => array('name' => 'kundenzusatz', 'value' => $kundenzusatz, 'required' => 0), // Firmenzusatz 'kundenstr' => array('name' => 'kundenstr', 'value' => $kundenstr, 'required' => 0), // Firmenstraße + Hausnummer 'kundenplz' => array('name' => 'kundenplz', 'value' => $kundenplz, 'required' => 0), // Postleitzahl 'kundenort' => array('name' => 'kundenort', 'value' => $kundenort, 'required' => 0), // Ort 'kundentel' => array('name' => 'kundentel', 'value' => $kundentel, 'required' => 0), // Telefon 'kundenfax' => array('name' => 'kundenfax', 'value' => $kundenfax, 'required' => 0), // Telefax 'anrede' => array('name' => 'anrede', 'value' => $anrede, 'required' => 0), // Ansprechpartner 'kundenmail' => array('name' => 'kundenmail', 'value' => $kundenmail, 'required' => 0), // Kunden E-Mail 'kundenurl' => array('name' => 'kundenurl', 'value' => $kundenurl, 'required' => 0), // Kunden URL 'kommentar' => array('name' => 'kommentar', 'value' => $kommentar, 'required' => 0), // Kommentar 'submit' => array('name' => 'editcustomer', 'value' => $submit, 'required' => 0), // Absenden ); // Template-Variablen setzen $template->assign('kform', $formular); // Breadcrumb setzen $breadcrumb[] = array('link' => '?option=3&id=' . $kundenid, 'name' => 'Kunde "' . $kundenname . '" bearbeiten'); break; case 4: // Entfernen Formular} // end switch $optionrequire_once($root_path . 'includes/page_header.php');$template->display( $template_file ); require_once($root_path . 'includes/page_footer.php');?>