Skip to content

Instantly share code, notes, and snippets.

@larscwallin
Created June 16, 2011 10:49
Show Gist options
  • Save larscwallin/1029039 to your computer and use it in GitHub Desktop.
Save larscwallin/1029039 to your computer and use it in GitHub Desktop.
visioncart.getorders
<?php
$query = $modx->newQuery('vcOrder');
$query->where(array(
'shopid' => $shopid
));
$query->sortby($sortBy, $sortOrder);
$orders = array();
$stack = $modx->getCollection('vcOrder', $query);
foreach($stack as $order) {
$order->set('products', count($order->get('basket')));
$orders[] = array(
"id" => $order->get('id'),
"ordernumber" => $order->get('ordernumber'),
"shopid" => $order->get('shopid'),
"userid" => $order->get('userid'),
"userdata" => $order->get('userdata'),
"basket" => $order->get('basket'),
"basketid" => $order->get('basketid'),
"extradata" => $order->get('extradata'),
"shippingid" => $order->get('shippingid'),
"shippingcostsex" => $order->get('shippingcostsex'),
"shippingcostsin" => $order->get('shippingcostsin'),
"shippingdata" => $order->get('shippingdata'),
"paymentid" => $order->get('paymentid'),
"paymentcostsex" => $order->get('paymentcostsex'),
"paymentcostsin" => $order->get('paymentcostsin'),
"paymentdata" => $order->get('paymentdata'),
"totalweight" => $order->get('totalweight'),
"totalproductamountex" => $order->get('totalproductamountex'),
"totalproductamountin" => $order->get('totalproductamountin'),
"totalorderamountin" => $order->get('totalorderamountin'),
"totalorderamountex" => $order->get('totalorderamountex'),
"paidamount" => $order->get('paidamount'),
"ordertime" => $order->get('ordertime'),
"updatedby" => $order->get('updatedby'),
"updatetime" => $order->get('updatetime'),
"status" => $order->get('status')
);
}
unset($config, $query, $stack, $order);
if($encodeOutput){
return json_encode($orders);
}else{
return $orders;
}
/*
<object class="vcOrder" table="visioncart_orders" extends="xPDOSimpleObject">
<!-- This table holds all the orders made on the website including ALL it's data -->
<field key="shopid" dbtype="int" phptype="integer" precision="8" null="false" default="" />
<field key="userid" dbtype="int" phptype="integer" precision="8" null="false" default="" />
<field key="userdata" dbtype="text" phptype="json" null="false" default="" />
<field key="ordernumber" dbtype="varchar" phptype="string" precision="30" null="false" default="" />
<field key="basket" dbtype="text" phptype="json" null="false" default="" />
<field key="basketid" dbtype="varchar" phptype="string" precision="40" null="false" default="" />
<field key="extradata" dbtype="text" phptype="json" null="false" default="" />
<field key="shippingid" dbtype="int" phptype="integer" precision="8" null="false" default="" />
<field key="shippingcostsex" dbtype="decimal" precision="8,2" phptype="float" null="false" default="" />
<field key="shippingcostsin" dbtype="decimal" precision="8,2" phptype="float" null="false" default="" />
<field key="shippingdata" dbtype="text" phptype="json" null="false" default="" />
<field key="paymentid" dbtype="int" phptype="integer" precision="8" null="false" default="" />
<field key="paymentcostsex" dbtype="decimal" precision="8,2" phptype="float" null="false" default="" />
<field key="paymentcostsin" dbtype="decimal" precision="8,2" phptype="float" null="false" default="" />
<field key="paymentdata" dbtype="text" phptype="json" null="false" default="" />
<field key="totalweight" dbtype="decimal" precision="8,2" phptype="float" null="false" default="" />
<field key="totalproductamountex" dbtype="decimal" precision="8,2" phptype="float" null="false" default="" />
<field key="totalproductamountin" dbtype="decimal" precision="8,2" phptype="float" null="false" default="" />
<field key="totalorderamountin" dbtype="decimal" precision="8,2" phptype="float" null="false" default="" />
<field key="totalorderamountex" dbtype="decimal" precision="8,2" phptype="float" null="false" default="" />
<field key="paidamount" dbtype="decimal" precision="8,2" phptype="float" null="false" default="" />
<field key="ordertime" dbtype="int" precision="20" phptype="timestamp" null="false" default="0" index="index" />
<field key="updatedby" dbtype="int" phptype="integer" precision="8" null="false" default="" />
<field key="updatetime" dbtype="int" precision="20" phptype="timestamp" null="false" default="0" index="index" />
<field key="status" dbtype="int" phptype="integer" precision="1" null="false" default="" />
<aggregate alias="Shop" class="vcShop" local="shopid" foreign="id" cardinality="one" owner="foreign" />
<aggregate alias="PaymentModule" class="vcModule" local="paymentid" foreign="id" cardinality="one" owner="foreign" />
<aggregate alias="ShippingModule" class="vcModule" local="shippingid" foreign="id" cardinality="one" owner="foreign" />
</object>
*/
[{"name":"status","desc":"","xtype":"textfield","options":[],"value":"","lexicon":null,"overridden":false,"desc_trans":"","menu":null},{"name":"operand","desc":"","xtype":"textfield","options":[],"value":"","lexicon":null,"overridden":false,"desc_trans":"","menu":null},{"name":"shopId","desc":"","xtype":"textfield","options":[],"value":"","lexicon":null,"overridden":false,"desc_trans":"","menu":null},{"name":"userId","desc":"","xtype":"textfield","options":[],"value":"","lexicon":null,"overridden":false,"desc_trans":"","menu":null},{"name":"encodeOutput","desc":"","xtype":"combo-boolean","options":[],"value":true,"lexicon":null,"overridden":false,"desc_trans":"","menu":null},{"name":"sortBy","desc":"","xtype":"textfield","options":[],"value":"ordertime","lexicon":null,"overridden":false,"desc_trans":"","menu":null},{"name":"sortOrder","desc":"","xtype":"textfield","options":[],"value":"desc","lexicon":null,"overridden":false,"desc_trans":"","menu":null}]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment