Revision 1332 | Revision 1393 | Zur aktuellen Revision | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed
<?php/**** @package WebanOS CI* @author Lars Tiefland <ltiefland@gmail.com>* @copyright 2016* @version $Rev: 1335 $*/class Order_model extends CI_Model{public function __construct(){parent::__construct();$this->load->model('bestelladresse_model', 'bestelladresse');$this->load->model('artikel_to_bestellung_model', 'artikel');$this->load->model('dokumente_model', 'dokumente');}public function get_list(){$orders = array();$sql = "SELECTb.idFROMBestellung bORDER BYb.id DESCLIMIT100";$res = $GLOBALS['order_db']->query($sql);while ($order = $res->unbuffered_row('array')){$order = $this->get($order['id']);$orders[] = $order;}return $orders;}public function get($id){$orders = array();$sql = "SELECTb.id,b.language,b.shops_ID,b.login,bill_addr_id,ship_addr_id,erstellt_am,erstellt_von,letzte_aenderung_am,letzte_aenderung_von,status,gesamtsumme_buffer,fremd_id,artikelstatus_buffer,rechnungsstatus_buffer,lieferscheinstatus_buffer,bezahlt,Bemerkung,Bemerkung_extern,bezahlt_am,s.name AS shop,ba.name AS bestellartFROMBestellung bJOINshops sONs.id=b.shops_idJOINbestellart baONba.id=b.bestellart_idWHEREb.id=".$id."";$res = $GLOBALS['order_db']->query($sql);$order = $res->unbuffered_row('array');$billAddr = $this->bestelladresse->get($order['bill_addr_id']);$shipAddr = $this->bestelladresse->get($order['ship_addr_id']);$artikel = $this->artikel->get($order['id']);$dokumente = $this->dokumente->get_list($order['id']);$artikelstatus_buffer = unserialize($order["artikelstatus_buffer"]);foreach ($artikelstatus_buffer as $key => $value){switch ($key){case "statusOffen":$info[$key]["class"] = "status_red";break;case "statusInBearbeitung":$info[$key]["class"] = "status_yellow";break;case "statusReserviert":$info[$key]["class"] = "status_blue";break;case "statusErledigt":$info[$key]["class"] = "status_green";break;case "statusAbgeschlossen":default:$info[$key]["class"] = "status_white";break;}$info[$key]["wert"] = $value;}$order["info"] = $info;$rechnungsstatus_buffer = unserialize($order["rechnungsstatus_buffer"]);foreach ($rechnungsstatus_buffer as $key => $value){switch ($key){case "rechnungSchreiben":$rstatus[$key]["class"] = "status_red";break;case "rechnungGeschrieben":$rstatus[$key]["class"] = "status_yellow";break;case "rechnungBezahlt":$rstatus[$key]["class"] = "status_green";break;}$rstatus[$key]["wert"] = $value;}$order["rechnungsstatus"] = $rstatus;$lieferscheinstatus_buffer = unserialize($order["lieferscheinstatus_buffer"]);foreach ($lieferscheinstatus_buffer as $key => $value){switch ($key){case "lieferscheinSchreiben":$lstatus[$key]["class"] = "status_yellow";break;case "lieferscheinGeschrieben":$lstatus[$key]["class"] = "status_green";break;case "lieferscheinOffen":$lstatus[$key]["class"] = "status_red";break;}$lstatus[$key]["wert"] = $value;}$order['lieferscheinstatus'] = $lstatus;$order['dokumente'] = $dokumente;$order['artikel'] = $artikel;$order['shipAddr'] = $shipAddr;$order['billAddr'] = $billAddr;return $order;}public function save(){$Bestellung = $this->input->post('Bestellung');if ((isset($_GET["update"]) && $_GET["update"]) || (isset($_POST["update"]) && $_POST["update"])){if ($_POST["update"]){$update = $_POST["update"];}else{$update = $_GET["update"];}if ($_POST["cmd"]){foreach (array_keys($_POST["cmd"]) as $table){foreach (array_keys($_POST["cmd"][$table]) as $primaryKeyValue){$changed_id = "artikel_".$primaryKeyValue."_changed";if ($_POST[$changed_id] == 1){foreach (array_keys($_POST["cmd"][$table][$primaryKeyValue]) as $tablefield){$query = "UPDATE".$table."SET".$tablefield." = '".$GLOBALS["order_db"]->escape(html_entity_decode($_POST["cmd"][$table][$primaryKeyValue][$tablefield],ENT_COMPAT, $_SESSION["charset"]))."'WHEREID = '".$primaryKeyValue."'";$result = $GLOBALS["order_db"]->query($query);}}}}}$upd_fields[] = "Bemerkung=".$GLOBALS["order_db"]->escape($_POST["Bemerkung"])."";if (isset($user_rechte["Warenwirtschaft"]["bestellung"]["shortline1"])){$upd_fields[] = "shortline1 = ".$GLOBALS["order_db"]->escape($_POST["shortline1"])."";}if (isset($user_rechte["Warenwirtschaft"]["bestellung"]["shortline2"])){$upd_fields[] = "shortline2 = ".$GLOBALS["order_db"]->escape($_POST["shortline2"])."'";}if (isset($user_rechte["Warenwirtschaft"]["bestellung"]["status1"])){$upd_fields[] = "status1 = '".$GLOBALS["order_db"]->escape($_POST["status1"])."";}if (isset($user_rechte["Warenwirtschaft"]["bestellung"]["Bemerkung_extern"])){$upd_fields[] = "Bemerkung_extern=".$GLOBALS["order_db"]->escape($_POST["Bemerkung_extern"])."";}if (isset($user_rechte["Warenwirtschaft"]["bezahlstatus"]["bezahlstatus"])){$upd_fields[] = "bezahlt=".$GLOBALS["order_db"]->escape($_POST["bezahlt"])."";$upd_fields[] = "bezahlt_bemerkung=".$GLOBALS["order_db"]->escape($_POST["bezahlt_bemerkung"])."";}if (isset($_POST['fremd_id'])){$upd_fields[] = "fremd_id=".$GLOBALS["order_db"]->escape($_POST["fremd_id"])."";}$sql = "SELECTerstellt_vonFROMBestellungWHEREID=".$Bestellung."";$result = $GLOBALS["order_db"]->query($sql);$zeile = $result->unbuffered_row('array');if ($zeile["erstellt_von"] == ''){$upd_fields[] = "erstellt_von='".$this->session->user_data['user']."'";}if ($_POST["s_changed"] == 1){$upd_fields[] = "shops_ID=".$_POST["s_id"];}$sql = "UPDATEBestellungSETletzte_Aenderung_von='".$this->session->user_data['user']."',".implode(",", $upd_fields)."WHEREID=".$Bestellung."";$GLOBALS["order_db"]->query($sql);if (isset($_POST["logistiker_id"])){if ($_POST["logistiker_id"]){$sql_bl = "REPLACE INTObestellung_logistikerSETbestellung=".$Bestellung.",logistiker=".$_POST["logistiker_id"]."";$GLOBALS["order_db"]->query($sql_bl);if (isset($web_rechte["admin"]["toolbox"]["logbuch"])){$GLOBALS["Log"]["best"]->log("Logistiker der Bestellung geändert", $Bestellung);}}else{$sql_bl = "DELETE FROMbestellung_logistikerWHEREbestellung=".$Bestellung."";$GLOBALS["order_db"]->query($sql_bl);if (isset($web_rechte["admin"]["toolbox"]["logbuch"])){$GLOBALS["Log"]["best"]->log("Logistiker der Bestellung geändert", $Bestellung);}}}if (isset($update["current"])){header("Location: /backend/order/edit/".$Bestellung);}elseif (isset($update["list"])){header("Location: /backend/order/index/".$Bestellung);}}}}?>