Index: branches/5.1.x/units/payment_type/payment_type_event_handler.php =================================================================== diff -u -N -r13100 -r13558 --- branches/5.1.x/units/payment_type/payment_type_event_handler.php (.../payment_type_event_handler.php) (revision 13100) +++ branches/5.1.x/units/payment_type/payment_type_event_handler.php (.../payment_type_event_handler.php) (revision 13558) @@ -1,6 +1,6 @@ getObject(); + /* @var $object kDBList */ + + if (in_array($event->Special, Array ('enabled', 'selected', 'available')) || !$this->Application->isAdminUser) { + // "enabled" special or Front-End + $object->addFilter('enabled_filter', '%1$s.Status = ' . STATUS_ACTIVE); + } + + // site domain payment type picker + if ($event->Special == 'selected' || $event->Special == 'available') { + $edit_picker_helper =& $this->Application->recallObject('EditPickerHelper'); + /* @var $edit_picker_helper EditPickerHelper */ + + $edit_picker_helper->applyFilter($event, 'PaymentTypes'); + } + + // apply domain-based payment type filtering + $payment_types = $this->Application->siteDomainField('PaymentTypes'); + + if (strlen($payment_types)) { + $payment_types = explode('|', substr($payment_types, 1, -1)); + $object->addFilter('domain_filter', '%1$s.PaymentTypeId IN (' . implode(',', $payment_types) . ')'); + } + } + } \ No newline at end of file