You are here

function uc_extra_fields_pane_billing in Extra Fields Checkout Pane 6

billing information.

1 string reference to 'uc_extra_fields_pane_billing'
uc_extra_fields_pane_checkout_pane in ./uc_extra_fields_pane.module

File

./uc_extra_fields_pane.module, line 434

Code

function uc_extra_fields_pane_billing($op, &$arg1 = NULL, $arg2 = NULL) {
  switch ($op) {
    case 'settings':
      return;
    case 'view':
      $description = t(variable_get('uc_extra_fields_pane_billing_pane_description', 'Please fill in additional billing information below.'));
      $fields = uc_extra_fields_pane_load_fields_from_db();
      $contents = array();

      // dynamically generate form elements
      if (count($fields)) {
        foreach ($fields as $field) {
          $contents['extra_fields'][$field['field'] . '_billing'] = array(
            '#type' => 'textfield',
            '#title' => t($field['title']),
            '#description' => t($field['description']),
            '#size' => 32,
            '#maxlength' => 255,
            '#required' => $field['required'],
            '#default_value' => isset($arg1->extra_fields[$field['field'] . '_billing']) ? $arg1->extra_fields[$field['field'] . '_billing'] : NULL,
          );
        }
      }
      return array(
        'description' => $description,
        'contents' => $contents,
        'theme' => 'uc_extra_fields_pane',
      );
    case 'process':

      // initialize and fill array
      if ($arg1->extra_fields == NULL) {
        $arg1->extra_fields = array();
      }
      $arg1->extra_fields = array_merge($arg1->extra_fields, $arg2['extra_fields']);
      return TRUE;
    case 'review':
      $fields = uc_extra_fields_pane_load_fields_from_db();
      if (count($fields)) {
        foreach ($fields as $field) {
          $review[] = array(
            'title' => $field['title'],
            'data' => $arg1->extra_fields[$field['field'] . '_billing'],
          );
        }
      }
      return $review;
  }
}