97ecd0568ccac4c252ac1627b64d80453438fbd0
[moodle.git] / admin / configvars.php
1 <?php // $Id$
2       // Shane Elliott
3 defined('MOODLE_INTERNAL') or die('Direct access to this script is forbidden.');
5 /// Add new sitewide configuration variables to this file.
8 /// $configvars is parsed by config.php
9 /// It is an array of arrays of objects
10 /// $configvars[sectionname][configvariablename] = configvar object
11     $configvars = array();
14 /// no, yes strings and menu options are used in a number of places
15 /// so we define them here to save time on repeatedly calling
16 /// get_string()
17     $stryes = get_string('yes');
18     $strno  = get_string('no');
20     $noyesoptions[0] = $strno;
21     $noyesoptions[1] = $stryes;
25 /// A class to hold the configurable information
26 /// $field   - the html code for the form field
27 /// $help    - help text for the field
28 /// $warning - optional warning text to be displayed
29 /// method display_warning() - a generic function that can be used in an extended class
30 ///     e.g. enablerssfeeds
31 class configvar {
33     var $field;
34     var $help;
35     var $warning;
37     function configvar($help, $field, $warning='') {
38         $this->help    = $help;
39         $this->field   = $field;
40         $this->warning = $warning;
41     }
43     function display_warning() {
44         return false;
45     }
46 }
52 ////////////////////////////////////////////////////////////////////
53 /// Miscellaneous config variables
54 ////////////////////////////////////////////////////////////////////
55     $misc = array();
58 /// maxeditingtime
59     unset($options);
60     $options[3600] = get_string('numminutes', '', 60);
61     $options[2700] = get_string('numminutes', '', 45);
62     $options[1800] = get_string('numminutes', '', 30);
63     $options[900]  = get_string('numminutes', '', 15);
64     $options[300]  = get_string('numminutes', '', 5);
65     $options[60]   = get_string('numminutes', '', 1);
67     $misc['maxeditingtime'] = new configvar (get_string('configmaxeditingtime', 'admin'),
68         choose_from_menu ($options, 'maxeditingtime', $config->maxeditingtime, '', '', '', true) );
70 /// debug
71     unset($options);
72     $options[7]  = $strno;
73     $options[15] = $stryes;
75     $misc['debug'] = new configvar (get_string('configdebug', 'admin'),
76         choose_from_menu ($options, 'debug', $config->debug, '', '', '', true) );
78     $misc['perfdebug'] = new configvar (get_string('configperfdebug', 'admin'),
79         choose_from_menu ($options, 'perfdebug', $config->perfdebug, '', '', '', true) );
81 /// enablerssfeeds
82 class configvarrss extends configvar {
83     function display_warning() {
84         return (!function_exists('utf8_encode'));
85     }
86 }
88     $misc['enablerssfeeds'] = new configvarrss (get_string('configenablerssfeeds', 'admin'),
89         choose_from_menu ($noyesoptions, 'enablerssfeeds', $config->enablerssfeeds, '', '', '', true),
90         '<font color="red"> You need to add XML support to your PHP installation.</font>' );
92     $misc['mymoodleredirect'] = new configvar (get_string('configmymoodleredirect','admin'),
93         choose_from_menu($noyesoptions,'mymoodleredirect',$config->mymoodleredirect,'','','',true));
96 ////////////////////////////////////////////////////////////////////
97 /// OPERATING SYSTEM config variables
98 ////////////////////////////////////////////////////////////////////
99     $operatingsystem = array();
101 /// gdversion
102     unset($options);
103     $options[0] = get_string('gdnot');
104     $options[1] = get_string('gd1');
105     $options[2] = get_string('gd2');
107     $installed  = check_gd_version();
109     $operatingsystem['gdversion'] = new configvar (get_string('configgdversion', 'admin'),
110         choose_from_menu ($options, 'gdversion', $installed, '', '', '', true) );
112 /// dbsessions
113     $operatingsystem['dbsessions'] = new configvar (get_string('configdbsessions', 'admin'),
114         choose_from_menu ($noyesoptions, 'dbsessions', $config->dbsessions, '', '', '', true) );
116 /// sessiontimeout
117     unset($options);
118     $options[14400] = get_string('numhours', '', 4);
119     $options[10800] = get_string('numhours', '', 3);
120     $options[7200]  = get_string('numhours', '', 2);
121     $options[5400]  = get_string('numhours', '', '1.5');
122     $options[3600]  = get_string('numminutes', '', 60);
123     $options[2700]  = get_string('numminutes', '', 45);
124     $options[1800]  = get_string('numminutes', '', 30);
125     $options[900]   = get_string('numminutes', '', 15);
126     $options[300]   = get_string('numminutes', '', 5);
128     $operatingsystem['sessiontimeout'] = new configvar (get_string('configsessiontimeout', 'admin'),
129         choose_from_menu ($options, 'sessiontimeout', $config->sessiontimeout, '', '', '', true) );
131 /// sessioncookie
132     $operatingsystem['sessioncookie'] = new configvar (get_string('configsessioncookie', 'admin'),
133         '<input name="sessioncookie" type="text" size="10" value="'.s($config->sessioncookie).'" alt="sessioncookie" />' );
135 /// zip
136     $operatingsystem['zip'] = new configvar (get_string('configzip', 'admin'),
137         '<input name="zip" type="text" size="30" value="'.s($config->zip).'" alt="zip" />' );
139 /// unzip
140     $operatingsystem['unzip'] = new configvar (get_string('configunzip', 'admin'),
141         '<input name="unzip" type="text" size="30" value="'.s($config->unzip).'" alt="unzip" />' );
143     $operatingsystem['pathtodu'] = new configvar(get_string('configpathtodu', 'admin'),
144         '<input name="pathtodu" type="text" size="30" value="'.s($config->pathtodu).'" alt="pathtodu" />');                                                
146 /// slasharguments
147     unset($options);
148     $options[0] = "file.php?file=/pic.jpg";
149     $options[1] = "file.php/pic.jpg";
151     $operatingsystem['slasharguments'] = new configvar (get_string('configslasharguments', 'admin'),
152         choose_from_menu ($options, 'slasharguments', $config->slasharguments, '', '', '', true) );
154 /// proxyhost
155     $operatingsystem['proxyhost'] = new configvar (get_string('configproxyhost', 'admin'),
156         '<input name="proxyhost" type="text" size="30" value="'.s($config->proxyhost).'" alt="proxyhost" />' );
158 /// proxyport
159     $operatingsystem['proxyport'] = new configvar ('',
160         '<input name="proxyport" type="text" size="5" value="'.s($config->proxyport).'" alt="proxyport" />' );
164 ////////////////////////////////////////////////////////////////////
165 /// PERMISSIONS config variables
166 ////////////////////////////////////////////////////////////////////
167     $permissions = array();
169 /// teacherassignteachers
170     $permissions['teacherassignteachers'] = new configvar (get_string('configteacherassignteachers', 'admin'),
171         choose_from_menu ($noyesoptions, 'teacherassignteachers', $config->teacherassignteachers, '', '', '', true) );
173 /// allowunenroll
174     $permissions['allowunenroll'] = new configvar (get_string('configallowunenroll', 'admin'),
175         choose_from_menu ($noyesoptions, 'allowunenroll', $config->allowunenroll, '', '', '', true) );
177 /// allusersaresitestudents
178     $permissions['allusersaresitestudents'] = new configvar (get_string('configallusersaresitestudents', 'admin'),
179         choose_from_menu ($noyesoptions, 'allusersaresitestudents', $config->allusersaresitestudents, '', '', '', true) );
181 /// showsiteparticipantslist
182     unset($options);
183     $options[0]  = get_string('siteteachers');
184     $options[1]  = get_string('allteachers');
185     $options[2]  = get_string('studentsandteachers');
187     $permissions['showsiteparticipantslist'] = new configvar (get_string('configshowsiteparticipantslist', 'admin'),
188         choose_from_menu ($options, 'showsiteparticipantslist', $config->showsiteparticipantslist, '', '', '', true) );
190 /// forcelogin
191     $permissions['forcelogin'] = new configvar (get_string('configforcelogin', 'admin'),
192         choose_from_menu ($noyesoptions, 'forcelogin', $config->forcelogin, '', '', '', true) );
194 /// forceloginforprofiles
195    $permissions['forceloginforprofiles'] = new configvar (get_string('configforceloginforprofiles', 'admin'),
196         choose_from_menu ($noyesoptions, 'forceloginforprofiles', $config->forceloginforprofiles, '', '', '', true) );
198 /// opentogoogle
199     $permissions['opentogoogle'] = new configvar (get_string('configopentogoogle', 'admin'),
200         choose_from_menu ($noyesoptions, 'opentogoogle', $config->opentogoogle, '', '', '', true) );
202 /// maxbytes
203     $options = get_max_upload_sizes();
205     $permissions['maxbytes'] = new configvar (get_string('configmaxbytes', 'admin'),
206         choose_from_menu ($options, 'maxbytes', $config->maxbytes, '', '', 0, true) );
208 /// messaging
209     $permissions['messaging'] = new configvar (get_string('configmessaging', 'admin'),
210         choose_from_menu ($noyesoptions, 'messaging', $config->messaging, '', '', '', true) );
212 /// allowobjectembed
213     $permissions['allowobjectembed'] = new configvar (get_string('configallowobjectembed', 'admin'),
214         choose_from_menu ($noyesoptions, 'allowobjectembed', $config->allowobjectembed, '', '', '', true) );
217     unset($options);
218     $options['none'] = 'No courses';
219     $options['all'] = 'All courses';
220     $options['requested'] = 'Requested courses';
222     $permissions['restrictmodulesfor'] = new configvar (get_string('configrestrictmodulesfor','admin'),
223    ' <script language="JavaScript">
224     function togglemodules(index) {
225         if (index == 0) {
226             document.getElementById(\'allowedmodules\').disabled=true;
227         }
228         else {
229             document.getElementById(\'allowedmodules\').disabled=false;
230         }
231     }
232     </script>'.
233         choose_from_menu($options,'restrictmodulesfor',$config->restrictmodulesfor,'','togglemodules(this.selectedIndex);','',true) );
235     $permissions['restrictbydefault'] = new configvar (get_string('configrestrictbydefault','admin'),
236         choose_from_menu($noyesoptions, 'restrictbydefault',$config->restrictbydefault,'','','',true) );
238     $allowstr = '<select name="defaultallowedmodules[]" id="allowedmodules" multiple="multiple" size="10"'.((empty($config->restrictmodulesfor)) ? "disabled=\"disabled\"" : "").'>';
240     $allowedmodules = array();
241     if (!empty($config->defaultallowedmodules)) {
242         $allowedmodules = explode(',',$config->defaultallowedmodules);
243     }
245 //  On a fresh install of Moodle, this could be empty; prevent a warning on the following loop.
246     if (!$mods = get_records("modules")) {
247         $mods = array();
248     }
249     $s = "selected=\"selected\"";
250     $allowstr .= '<option value="0" '.((empty($allowedmodules)) ? $s : '').'>'.get_string('allownone').'</option>'."\n";
251     foreach ($mods as $mod) {
252         $selected = "";
253         if (in_array($mod->id,$allowedmodules)) 
254             $selected = $s;
255         $allowstr .= '<option '.$selected.' value="'.$mod->id.'">'.$mod->name.'</option>'."\n";
256     }  
257     $allowstr .= '</select>';
259     $permissions['defaultallowedmoules'] = new configvar (get_string('configdefaultallowedmodules','admin'),$allowstr);
262 /// course requests
263     $reqcourse['enablecourserequests'] = new configvar (get_string('configenablecourserequests', 'admin'),
264         choose_from_menu ($noyesoptions,'enablecourserequests',$config->enablecourserequests,'','','',true) );
266 /// default category for course requests
267     require_once($CFG->dirroot.'/course/lib.php');
268     $reqcourse['defaultrequestedcategory'] = new configvar (get_string('configdefaultrequestedcategory', 'admin'),
269         choose_from_menu (make_categories_options(), 'defaultrequestedcategory',$config->defaultrequestedcategory,'','','',true) );
271     $reqcourse['requestedteachername'] = new configvar (get_string('configrequestedteachername','admin'),
272         '<input type="text" name="requestedteachername" size="20" maxlength="100" value="'.s($config->requestedteachername).'" />');
274     $reqcourse['requestedteachersname'] = new configvar (get_string('configrequestedteachersname','admin'),
275         '<input type="text" name="requestedteachersname" size="20" maxlength="100" value="'.s($config->requestedteachersname).'" />');
277     $reqcourse['requestedstudentname'] = new configvar (get_string('configrequestedstudentname','admin'),
278         '<input type="text" name="requestedstudentname" size="20" maxlength="100" value="'.s($config->requestedstudentname).'" />');
280     $reqcourse['requestedstudentsname'] = new configvar (get_string('configrequestedstudentsname','admin'),
281         '<input type="text" name="requestedstudentsname" size="20" maxlength="100" value="'.s($config->requestedstudentsname).'" />');
283 ////////////////////////////////////////////////////////////////////
284 /// INTERFACE config variables
285 ////////////////////////////////////////////////////////////////////
286     $interface = array();
288 /// language settings
289     $interface['lang'] = new configvar ( get_string('configlang', 'admin'),
290         choose_from_menu(get_list_of_languages(), 'lang', $config->lang, '', '', '', true) );
292 /// language menu
293     $interface['langmenu'] = new configvar ( get_string('configlangmenu', 'admin'),
294         choose_from_menu($noyesoptions, 'langmenu', $config->langmenu, '', '', '', true) );
296 /// language list
297     $interface['langlist'] = new configvar ( get_string('configlanglist', 'admin'),
298         '<input name="langlist" type="text" size="60" value="'.s($config->langlist).'" alt="langlist" />' );
300 /// language menu
301     $interface['langcache'] = new configvar ( get_string('configlangcache', 'admin'),
302         choose_from_menu($noyesoptions, 'langcache', $config->langcache, '', '', '', true) );
303         
304 /// locale
305     $interface['locale'] = new configvar ( get_string('configlocale', 'admin'),
306         '<input name="locale" type="text" size="10" value="'.s($config->locale).'" alt="locale" />' );
308 /// docroot
309     $interface['docroot'] = new configvar ( get_string('configdocroot', 'admin'),
310         '<input name="docroot" type="text" size="60" value="'.s($config->docroot).'" alt="docroot" />' );
312 /// timezone
313     
314     $interface['timezone'] = new configvar ( get_string('configtimezone', 'admin'),
315         choose_from_menu (get_list_of_timezones(), 'timezone', $config->timezone, get_string('serverlocaltime'), '', '99', true ) );
317 /// country
318     $interface['country'] = new configvar ( get_string('configcountry', 'admin'),
319         choose_from_menu (get_list_of_countries(), 'country', $config->country, get_string('selectacountry'), '', 0, true) );
321 /// framename
322     if (empty($config->framename)) {
323         $config->framename = "_top";
324     }
326     $interface['framename'] = new configvar (get_string('configframename', 'admin'),
327         '<input name="framename" type="text" size="15" value="'.s($config->framename).'" alt="framename" />' );
329 /// language list
330     $interface['themelist'] = new configvar ( get_string('configthemelist', 'admin'),
331         '<input name="themelist" type="text" size="60" value="'.s($config->themelist).'" alt="themelist" />' );
333 /// user themes
334     $interface['allowuserthemes'] = new configvar (get_string('configallowuserthemes', 'admin'),
335         choose_from_menu ($noyesoptions, 'allowuserthemes', $config->allowuserthemes, '', '', '', true) );
337 /// course themes
338     $interface['allowcoursethemes'] = new configvar (get_string('configallowcoursethemes', 'admin'),
339         choose_from_menu ($noyesoptions, 'allowcoursethemes', $config->allowcoursethemes, '', '', '', true) );
341 /// allowuserblockhiding
342     $interface['allowuserblockhiding'] = new configvar (get_string('configallowuserblockhiding', 'admin'),
343         choose_from_menu ($noyesoptions, 'allowuserblockhiding', $config->allowuserblockhiding, '', '', '', true) );
345 /// showblocksonmodpages
346     $interface['showblocksonmodpages'] = new configvar (get_string('configshowblocksonmodpages', 'admin'),
347         choose_from_menu ($noyesoptions, 'showblocksonmodpages', $config->showblocksonmodpages, '', '', '', true) );
350 /// tabselectedtofront
351     $interface['tabselectedtofront'] = new configvar (get_string('tabselectedtofront', 'admin'),
352         choose_from_menu ($noyesoptions, 'tabselectedtofront', $config->tabselectedtofront, '', '', '', true) );
356 ////////////////////////////////////////////////////////////////////
357 /// USER config variables
358 ////////////////////////////////////////////////////////////////////
359     $user = array();
361 /// sitepolicy
362     $user['sitepolicy'] = new configvar (get_string('configsitepolicy', 'admin'),
363         '<input type="text" name="sitepolicy" size="60" value="'.$config->sitepolicy.'" alt="sitepolicy" />' );
366 /// fullnamedisplay
367     unset($options);
368     $options['language']  = get_string('language');
369     $options['firstname lastname']  = get_string('firstname') . ' + ' . get_string('lastname');
370     $options['lastname firstname']  = get_string('lastname') . ' + ' . get_string('firstname');
371     $options['firstname']  = get_string('firstname');
373     $user['fullnamedisplay'] = new configvar (get_string('configfullnamedisplay', 'admin'),
374         choose_from_menu ($options, 'fullnamedisplay', $config->fullnamedisplay, '', '', '', true) );
376 /// extendedusernamechars
377     $user['extendedusernamechars'] = new configvar (get_string('configextendedusernamechars', 'admin'),
378         choose_from_menu ($noyesoptions, 'extendedusernamechars', $config->extendedusernamechars, '', '', '', true) );
380 /// autologinguests
381     $user['autologinguests'] = new configvar (get_string('configautologinguests', 'admin'),
382         choose_from_menu ($noyesoptions, 'autologinguests', $config->autologinguests, '', '', '', true) );
384 /// hiddenuserfields
385     $fields = array('none', 'description', 'city', 'country', 'webpage', 'icqnumber', 'skypeid', 'yahooid', 'aimid', 'msnid', 'lastaccess');
386     if (empty($config->hiddenuserfields)) {
387         $config->hiddenuserfields = 'none';
388     }
389     $configfields = array_flip(explode(',', $config->hiddenuserfields));
390     $fieldoptions = '';
391     foreach ($fields as $value) {
392         $fieldoptions .= '<option value="'.$value.'"';
393         if (isset($configfields[$value])) {
394             $fieldoptions .= ' selected="selected"';
395         }
396         $fieldoptions .= '>'.get_string($value).'</option>';
397     }
399     $user['hiddenuserfields'] = new configvar (get_string('confighiddenuserfields', 'admin'),
400         '<select id="menuhiddenuserfields" name="hiddenuserfields[]" size="10" multiple="multiple">'.$fieldoptions.'</select>' );
405 ////////////////////////////////////////////////////////////////////
406 /// SECURITY config variables
407 ////////////////////////////////////////////////////////////////////
408     $security = array();
410 /// displayloginfailures
411     unset($options);
412     $options[''] = get_string('nobody');
413     $options['admin'] = get_string('administrators');
414     $options['teacher'] = get_string('administratorsandteachers');
415     $options['everybody'] = get_string('everybody');
417     $security['displayloginfailures'] = new configvar (get_string('configdisplayloginfailures', 'admin'),
418         choose_from_menu($options, 'displayloginfailures', $config->displayloginfailures, '', '', '', true) );
420 /// notifyloginfailures
421     unset($options);
422     $options[''] = get_string('nobody');
423     $options['mainadmin'] = get_string('administrator');
424     $options['alladmins'] = get_string('administratorsall');
426     $security['notifyloginfailures'] = new configvar (get_string('confignotifyloginfailures', 'admin'),
427         choose_from_menu($options, 'notifyloginfailures', $config->notifyloginfailures, '', '', '', true) );
429 /// notifyloginthreshold
430     unset($options);
431     for ($i=1; $i<=100; $i++) {
432         $options[$i] = "$i";
433     }
435     $security['notifyloginthreshold'] = new configvar (get_string('confignotifyloginthreshold', 'admin'),
436         choose_from_menu($options, 'notifyloginthreshold', $config->notifyloginthreshold, '', '', '', true) );
438 /// secureforms
439     $security['secureforms'] = new configvar (get_string('configsecureforms', 'admin'),
440         choose_from_menu ($noyesoptions, 'secureforms', $config->secureforms, '', '', '', true) );
442 /// loginhttps
443     $security['loginhttps'] = new configvar (get_string('configloginhttps', 'admin'),
444         choose_from_menu ($noyesoptions, 'loginhttps', $config->loginhttps, '', '', '', true) );
446 /// runclamonupload
447     $security['runclamonupload'] = new configvar (get_string('configrunclamonupload', 'admin'),
448         choose_from_menu($noyesoptions, 'runclamonupload', $config->runclamonupload, '', '', '', true) );
450 /// pathtoclam
451     $security['pathtoclam'] = new configvar (get_string('configpathtoclam', 'admin'),
452         '<input type="text" name="pathtoclam" size="30" value="'.$config->pathtoclam.'" alt="pathtoclam" />' );
454 /// quarantinedir
455     $security['quarantinedir'] = new configvar (get_string('configquarantinedir', 'admin'),
456         '<input type="text" name="quarantinedir" size="30" value="'.$config->quarantinedir.'" alt="quarantinedir" />' );
458 /// clamfailureonupload
459     unset($options);
460     $options['donothing'] = get_string('configclamdonothing', 'admin');
461     $options['actlikevirus'] = get_string('configclamactlikevirus', 'admin');
463     $security['clamfailureonupload'] = new configvar (get_string('configclamfailureonupload', 'admin'),
464         choose_from_menu($options, 'clamfailureonupload', $config->clamfailureonupload, '', '', '', true) );
469 ////////////////////////////////////////////////////////////////////
470 /// MAINTENANCE config variables
471 ////////////////////////////////////////////////////////////////////
472     $maintenance = array();
474 /// longtimenosee
475     unset($options);
476     $options[0]    = get_string('never');
477     $options[1000] = get_string('numdays', '', 1000);
478     $options[365]  = get_string('numdays', '', 365);
479     $options[180]  = get_string('numdays', '', 180);
480     $options[150]  = get_string('numdays', '', 150);
481     $options[120]  = get_string('numdays', '', 120);
482     $options[90]   = get_string('numdays', '', 90);
483     $options[60]   = get_string('numdays', '', 60);
484     $options[30]   = get_string('numdays', '', 30);
485     $options[21]   = get_string('numdays', '', 21);
486     $options[14]   = get_string('numdays', '', 14);
487     $options[7]   = get_string('numdays', '', 7);
489     $maintenance['longtimenosee'] = new configvar (get_string('configlongtimenosee', 'admin'),
490         choose_from_menu ($options, 'longtimenosee', $config->longtimenosee, '', '', '', true) );
492 /// deleteunconfirmed
493     unset($options);
494     $options[0]    = get_string('never');
495     $options[168]  = get_string('numdays', '', 7);
496     $options[144]  = get_string('numdays', '', 6);
497     $options[120]  = get_string('numdays', '', 5);
498     $options[96]   = get_string('numdays', '', 4);
499     $options[72]   = get_string('numdays', '', 3);
500     $options[48]   = get_string('numdays', '', 2);
501     $options[24]   = get_string('numdays', '', 1);
502     $options[12]   = get_string('numhours', '', 12);
503     $options[6]    = get_string('numhours', '', 6);
504     $options[1]    = get_string('numhours', '', 1);
506     $maintenance['deleteunconfirmed'] = new configvar (get_string('configdeleteunconfirmed', 'admin'),
507         choose_from_menu ($options, 'deleteunconfirmed', $config->deleteunconfirmed, '', '', '', true) );
509 /// loglifetime
510     unset($options);
511     $options[0]    = get_string('neverdeletelogs');
512     $options[1000] = get_string('numdays', '', 1000);
513     $options[365]  = get_string('numdays', '', 365);
514     $options[180]  = get_string('numdays', '', 180);
515     $options[150]  = get_string('numdays', '', 150);
516     $options[120]  = get_string('numdays', '', 120);
517     $options[90]   = get_string('numdays', '', 90);
518     $options[60]   = get_string('numdays', '', 60);
519     $options[30]   = get_string('numdays', '', 30);
521     $maintenance['loglifetime'] = new configvar (get_string('configloglifetime', 'admin'),
522         choose_from_menu ($options, 'loglifetime', $config->loglifetime, '', '', '', true) );
525 ////////////////////////////////////////////////////////////////////
526 /// MAIL config variables
527 ////////////////////////////////////////////////////////////////////
528     $mail = array();
530 /// smtphosts
531     $mail['smtphosts'] = new configvar (get_string('configsmtphosts', 'admin'),
532         '<input name="smtphosts" type="text" size="30" value="'.s($config->smtphosts).'" alt="smtphosts" />' );
534 /// smtpuser
535     $mail['smtpuser'] = new configvar (get_string('configsmtpuser', 'admin'),
536         '<input name="smtpuser" type="text" size="10" value="'.s($config->smtpuser).'" alt="smtpuser" />' );
538 /// smtppass
539     $mail['smtppass'] = new configvar ('',
540         '<input name="smtppass" type="password" size="10" value="'.s($config->smtppass).'" alt="smtppass" />' );
542 /// noreplyaddress
543     $mail['noreplyaddress'] = new configvar (get_string('confignoreplyaddress', 'admin'),
544         '<input name="noreplyaddress" type="text" size="30" value="'.s($config->noreplyaddress).'" alt="noreplyaddress" />' );
546 /// digestmailtime
547     $hours = array();
548     for ($i=0; $i<=23; $i++) {
549         $hours[$i] = sprintf("%02d",$i);
550     }
552     $mail['digestmailtime'] = new configvar (get_string('configdigestmailtime', 'admin'),
553         choose_from_menu($hours, 'digestmailtime', $config->digestmailtime, '', '', 0, true) );
555 /// allowemailaddresses
556     $mail['allowemailaddresses'] = new configvar (get_string('configallowemailaddresses', 'admin'),
557         '<input name="allowemailaddresses" type="text" size="60" value="'.s($config->allowemailaddresses).'" alt="allowemailaddresses" />' );
559 /// denyemailaddresses
560     $mail['denyemailaddresses'] = new configvar (get_string('configdenyemailaddresses', 'admin'),
561         '<input name="denyemailaddresses" type="text" size="60" value="'.s($config->denyemailaddresses).'" alt="denyemailaddresses" />' );
563 /// sitemailcharset
564     unset($options);
565     unset($charsets);
566     $charsets = get_list_of_charsets();
567     $options['0'] = get_string('none');
568     $options = array_merge($options, $charsets);
569     $mail['sitemailcharset'] = new configvar (get_string('configsitemailcharset', 'admin'),
570         choose_from_menu($options, 'sitemailcharset', $config->sitemailcharset, '', '', '', true));
572 /// allowusermailcharset
573     $mail['allowusermailcharset'] = new configvar (get_string('configallowusermailcharset', 'admin'),
574         choose_from_menu($noyesoptions, 'allowusermailcharset', $config->allowusermailcharset, '', '', '', true));
576 /// enable stats
577     $stats['enablestats'] = new configvar (get_string('configenablestats','admin'),
578         choose_from_menu($noyesoptions, 'enablestats', $config->enablestats, '', '', '', true) );
580     unset($options);
581     $options['none'] = get_string('none');
582     $options[60*60*24*7] = get_string('numweeks','moodle',1);
583     $options[60*60*24*14] = get_string('numweeks','moodle',2);
584     $options[60*60*24*21] = get_string('numweeks','moodle',3);
585     $options[60*60*24*28] = get_string('nummonths','moodle',1);
586     $options[60*60*24*56] = get_string('nummonths','moodle',2);
587     $options[60*60*24*84] = get_string('nummonths','moodle',3);
588     $options[60*60*24*112] = get_string('nummonths','moodle',4);
589     $options[60*60*24*140] = get_string('nummonths','moodle',5);
590     $options[60*60*24*168] = get_string('nummonths','moodle',6);
591     $options['all'] = get_string('all');
592     
593     $stats['statsfirstrun'] = new configvar (get_string('configstatsfirstrun','admin'),
594        choose_from_menu($options,'statsfirstrun',$config->statsfirstrun,'','','',true) );
596     unset($options);
597     $options[0] = get_string('untilcomplete');
598     $options[60*60] = '1 '.get_string('hour');
599     $options[60*60*2] = '2 '.get_string('hours');
600     $options[60*60*3] = '3 '.get_string('hours');
601     $options[60*60*4] = '4 '.get_string('hours');
602     $options[60*60*5] = '5 '.get_string('hours');
603     $options[60*60*6] = '6 '.get_string('hours');
604     $options[60*60*7] = '7 '.get_string('hours');
605     $options[60*60*8] = '8 '.get_string('hours');
607     if (empty($config->statsruntimestarthour)) {
608         $config->statsruntimestarthour = 0;
609     }
610     if (empty($config->statsruntimestartminute)) {
611         $config->statsruntimestartminute = 0;
612     }
614     $stats['statsmaxruntime'] = new configvar (get_string('configstatsmaxruntime','admin'),
615       choose_from_menu($options,'statsmaxruntime',$config->statsmaxruntime,'','','',true) );                                        
617     $stats['statsruntimestart'] = new configvar (get_string('configstatsruntimestart','admin'),
618       print_time_selector("statsruntimestarthour","statsruntimestartminute",make_timestamp(2000,1,1,$config->statsruntimestarthour,$config->statsruntimestartminute),5,true) );
620     $stats['statsuserthreshold'] = new configvar (get_string('configstatsuserthreshold','admin'),
621       '<input type="text" name="statsuserthreshold" size="4" value="'.$config->statsuserthreshold.'" />');
622                                               
624 ////////////////////////////////////////////////////////////////////
626     $configvars['interface']       = $interface;
627     $configvars['security']        = $security;
628     $configvars['operatingsystem'] = $operatingsystem;
629     $configvars['maintenance']     = $maintenance;
630     $configvars['mail']            = $mail;
631     $configvars['user']            = $user;
632     $configvars['permissions']     = $permissions;
633     $configvars['requestedcourse'] = $reqcourse;
634     $configvars['misc']            = $misc;
635     $configvars['stats']           = $stats;
637 ?>