forked from ndunand/moodle_notifications_20
/
settings.php
45 lines (32 loc) · 2.81 KB
/
settings.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
/////////////////////////////////////////////////////
// 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) );
}
}