getorder transaction
authorkonrad <konrad@6e3c4bff-ac9f-4ac1-96c5-d2ea494d3e33>
Sat, 22 Mar 2008 10:55:37 +0000 (10:55 +0000)
committerkonrad <konrad@6e3c4bff-ac9f-4ac1-96c5-d2ea494d3e33>
Sat, 22 Mar 2008 10:55:37 +0000 (10:55 +0000)
git-svn-id: https://silmor.de/svn/softmagic/smoke/trunk@136 6e3c4bff-ac9f-4ac1-96c5-d2ea494d3e33

www/inc/classes/order.php
www/inc/classes/ticket.php
www/machine.php

index 8b0f71d..e0ac3f4 100644 (file)
@@ -401,4 +401,49 @@ function createOrderXml($xmldata,$action)
        }
 }
 
+//returns an overview over all orders
+function getOrderListXml()
+{
+       global $db;
+       $xml=new DomDocument;
+       $doc=$xml->createElement("OrderList");
+       $res=$db->select("order","orderid,customerid,status,amountpaid","");
+       foreach($res as $ord){
+               //collect tickets
+               $tres=$db->select("ticket","price,status","orderid=".$db->escapeInt($ord["orderid"]));
+               $price=0;
+               foreach($tres as $tc)
+                       if(($tc["status"]&TICKET_MPAY)!=0)
+                               $price+=$tc["price"];
+               //generate XML
+               $ox=$xml->createElement("Order");
+               $ox->setAttribute("id",$ord["orderid"]);
+               $ox->setAttribute("customer",$ord["customerid"]);
+               $ox->setAttribute("totalprice",$price);
+               $ox->setAttribute("paid",$ord["amountpaid"]);
+               switch($ord["status"]){
+                       case ORDER_PLACED:
+                               $ox->setAttribute("status","placed");
+                               break;
+                       case ORDER_SENT:
+                               $ox->setAttribute("status","sent");
+                               break;
+                       case ORDER_CANCELLED:
+                               $ox->setAttribute("status","cancelled");
+                               break;
+                       case ORDER_CLOSED:
+                               $ox->setAttribute("status","closed");
+                               break;
+                       default:
+                               $ox->setAttribute("status","error");
+                               break;
+               }
+               //add to XML
+               $doc->appendChild($ox);
+       }
+       $xml->appendChild($doc);
+       //output
+       print($xml->saveXml());
+}
+
 ?>
\ No newline at end of file
index 57374a5..77c719d 100644 (file)
@@ -15,7 +15,7 @@
 /**mask: ticket is blocked (can be used or is used)*/
 define("TICKET_MBLOCK",0x100);
 /**mask: ticket must be paid or is paid*/
-define("TICKET_MBLOCK",0x200);
+define("TICKET_MPAY",0x200);
 
 
 /**ticket has been reserved by a seller*/
index 7f28ada..b941ed0 100644 (file)
@@ -23,7 +23,7 @@ $ALLOWEDREQUESTS=array(
        tr("geteventlist"),tr("geteventdata"),tr("seteventdata"),tr("eventsummary"), //event infos
        tr("getroomdata"),tr("setroomdata"),//room infos
        tr("getcustomerlist"),tr("getcustomer"),tr("setcustomer"), //customer info
-       tr("checkorder"),tr("createorder"),tr("createsale"), //sell/order stuff
+       tr("checkorder"),tr("createorder"),tr("createsale"),tr("getorderlist"), //sell/order stuff
        tr("gettemplatelist"),tr("gettemplate"),tr("settemplate") //templates
 );
 /**contains the low-level request name from the client*/
@@ -260,19 +260,26 @@ if($SMOKEREQUEST=="setcustomer"){
        exit();
 }
 
-
+//check that the order can be executed
 if($SMOKEREQUEST=="checkorder"){
        createOrderXml($REQUESTDATA,"check");
        exit();
 }
+//create order as normal order
 if($SMOKEREQUEST=="createorder"){
        createOrderXml($REQUESTDATA,"order");
        exit();
 }
+//create order recors as a sale (already paid and delivered)
 if($SMOKEREQUEST=="createsale"){
        createOrderXml($REQUESTDATA,"sell");
        exit();
 }
+//get list of all orders
+if($SMOKEREQUEST=="getorderlist"){
+       getOrderListXml();
+       exit();
+}
 
 
 //EOF