public function getPrefsEvents() { /* Events settings */ $this->addPrettyName('events', _("Events settings")); $c = new ConfigElement_list('mail_to', _('Email addresses to send alerts to'), _('On system alerts, emails will be sent to these addresses'), NULL, array()); $this->add($c, 'events'); $events = Events::loadAll(); foreach ($events as $event) { $list = array(); $pretty_list = array(); foreach ($event->getCallbacks() as $cb) { if (!$cb['is_internal']) { $list[] = $cb['name']; $pretty_list[$cb['name']] = $cb['description']; } } if (count($list) == 0) { continue; } $event_name = $event->getPrettyName(); /* FIXME: descriptions */ $c = new ConfigElement_multiselect(get_class($event), $event_name, "When {$event_name} is emitted", "When {$event_name} is emitted", array()); $c->setContentAvailable($pretty_list); $this->add($c, 'events', 'active_callbacks'); } $this->addPrettyName('active_callbacks', _('Activated callbacks')); unset($events); }
public function getPrefsEvents() { /* Events settings */ $c = new ConfigElement_list('mail_to', array()); $this->add($c, 'events'); $events = Events::loadAll(); foreach ($events as $event) { $list = array(); $pretty_list = array(); foreach ($event->getCallbacks() as $cb) { if (!$cb['is_internal']) { $list[] = $cb['name']; $pretty_list[] = $cb['name']; } } if (count($list) == 0) { continue; } $event_name = $event->getPrettyName(); /* FIXME: descriptions */ $c = new ConfigElement_multiselect(get_class($event), array()); $c->setContentAvailable($pretty_list); $this->add($c, 'events', 'active_callbacks'); } unset($events); }