uc_order_handler_field_order_cc_data.inc 830 B

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. /**
  3. * @file
  4. * Credit card data views field handler.
  5. */
  6. /**
  7. * Field handler: displays credit card data.
  8. */
  9. class uc_order_handler_field_order_cc_data extends views_handler_field {
  10. /**
  11. * Overrides views_handler_field::render().
  12. */
  13. function render($values) {
  14. // Initialize the encryption key and class.
  15. $key = uc_credit_encryption_key();
  16. $crypt = new UbercartEncryption();
  17. $data = unserialize($values->{$this->field_alias});
  18. if (isset($data['cc_data'])) {
  19. $cc_data = $crypt->decrypt($key, $data['cc_data']);
  20. if (strpos($cc_data, ':') === FALSE) {
  21. $cc_data = base64_decode($cc_data);
  22. }
  23. $cc_data = unserialize($cc_data);
  24. if (isset($cc_data[$this->definition['cc field']])) {
  25. return $cc_data[$this->definition['cc field']];
  26. }
  27. }
  28. }
  29. }