Index: branches/5.1.x/core/units/languages/languages_event_handler.php =================================================================== diff -u -N -r13453 -r13559 --- branches/5.1.x/core/units/languages/languages_event_handler.php (.../languages_event_handler.php) (revision 13453) +++ branches/5.1.x/core/units/languages/languages_event_handler.php (.../languages_event_handler.php) (revision 13559) @@ -1,6 +1,6 @@ Special == 'enabled') { - $object =& $event->getObject(); - /* @var $object kDBList */ + $object =& $event->getObject(); + /* @var $object kDBList */ - $object->addFilter('enabled_filter', '%1$s.Enabled = 1'); + if (in_array($event->Special, Array ('enabled', 'selected', 'available'))) { + $object->addFilter('enabled_filter', '%1$s.Enabled = ' . STATUS_ACTIVE); } + + // site domain language 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, 'Languages'); + } + + // apply domain-based language filtering + $languages = $this->Application->siteDomainField('Languages'); + + if (strlen($languages)) { + $languages = explode('|', substr($languages, 1, -1)); + $object->addFilter('domain_filter', '%1$s.LanguageId IN (' . implode(',', $languages) . ')'); + } } /**