Index: branches/5.0.x/core/units/email_messages/email_messages_event_handler.php =================================================================== diff -u -r12117 -r12244 --- branches/5.0.x/core/units/email_messages/email_messages_event_handler.php (.../email_messages_event_handler.php) (revision 12117) +++ branches/5.0.x/core/units/email_messages/email_messages_event_handler.php (.../email_messages_event_handler.php) (revision 12244) @@ -1,6 +1,6 @@ addFilter('module_filter', 'Module = ' . $this->Conn->qstr($module)); } - if ($event->Special == 'st') { + if (($event->Special == 'st') && !$this->Application->isDebugMode()) { $object->addFilter('enabled_filter', TABLE_PREFIX . 'Events.Enabled <> ' . STATUS_DISABLED); } } @@ -156,6 +156,30 @@ } /** + * Enabled/disables actual email event + * + * @param kEvent $event + */ + function OnAfterItemUpdate(&$event) + { + parent::OnAfterItemUpdate($event); + + $object =& $event->getObject(); + /* @var $object kDBItem */ + + if ($object->GetDBField('Enabled') != $object->GetOriginalField('Enabled')) { + $email_event =& $this->Application->recallObject('emailevents.-item', null, Array ('skip_autoload' => true)); + /* @var $email_event kDBItem */ + + $email_event->Load( $object->GetDBField('EventId') ); + if ($email_event->isLoaded()) { + $email_event->SetDBField('Enabled', $object->GetDBField('Enabled')); + $email_event->Update(); + } + } + } + + /** * Merge body+subject+headers into message template * * @param kEvent $event