function basic_cart_order_register_order in Basic cart 7.2
Registers a new basic cart order to the database.
Parameters
string $name: The customer's name.
string $email: The customer's email address.
array $order_details: The rest of the customer's data (phone, address, message). Non mandatory fields.
1 call to basic_cart_order_register_order()
- basic_cart_checkout_form_submit in ./
basic_cart.cart.inc - Checkout form submit proccess. Register order and send emails.
File
- basic_cart_order/
basic_cart_order.module, line 142
Code
function basic_cart_order_register_order($name, $email, $order_details = array()) {
$cart = basic_cart_get_cart();
if (!is_array($cart)) {
return NULL;
}
// Registering the new order to the database.
$node = new stdClass();
$node->type = 'order';
node_object_prepare($node);
// Title, mandatory field.
$node->title = $name;
$node->language = LANGUAGE_NONE;
// Body.
if (isset($order_details['message'])) {
$node->body[$node->language][0]['value'] = $order_details['message'];
}
else {
$node->body[$node->language][0]['value'] = '';
}
// Email, mandatory field.
$node->field_email[$node->language][0]['value'] = $email;
// Phone.
if (isset($order_details['phone'])) {
$node->field_phone[$node->language][0]['value'] = $order_details['phone'];
}
// Phone.
if (isset($order_details['city'])) {
$node->field_city[$node->language][0]['value'] = $order_details['city'];
}
// Phone.
if (isset($order_details['zipcode'])) {
$node->field_zipcode[$node->language][0]['value'] = $order_details['zipcode'];
}
// Address.
if (isset($order_details['address'])) {
$node->field_address[$node->language][0]['value'] = $order_details['address'];
}
// Total price.
if (isset($order_details['total_price'])) {
$node->field_total_price[$node->language][0]['value'] = $order_details['total_price'];
}
else {
$price = basic_cart_get_total_price();
$node->field_total_price[$node->language][0]['value'] = $price->total;
}
// VAT.
$vat_is_enabled = (int) variable_get('basic_cart_vat_state');
if (!empty($vat_is_enabled) && $vat_is_enabled) {
$node->vat[$node->language][0]['value'] = $price->vat;
}
// Registering order.
node_save($node);
// Now we have a node ID, we need to save the associated products.
$oid = $node->nid;
foreach ($cart as $nid => $n) {
$record = array(
'oid' => $oid,
'nid' => $n->nid,
'quantity' => $n->basic_cart_quantity,
);
drupal_write_record('basic_cart_order_node', $record);
}
return $node;
}