3 // This file defines everything related to frontpage
5 if (!during_initial_install()) { //do not use during installation
6 $frontpagecontext = context_course
::instance(SITEID
);
8 if ($hassiteconfig or has_any_capability(array(
9 'moodle/course:update',
11 'moodle/restore:restorecourse',
12 'moodle/backup:backupcourse',
13 'moodle/course:managefiles',
14 'moodle/question:add',
15 'moodle/question:editmine',
16 'moodle/question:editall',
17 'moodle/question:viewmine',
18 'moodle/question:viewall',
19 'moodle/question:movemine',
20 'moodle/question:moveall'), $frontpagecontext)) {
22 // "frontpage" settingpage
23 $temp = new admin_settingpage('frontpagesettings', new lang_string('frontpagesettings','admin'), 'moodle/course:update', false, $frontpagecontext);
24 $temp->add(new admin_setting_sitesettext('fullname', new lang_string('fullsitename'), '', NULL)); // no default
25 $temp->add(new admin_setting_sitesettext('shortname', new lang_string('shortsitename'), '', NULL)); // no default
26 $temp->add(new admin_setting_special_frontpagedesc());
27 $temp->add(new admin_setting_courselist_frontpage(false)); // non-loggedin version of the setting (that's what the parameter is for :) )
28 $temp->add(new admin_setting_courselist_frontpage(true)); // loggedin version of the setting
31 $options[] = new lang_string('unlimited');
32 for ($i=1; $i<100; $i++
) {
35 $temp->add(new admin_setting_configselect('maxcategorydepth', new lang_string('configsitemaxcategorydepth','admin'), new lang_string('configsitemaxcategorydepthhelp','admin'), 2, $options));
37 $temp->add(new admin_setting_configtext('frontpagecourselimit', new lang_string('configfrontpagecourselimit','admin'), new lang_string('configfrontpagecourselimithelp','admin'), 200, PARAM_INT
));
39 $temp->add(new admin_setting_sitesetcheckbox('numsections', new lang_string('sitesection'), new lang_string('sitesectionhelp','admin'), 1));
40 $temp->add(new admin_setting_sitesetselect('newsitems', new lang_string('newsitemsnumber'), '', 3,
52 $temp->add(new admin_setting_configtext('commentsperpage', new lang_string('commentsperpage', 'admin'), '', 15, PARAM_INT
));
54 // front page default role
55 $options = array(0=>new lang_string('none')); // roles to choose from
56 $defaultfrontpageroleid = 0;
57 $roles = role_fix_names(get_all_roles(), null, ROLENAME_ORIGINALANDSHORT
);
58 foreach ($roles as $role) {
59 if (empty($role->archetype
) or $role->archetype
=== 'guest' or $role->archetype
=== 'frontpage' or $role->archetype
=== 'student') {
60 $options[$role->id
] = $role->localname
;
61 if ($role->archetype
=== 'frontpage' && !$defaultfrontpageroleid) {
62 $defaultfrontpageroleid = $role->id
;
66 if ($defaultfrontpageroleid and (!isset($CFG->defaultfrontpageroleid
) or $CFG->defaultfrontpageroleid
)) {
67 //frotpage role may not exist in old upgraded sites
70 $temp->add(new admin_setting_configselect('defaultfrontpageroleid', new lang_string('frontpagedefaultrole', 'admin'), '', $defaultfrontpageroleid, $options));
72 $ADMIN->add('frontpage', $temp);