2 // This file is part of Moodle - http://moodle.org/
4 // Moodle is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
9 // Moodle is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
14 // You should have received a copy of the GNU General Public License
15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>.
17 defined('MOODLE_INTERNAL') ||
die;
19 if ($ADMIN->fulltree
) {
20 require_once($CFG->dirroot
. '/mod/scorm/locallib.php');
21 $yesno = array(0 => get_string('no'),
22 1 => get_string('yes'));
24 //default display settings
25 $settings->add(new admin_setting_heading('scorm/displaysettings', get_string('defaultdisplaysettings', 'scorm'), ''));
27 $settings->add(new admin_setting_configselect_with_advanced('scorm/displaycoursestructure',
28 get_string('displaycoursestructure', 'scorm'), get_string('displaycoursestructuredesc', 'scorm'),
29 array('value' => 0, 'adv' => false), $yesno));
31 $settings->add(new admin_setting_configselect_with_advanced('scorm/popup',
32 get_string('display', 'scorm'), get_string('displaydesc', 'scorm'),
33 array('value' => 0, 'adv' => false), scorm_get_popup_display_array()));
35 $settings->add(new admin_setting_configtext_with_advanced('scorm/framewidth',
36 get_string('width', 'scorm'), get_string('framewidth', 'scorm'),
37 array('value' => '100', 'adv' => true)));
39 $settings->add(new admin_setting_configtext_with_advanced('scorm/frameheight',
40 get_string('height', 'scorm'), get_string('frameheight', 'scorm'),
41 array('value' => '500', 'adv' => true)));
43 $settings->add(new admin_setting_configcheckbox('scorm/winoptgrp_adv',
44 get_string('optionsadv', 'scorm'), get_string('optionsadv_desc', 'scorm'), 1));
46 foreach (scorm_get_popup_options_array() as $key => $value) {
47 $settings->add(new admin_setting_configcheckbox('scorm/'.$key,
48 get_string($key, 'scorm'), '', $value));
51 $settings->add(new admin_setting_configselect_with_advanced('scorm/skipview',
52 get_string('skipview', 'scorm'), get_string('skipviewdesc', 'scorm'),
53 array('value' => 0, 'adv' => true), scorm_get_skip_view_array()));
55 $settings->add(new admin_setting_configselect_with_advanced('scorm/hidebrowse',
56 get_string('hidebrowse', 'scorm'), get_string('hidebrowsedesc', 'scorm'),
57 array('value' => 0, 'adv' => true), $yesno));
59 $settings->add(new admin_setting_configselect_with_advanced('scorm/hidetoc',
60 get_string('hidetoc', 'scorm'), get_string('hidetocdesc', 'scorm'),
61 array('value' => 0, 'adv' => true), scorm_get_hidetoc_array()));
63 $settings->add(new admin_setting_configselect_with_advanced('scorm/nav',
64 get_string('nav', 'scorm'), get_string('navdesc', 'scorm'),
65 array('value' => SCORM_NAV_UNDER_CONTENT
, 'adv' => true), scorm_get_navigation_display_array()));
67 $settings->add(new admin_setting_configtext_with_advanced('scorm/navpositionleft',
68 get_string('fromleft', 'scorm'), get_string('navpositionleft', 'scorm'),
69 array('value' => -100, 'adv' => true)));
71 $settings->add(new admin_setting_configtext_with_advanced('scorm/navpositiontop',
72 get_string('fromtop', 'scorm'), get_string('navpositiontop', 'scorm'),
73 array('value' => -100, 'adv' => true)));
75 $settings->add(new admin_setting_configtext_with_advanced('scorm/collapsetocwinsize',
76 get_string('collapsetocwinsize', 'scorm'), get_string('collapsetocwinsizedesc', 'scorm'),
77 array('value' => 767, 'adv' => true)));
79 $settings->add(new admin_setting_configselect_with_advanced('scorm/displayattemptstatus',
80 get_string('displayattemptstatus', 'scorm'), get_string('displayattemptstatusdesc', 'scorm'),
81 array('value' => 1, 'adv' => false), $yesno));
83 //default grade settings
84 $settings->add(new admin_setting_heading('scorm/gradesettings', get_string('defaultgradesettings', 'scorm'), ''));
85 $settings->add(new admin_setting_configselect('scorm/grademethod',
86 get_string('grademethod', 'scorm'), get_string('grademethoddesc', 'scorm'),
87 GRADEHIGHEST
, scorm_get_grade_method_array()));
89 for ($i=0; $i<=100; $i++
) {
93 $settings->add(new admin_setting_configselect('scorm/maxgrade',
94 get_string('maximumgrade'), get_string('maximumgradedesc', 'scorm'), 100, $grades));
96 $settings->add(new admin_setting_heading('scorm/othersettings', get_string('defaultothersettings', 'scorm'), ''));
98 //default attempts settings.
99 $settings->add(new admin_setting_configselect('scorm/maxattempt',
100 get_string('maximumattempts', 'scorm'), '', '0', scorm_get_attempts_array()));
102 $settings->add(new admin_setting_configselect('scorm/whatgrade',
103 get_string('whatgrade', 'scorm'), get_string('whatgradedesc', 'scorm'), HIGHESTATTEMPT
, scorm_get_what_grade_array()));
105 $settings->add(new admin_setting_configselect('scorm/forcecompleted',
106 get_string('forcecompleted', 'scorm'), get_string('forcecompleteddesc', 'scorm'), 0, $yesno));
108 $settings->add(new admin_setting_configselect('scorm/forcenewattempt',
109 get_string('forcenewattempt', 'scorm'), get_string('forcenewattemptdesc', 'scorm'), 0, $yesno));
111 $settings->add(new admin_setting_configselect('scorm/lastattemptlock',
112 get_string('lastattemptlock', 'scorm'), get_string('lastattemptlockdesc', 'scorm'), 0, $yesno));
114 $settings->add(new admin_setting_configselect('scorm/auto',
115 get_string('autocontinue', 'scorm'), get_string('autocontinuedesc', 'scorm'), 0, $yesno));
117 $settings->add(new admin_setting_configselect('scorm/updatefreq',
118 get_string('updatefreq', 'scorm'), get_string('updatefreqdesc', 'scorm'), 0, scorm_get_updatefreq_array()));
120 //admin level settings.
121 $settings->add(new admin_setting_heading('scorm/adminsettings', get_string('adminsettings', 'scorm'), ''));
123 $settings->add(new admin_setting_configcheckbox('scorm/allowtypeexternal', get_string('allowtypeexternal', 'scorm'), '', 0));
125 $settings->add(new admin_setting_configcheckbox('scorm/allowtypelocalsync', get_string('allowtypelocalsync', 'scorm'), '', 0));
127 $settings->add(new admin_setting_configcheckbox('scorm/allowtypeexternalaicc', get_string('allowtypeexternalaicc', 'scorm'), get_string('allowtypeexternalaicc_desc', 'scorm'), 0));
129 $settings->add(new admin_setting_configcheckbox('scorm/allowaicchacp', get_string('allowtypeaicchacp', 'scorm'), get_string('allowtypeaicchacp_desc', 'scorm'), 0));
131 $settings->add(new admin_setting_configtext('scorm/aicchacptimeout',
132 get_string('aicchacptimeout', 'scorm'), get_string('aicchacptimeout_desc', 'scorm'),
135 $settings->add(new admin_setting_configtext('scorm/aicchacpkeepsessiondata',
136 get_string('aicchacpkeepsessiondata', 'scorm'), get_string('aicchacpkeepsessiondata_desc', 'scorm'),
139 $settings->add(new admin_setting_configcheckbox('scorm/forcejavascript', get_string('forcejavascript', 'scorm'), get_string('forcejavascript_desc', 'scorm'), 1));
141 $settings->add(new admin_setting_configcheckbox('scorm/allowapidebug', get_string('allowapidebug', 'scorm'), '', 0));
143 $settings->add(new admin_setting_configtext('scorm/apidebugmask', get_string('apidebugmask', 'scorm'), '', '.*'));