private function save_form($purchase_log, $fields) { global $wpdb; $log_id = $purchase_log->get('id'); // delete previous field values $sql = $wpdb->prepare("DELETE FROM " . WPSC_TABLE_SUBMITTED_FORM_DATA . " WHERE log_id = %d", $log_id); $wpdb->query($sql); $customer_details = array(); foreach ($fields as $field) { if ($field->type == 'heading') { continue; } $value = ''; if (isset($_POST['wpsc_checkout_details'][$field->id])) { $value = $_POST['wpsc_checkout_details'][$field->id]; } $customer_details[$field->id] = $value; $wpdb->insert(WPSC_TABLE_SUBMITTED_FORM_DATA, array('log_id' => $log_id, 'form_id' => $field->id, 'value' => $value), array('%d', '%d', '%s')); } wpsc_save_customer_details($customer_details); }
private function save_customer_settings() { $form = WPSC_Checkout_Form::get(); $fields = $form->get_fields(); $customer_details = wpsc_get_customer_meta('checkout_details'); if (!is_array($customer_details)) { $customer_details = array(); } foreach ($fields as $field) { if (!array_key_exists($field->id, $_POST['wpsc_checkout_details'])) { continue; } $value = $_POST['wpsc_checkout_details'][$field->id]; $customer_details[$field->id] = $value; switch ($field->unique_name) { case 'billingstate': wpsc_update_customer_meta('billing_region', $value); break; case 'shippingstate': wpsc_update_customer_meta('shipping_region', $value); break; case 'billingcountry': wpsc_update_customer_meta('billing_country', $value); break; case 'shippingcountry': wpsc_update_customer_meta('shipping_country', $value); break; case 'shippingpostcode': wpsc_update_customer_meta('shipping_zip', $value); break; } } _wpsc_update_location(); wpsc_save_customer_details($customer_details); }