///////////////////////////////////////////////////// // GLOBAL SETTINGS //////////////////////////////////////////////////// use block_notifications\SupportedEvents; include_once realpath(dirname(__FILE__) . DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . "common.php"; defined('MOODLE_INTERNAL') || die; global $CFG; if ($ADMIN->fulltree) { $settings->add(new admin_setting_heading('block_notifications_settings', '', get_string('global_configuration_comment', 'block_notifications'))); $settings->add(new admin_setting_configcheckbox('block_notifications/email_channel', get_string('email', 'block_notifications'), '', 1)); if (class_exists('block_notifications\\SMS')) { $settings->add(new admin_setting_configcheckbox('block_notifications/sms_channel', get_string('sms', 'block_notifications'), '', 1)); } else { $settings->add(new admin_setting_configcheckbox('block_notifications/sms_channel', get_string('sms', 'block_notifications'), get_string('sms_class_not_implemented', 'block_notifications'), 0)); } $settings->add(new admin_setting_configcheckbox('block_notifications/rss_channel', get_string('rss', 'block_notifications'), '', 1)); $settings->add(new admin_setting_configcheckbox('block_notifications/rss_shortname_url_param', get_string('rss_by_shortname', 'block_notifications'), '', 0)); $settings->add(new admin_setting_heading('block_notifications_presets', '', get_string('global_configuration_presets_comment', 'block_notifications'))); $settings->add(new admin_setting_configcheckbox('block_notifications/email_notification_preset', get_string('email_notification_preset', 'block_notifications'), get_string('email_notification_preset_explanation', 'block_notifications'), 1)); $settings->add(new admin_setting_configcheckbox('block_notifications/sms_notification_preset', get_string('sms_notification_preset', 'block_notifications'), get_string('sms_notification_preset_explanation', 'block_notifications'), 1)); $settings->add(new admin_setting_configtext('block_notifications/history_length', get_string('history_length', 'block_notifications'), get_string('history_length_explanation', 'block_notifications'), 30, PARAM_INT)); $settings->add(new admin_setting_heading('block_notifications_actions', '', get_string('global_events_explanation', 'block_notifications'))); $events = report_eventlist_list_generator::get_all_events_list(); // the default values are in the SupportedEvents class foreach (SupportedEvents::getStandardNames() as $name => $enabled) { $eventname = preg_replace('/\\\\/', '_', $name); $eventname = preg_replace('/^_/', '', $eventname); $description = preg_replace('/href="/', 'href="../report/eventlist/', $events[$name]['fulleventname']); $settings->add(new admin_setting_configcheckbox("block_notifications/{$eventname}", $description, '', $enabled)); } }