uc_order_handler_field_order_fullname.inc 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. /**
  3. * @file
  4. * Views handler: Full name field handler (first and last).
  5. */
  6. /**
  7. * Returns the customer's full name.
  8. */
  9. class uc_order_handler_field_order_fullname extends views_handler_field {
  10. /**
  11. * Overrides views_handler::option_definition().
  12. */
  13. function option_definition() {
  14. $options = parent::option_definition();
  15. $options['format'] = array('default' => 'first_last');
  16. return $options;
  17. }
  18. /**
  19. * Overrides views_handler::options_form().
  20. */
  21. function options_form(&$form, &$form_state) {
  22. parent::options_form($form, $form_state);
  23. $form['format'] = array(
  24. '#title' => t('Format'),
  25. '#type' => 'select',
  26. '#options' => array(
  27. 'first_last' => t('First Last'),
  28. 'last_c_first' => t('Last, First'),
  29. 'last_first' => t('Last First'),
  30. ),
  31. '#default_value' => $this->options['format'],
  32. );
  33. }
  34. /**
  35. * Overrides views_handler_field::query().
  36. */
  37. function query() {
  38. $this->ensure_my_table();
  39. $this->add_additional_fields();
  40. }
  41. /**
  42. * Overrides views_handler_field::render().
  43. */
  44. function render($values) {
  45. $prefix = $this->definition['prefix'];
  46. $first = check_plain($values->{$this->aliases[$prefix . '_first_name']});
  47. $last = check_plain($values->{$this->aliases[$prefix . '_last_name']});
  48. switch ($this->options['format']) {
  49. case 'last_first':
  50. return "$last $first";
  51. case 'last_c_first':
  52. return "$last, $first";
  53. case 'first_last':
  54. return "$first $last";
  55. }
  56. }
  57. }