adding blog support (development code)
[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));
95     unset($options);
96     $options[5] = get_string('worldblogs','blog');
97     $options[4] = get_string('siteblogs','blog');
98     $options[3] = get_string('courseblogs','blog');
99     $options[2] = get_string('groupblogs','blog');
100     $options[1] = get_string('personalblogs','blog');
101     $options[0] = get_string('diableblogs','blog');
103     $misc['bloglevel'] = new configvar (get_string('blogleveldes', 'admin'),
104         choose_from_menu ($options, 'bloglevel', $config->bloglevel,'','','',true));
106 ////////////////////////////////////////////////////////////////////
107 /// OPERATING SYSTEM config variables
108 ////////////////////////////////////////////////////////////////////
109     $operatingsystem = array();
111 /// gdversion
112     unset($options);
113     $options[0] = get_string('gdnot');
114     $options[1] = get_string('gd1');
115     $options[2] = get_string('gd2');
117     $installed  = check_gd_version();
119     $operatingsystem['gdversion'] = new configvar (get_string('configgdversion', 'admin'),
120         choose_from_menu ($options, 'gdversion', $installed, '', '', '', true) );
122 /// dbsessions
123     $operatingsystem['dbsessions'] = new configvar (get_string('configdbsessions', 'admin'),
124         choose_from_menu ($noyesoptions, 'dbsessions', $config->dbsessions, '', '', '', true) );
126 /// sessiontimeout
127     unset($options);
128     $options[14400] = get_string('numhours', '', 4);
129     $options[10800] = get_string('numhours', '', 3);
130     $options[7200]  = get_string('numhours', '', 2);
131     $options[5400]  = get_string('numhours', '', '1.5');
132     $options[3600]  = get_string('numminutes', '', 60);
133     $options[2700]  = get_string('numminutes', '', 45);
134     $options[1800]  = get_string('numminutes', '', 30);
135     $options[900]   = get_string('numminutes', '', 15);
136     $options[300]   = get_string('numminutes', '', 5);
138     $operatingsystem['sessiontimeout'] = new configvar (get_string('configsessiontimeout', 'admin'),
139         choose_from_menu ($options, 'sessiontimeout', $config->sessiontimeout, '', '', '', true) );
141 /// sessioncookie
142     $operatingsystem['sessioncookie'] = new configvar (get_string('configsessioncookie', 'admin'),
143         '<input name="sessioncookie" type="text" size="10" value="'.s($config->sessioncookie).'" alt="sessioncookie" />' );
145 /// zip
146     $operatingsystem['zip'] = new configvar (get_string('configzip', 'admin'),
147         '<input name="zip" type="text" size="30" value="'.s($config->zip).'" alt="zip" />' );
149 /// unzip
150     $operatingsystem['unzip'] = new configvar (get_string('configunzip', 'admin'),
151         '<input name="unzip" type="text" size="30" value="'.s($config->unzip).'" alt="unzip" />' );
153     $operatingsystem['pathtodu'] = new configvar(get_string('configpathtodu', 'admin'),
154         '<input name="pathtodu" type="text" size="30" value="'.s($config->pathtodu).'" alt="pathtodu" />');                                                
156 /// slasharguments
157     unset($options);
158     $options[0] = "file.php?file=/pic.jpg";
159     $options[1] = "file.php/pic.jpg";
161     $operatingsystem['slasharguments'] = new configvar (get_string('configslasharguments', 'admin'),
162         choose_from_menu ($options, 'slasharguments', $config->slasharguments, '', '', '', true) );
164 /// proxyhost
165     $operatingsystem['proxyhost'] = new configvar (get_string('configproxyhost', 'admin'),
166         '<input name="proxyhost" type="text" size="30" value="'.s($config->proxyhost).'" alt="proxyhost" />' );
168 /// proxyport
169     $operatingsystem['proxyport'] = new configvar ('',
170         '<input name="proxyport" type="text" size="5" value="'.s($config->proxyport).'" alt="proxyport" />' );
174 ////////////////////////////////////////////////////////////////////
175 /// PERMISSIONS config variables
176 ////////////////////////////////////////////////////////////////////
177     $permissions = array();
179 /// teacherassignteachers
180     $permissions['teacherassignteachers'] = new configvar (get_string('configteacherassignteachers', 'admin'),
181         choose_from_menu ($noyesoptions, 'teacherassignteachers', $config->teacherassignteachers, '', '', '', true) );
183 /// allowunenroll
184     $permissions['allowunenroll'] = new configvar (get_string('configallowunenroll', 'admin'),
185         choose_from_menu ($noyesoptions, 'allowunenroll', $config->allowunenroll, '', '', '', true) );
187 /// allusersaresitestudents
188     $permissions['allusersaresitestudents'] = new configvar (get_string('configallusersaresitestudents', 'admin'),
189         choose_from_menu ($noyesoptions, 'allusersaresitestudents', $config->allusersaresitestudents, '', '', '', true) );
191 /// showsiteparticipantslist
192     unset($options);
193     $options[0]  = get_string('siteteachers');
194     $options[1]  = get_string('allteachers');
195     $options[2]  = get_string('studentsandteachers');
197     $permissions['showsiteparticipantslist'] = new configvar (get_string('configshowsiteparticipantslist', 'admin'),
198         choose_from_menu ($options, 'showsiteparticipantslist', $config->showsiteparticipantslist, '', '', '', true) );
200 /// forcelogin
201     $permissions['forcelogin'] = new configvar (get_string('configforcelogin', 'admin'),
202         choose_from_menu ($noyesoptions, 'forcelogin', $config->forcelogin, '', '', '', true) );
204 /// forceloginforprofiles
205    $permissions['forceloginforprofiles'] = new configvar (get_string('configforceloginforprofiles', 'admin'),
206         choose_from_menu ($noyesoptions, 'forceloginforprofiles', $config->forceloginforprofiles, '', '', '', true) );
208 /// opentogoogle
209     $permissions['opentogoogle'] = new configvar (get_string('configopentogoogle', 'admin'),
210         choose_from_menu ($noyesoptions, 'opentogoogle', $config->opentogoogle, '', '', '', true) );
212 /// maxbytes
213     $options = get_max_upload_sizes();
215     $permissions['maxbytes'] = new configvar (get_string('configmaxbytes', 'admin'),
216         choose_from_menu ($options, 'maxbytes', $config->maxbytes, '', '', 0, true) );
218 /// messaging
219     $permissions['messaging'] = new configvar (get_string('configmessaging', 'admin'),
220         choose_from_menu ($noyesoptions, 'messaging', $config->messaging, '', '', '', true) );
222 /// allowobjectembed
223     $permissions['allowobjectembed'] = new configvar (get_string('configallowobjectembed', 'admin'),
224         choose_from_menu ($noyesoptions, 'allowobjectembed', $config->allowobjectembed, '', '', '', true) );
227     unset($options);
228     $options['none'] = 'No courses';
229     $options['all'] = 'All courses';
230     $options['requested'] = 'Requested courses';
232     $permissions['restrictmodulesfor'] = new configvar (get_string('configrestrictmodulesfor','admin'),
233    ' <script language="JavaScript">
234     function togglemodules(index) {
235         if (index == 0) {
236             document.getElementById(\'allowedmodules\').disabled=true;
237         }
238         else {
239             document.getElementById(\'allowedmodules\').disabled=false;
240         }
241     }
242     </script>'.
243         choose_from_menu($options,'restrictmodulesfor',$config->restrictmodulesfor,'','togglemodules(this.selectedIndex);','',true) );
245     $permissions['restrictbydefault'] = new configvar (get_string('configrestrictbydefault','admin'),
246         choose_from_menu($noyesoptions, 'restrictbydefault',$config->restrictbydefault,'','','',true) );
248     $allowstr = '<select name="defaultallowedmodules[]" id="allowedmodules" multiple="multiple" size="10"'.((empty($config->restrictmodulesfor)) ? "disabled=\"disabled\"" : "").'>';
250     $allowedmodules = array();
251     if (!empty($config->defaultallowedmodules)) {
252         $allowedmodules = explode(',',$config->defaultallowedmodules);
253     }
255 //  On a fresh install of Moodle, this could be empty; prevent a warning on the following loop.
256     if (!$mods = get_records("modules")) {
257         $mods = array();
258     }
259     $s = "selected=\"selected\"";
260     $allowstr .= '<option value="0" '.((empty($allowedmodules)) ? $s : '').'>'.get_string('allownone').'</option>'."\n";
261     foreach ($mods as $mod) {
262         $selected = "";
263         if (in_array($mod->id,$allowedmodules)) 
264             $selected = $s;
265         $allowstr .= '<option '.$selected.' value="'.$mod->id.'">'.$mod->name.'</option>'."\n";
266     }  
267     $allowstr .= '</select>';
269     $permissions['defaultallowedmoules'] = new configvar (get_string('configdefaultallowedmodules','admin'),$allowstr);
272 /// course requests
273     $reqcourse['enablecourserequests'] = new configvar (get_string('configenablecourserequests', 'admin'),
274         choose_from_menu ($noyesoptions,'enablecourserequests',$config->enablecourserequests,'','','',true) );
276 /// default category for course requests
277     require_once($CFG->dirroot.'/course/lib.php');
278     $reqcourse['defaultrequestedcategory'] = new configvar (get_string('configdefaultrequestedcategory', 'admin'),
279         choose_from_menu (make_categories_options(), 'defaultrequestedcategory',$config->defaultrequestedcategory,'','','',true) );
281     $reqcourse['requestedteachername'] = new configvar (get_string('configrequestedteachername','admin'),
282         '<input type="text" name="requestedteachername" size="20" maxlength="100" value="'.s($config->requestedteachername).'" />');
284     $reqcourse['requestedteachersname'] = new configvar (get_string('configrequestedteachersname','admin'),
285         '<input type="text" name="requestedteachersname" size="20" maxlength="100" value="'.s($config->requestedteachersname).'" />');
287     $reqcourse['requestedstudentname'] = new configvar (get_string('configrequestedstudentname','admin'),
288         '<input type="text" name="requestedstudentname" size="20" maxlength="100" value="'.s($config->requestedstudentname).'" />');
290     $reqcourse['requestedstudentsname'] = new configvar (get_string('configrequestedstudentsname','admin'),
291         '<input type="text" name="requestedstudentsname" size="20" maxlength="100" value="'.s($config->requestedstudentsname).'" />');
293 ////////////////////////////////////////////////////////////////////
294 /// INTERFACE config variables
295 ////////////////////////////////////////////////////////////////////
296     $interface = array();
298 /// language settings
299     $interface['lang'] = new configvar ( get_string('configlang', 'admin'),
300         choose_from_menu(get_list_of_languages(), 'lang', $config->lang, '', '', '', true) );
302 /// language menu
303     $interface['langmenu'] = new configvar ( get_string('configlangmenu', 'admin'),
304         choose_from_menu($noyesoptions, 'langmenu', $config->langmenu, '', '', '', true) );
306 /// language list
307     $interface['langlist'] = new configvar ( get_string('configlanglist', 'admin'),
308         '<input name="langlist" type="text" size="60" value="'.s($config->langlist).'" alt="langlist" />' );
310 /// language menu
311     $interface['langcache'] = new configvar ( get_string('configlangcache', 'admin'),
312         choose_from_menu($noyesoptions, 'langcache', $config->langcache, '', '', '', true) );
313         
314 /// locale
315     $interface['locale'] = new configvar ( get_string('configlocale', 'admin'),
316         '<input name="locale" type="text" size="10" value="'.s($config->locale).'" alt="locale" />' );
318 /// docroot
319     $interface['docroot'] = new configvar ( get_string('configdocroot', 'admin'),
320         '<input name="docroot" type="text" size="60" value="'.s($config->docroot).'" alt="docroot" />' );
322 /// timezone
323     
324     $interface['timezone'] = new configvar ( get_string('configtimezone', 'admin'),
325         choose_from_menu (get_list_of_timezones(), 'timezone', $config->timezone, get_string('serverlocaltime'), '', '99', true ) );
327 /// country
328     $interface['country'] = new configvar ( get_string('configcountry', 'admin'),
329         choose_from_menu (get_list_of_countries(), 'country', $config->country, get_string('selectacountry'), '', 0, true) );
331 /// framename
332     if (empty($config->framename)) {
333         $config->framename = "_top";
334     }
336     $interface['framename'] = new configvar (get_string('configframename', 'admin'),
337         '<input name="framename" type="text" size="15" value="'.s($config->framename).'" alt="framename" />' );
339 /// language list
340     $interface['themelist'] = new configvar ( get_string('configthemelist', 'admin'),
341         '<input name="themelist" type="text" size="60" value="'.s($config->themelist).'" alt="themelist" />' );
343 /// user themes
344     $interface['allowuserthemes'] = new configvar (get_string('configallowuserthemes', 'admin'),
345         choose_from_menu ($noyesoptions, 'allowuserthemes', $config->allowuserthemes, '', '', '', true) );
347 /// course themes
348     $interface['allowcoursethemes'] = new configvar (get_string('configallowcoursethemes', 'admin'),
349         choose_from_menu ($noyesoptions, 'allowcoursethemes', $config->allowcoursethemes, '', '', '', true) );
351 /// allowuserblockhiding
352     $interface['allowuserblockhiding'] = new configvar (get_string('configallowuserblockhiding', 'admin'),
353         choose_from_menu ($noyesoptions, 'allowuserblockhiding', $config->allowuserblockhiding, '', '', '', true) );
355 /// showblocksonmodpages
356     $interface['showblocksonmodpages'] = new configvar (get_string('configshowblocksonmodpages', 'admin'),
357         choose_from_menu ($noyesoptions, 'showblocksonmodpages', $config->showblocksonmodpages, '', '', '', true) );
360 /// tabselectedtofront
361     $interface['tabselectedtofront'] = new configvar (get_string('tabselectedtofront', 'admin'),
362         choose_from_menu ($noyesoptions, 'tabselectedtofront', $config->tabselectedtofront, '', '', '', true) );
366 ////////////////////////////////////////////////////////////////////
367 /// USER config variables
368 ////////////////////////////////////////////////////////////////////
369     $user = array();
371 /// sitepolicy
372     $user['sitepolicy'] = new configvar (get_string('configsitepolicy', 'admin'),
373         '<input type="text" name="sitepolicy" size="60" value="'.$config->sitepolicy.'" alt="sitepolicy" />' );
376 /// fullnamedisplay
377     unset($options);
378     $options['language']  = get_string('language');
379     $options['firstname lastname']  = get_string('firstname') . ' + ' . get_string('lastname');
380     $options['lastname firstname']  = get_string('lastname') . ' + ' . get_string('firstname');
381     $options['firstname']  = get_string('firstname');
383     $user['fullnamedisplay'] = new configvar (get_string('configfullnamedisplay', 'admin'),
384         choose_from_menu ($options, 'fullnamedisplay', $config->fullnamedisplay, '', '', '', true) );
386 /// extendedusernamechars
387     $user['extendedusernamechars'] = new configvar (get_string('configextendedusernamechars', 'admin'),
388         choose_from_menu ($noyesoptions, 'extendedusernamechars', $config->extendedusernamechars, '', '', '', true) );
390 /// autologinguests
391     $user['autologinguests'] = new configvar (get_string('configautologinguests', 'admin'),
392         choose_from_menu ($noyesoptions, 'autologinguests', $config->autologinguests, '', '', '', true) );
394 /// hiddenuserfields
395     $fields = array('none', 'description', 'city', 'country', 'webpage', 'icqnumber', 'skypeid', 'yahooid', 'aimid', 'msnid', 'lastaccess');
396     if (empty($config->hiddenuserfields)) {
397         $config->hiddenuserfields = 'none';
398     }
399     $configfields = array_flip(explode(',', $config->hiddenuserfields));
400     $fieldoptions = '';
401     foreach ($fields as $value) {
402         $fieldoptions .= '<option value="'.$value.'"';
403         if (isset($configfields[$value])) {
404             $fieldoptions .= ' selected="selected"';
405         }
406         $fieldoptions .= '>'.get_string($value).'</option>';
407     }
409     $user['hiddenuserfields'] = new configvar (get_string('confighiddenuserfields', 'admin'),
410         '<select id="menuhiddenuserfields" name="hiddenuserfields[]" size="10" multiple="multiple">'.$fieldoptions.'</select>' );
415 ////////////////////////////////////////////////////////////////////
416 /// SECURITY config variables
417 ////////////////////////////////////////////////////////////////////
418     $security = array();
420 /// displayloginfailures
421     unset($options);
422     $options[''] = get_string('nobody');
423     $options['admin'] = get_string('administrators');
424     $options['teacher'] = get_string('administratorsandteachers');
425     $options['everybody'] = get_string('everybody');
427     $security['displayloginfailures'] = new configvar (get_string('configdisplayloginfailures', 'admin'),
428         choose_from_menu($options, 'displayloginfailures', $config->displayloginfailures, '', '', '', true) );
430 /// notifyloginfailures
431     unset($options);
432     $options[''] = get_string('nobody');
433     $options['mainadmin'] = get_string('administrator');
434     $options['alladmins'] = get_string('administratorsall');
436     $security['notifyloginfailures'] = new configvar (get_string('confignotifyloginfailures', 'admin'),
437         choose_from_menu($options, 'notifyloginfailures', $config->notifyloginfailures, '', '', '', true) );
439 /// notifyloginthreshold
440     unset($options);
441     for ($i=1; $i<=100; $i++) {
442         $options[$i] = "$i";
443     }
445     $security['notifyloginthreshold'] = new configvar (get_string('confignotifyloginthreshold', 'admin'),
446         choose_from_menu($options, 'notifyloginthreshold', $config->notifyloginthreshold, '', '', '', true) );
448 /// secureforms
449     $security['secureforms'] = new configvar (get_string('configsecureforms', 'admin'),
450         choose_from_menu ($noyesoptions, 'secureforms', $config->secureforms, '', '', '', true) );
452 /// loginhttps
453     $security['loginhttps'] = new configvar (get_string('configloginhttps', 'admin'),
454         choose_from_menu ($noyesoptions, 'loginhttps', $config->loginhttps, '', '', '', true) );
456 /// runclamonupload
457     $security['runclamonupload'] = new configvar (get_string('configrunclamonupload', 'admin'),
458         choose_from_menu($noyesoptions, 'runclamonupload', $config->runclamonupload, '', '', '', true) );
460 /// pathtoclam
461     $security['pathtoclam'] = new configvar (get_string('configpathtoclam', 'admin'),
462         '<input type="text" name="pathtoclam" size="30" value="'.$config->pathtoclam.'" alt="pathtoclam" />' );
464 /// quarantinedir
465     $security['quarantinedir'] = new configvar (get_string('configquarantinedir', 'admin'),
466         '<input type="text" name="quarantinedir" size="30" value="'.$config->quarantinedir.'" alt="quarantinedir" />' );
468 /// clamfailureonupload
469     unset($options);
470     $options['donothing'] = get_string('configclamdonothing', 'admin');
471     $options['actlikevirus'] = get_string('configclamactlikevirus', 'admin');
473     $security['clamfailureonupload'] = new configvar (get_string('configclamfailureonupload', 'admin'),
474         choose_from_menu($options, 'clamfailureonupload', $config->clamfailureonupload, '', '', '', true) );
479 ////////////////////////////////////////////////////////////////////
480 /// MAINTENANCE config variables
481 ////////////////////////////////////////////////////////////////////
482     $maintenance = array();
484 /// longtimenosee
485     unset($options);
486     $options[0]    = get_string('never');
487     $options[1000] = get_string('numdays', '', 1000);
488     $options[365]  = get_string('numdays', '', 365);
489     $options[180]  = get_string('numdays', '', 180);
490     $options[150]  = get_string('numdays', '', 150);
491     $options[120]  = get_string('numdays', '', 120);
492     $options[90]   = get_string('numdays', '', 90);
493     $options[60]   = get_string('numdays', '', 60);
494     $options[30]   = get_string('numdays', '', 30);
495     $options[21]   = get_string('numdays', '', 21);
496     $options[14]   = get_string('numdays', '', 14);
497     $options[7]   = get_string('numdays', '', 7);
499     $maintenance['longtimenosee'] = new configvar (get_string('configlongtimenosee', 'admin'),
500         choose_from_menu ($options, 'longtimenosee', $config->longtimenosee, '', '', '', true) );
502 /// deleteunconfirmed
503     unset($options);
504     $options[0]    = get_string('never');
505     $options[168]  = get_string('numdays', '', 7);
506     $options[144]  = get_string('numdays', '', 6);
507     $options[120]  = get_string('numdays', '', 5);
508     $options[96]   = get_string('numdays', '', 4);
509     $options[72]   = get_string('numdays', '', 3);
510     $options[48]   = get_string('numdays', '', 2);
511     $options[24]   = get_string('numdays', '', 1);
512     $options[12]   = get_string('numhours', '', 12);
513     $options[6]    = get_string('numhours', '', 6);
514     $options[1]    = get_string('numhours', '', 1);
516     $maintenance['deleteunconfirmed'] = new configvar (get_string('configdeleteunconfirmed', 'admin'),
517         choose_from_menu ($options, 'deleteunconfirmed', $config->deleteunconfirmed, '', '', '', true) );
519 /// loglifetime
520     unset($options);
521     $options[0]    = get_string('neverdeletelogs');
522     $options[1000] = get_string('numdays', '', 1000);
523     $options[365]  = get_string('numdays', '', 365);
524     $options[180]  = get_string('numdays', '', 180);
525     $options[150]  = get_string('numdays', '', 150);
526     $options[120]  = get_string('numdays', '', 120);
527     $options[90]   = get_string('numdays', '', 90);
528     $options[60]   = get_string('numdays', '', 60);
529     $options[30]   = get_string('numdays', '', 30);
531     $maintenance['loglifetime'] = new configvar (get_string('configloglifetime', 'admin'),
532         choose_from_menu ($options, 'loglifetime', $config->loglifetime, '', '', '', true) );
535 ////////////////////////////////////////////////////////////////////
536 /// MAIL config variables
537 ////////////////////////////////////////////////////////////////////
538     $mail = array();
540 /// smtphosts
541     $mail['smtphosts'] = new configvar (get_string('configsmtphosts', 'admin'),
542         '<input name="smtphosts" type="text" size="30" value="'.s($config->smtphosts).'" alt="smtphosts" />' );
544 /// smtpuser
545     $mail['smtpuser'] = new configvar (get_string('configsmtpuser', 'admin'),
546         '<input name="smtpuser" type="text" size="10" value="'.s($config->smtpuser).'" alt="smtpuser" />' );
548 /// smtppass
549     $mail['smtppass'] = new configvar ('',
550         '<input name="smtppass" type="password" size="10" value="'.s($config->smtppass).'" alt="smtppass" />' );
552 /// noreplyaddress
553     $mail['noreplyaddress'] = new configvar (get_string('confignoreplyaddress', 'admin'),
554         '<input name="noreplyaddress" type="text" size="30" value="'.s($config->noreplyaddress).'" alt="noreplyaddress" />' );
556 /// digestmailtime
557     $hours = array();
558     for ($i=0; $i<=23; $i++) {
559         $hours[$i] = sprintf("%02d",$i);
560     }
562     $mail['digestmailtime'] = new configvar (get_string('configdigestmailtime', 'admin'),
563         choose_from_menu($hours, 'digestmailtime', $config->digestmailtime, '', '', 0, true) );
565 /// allowemailaddresses
566     $mail['allowemailaddresses'] = new configvar (get_string('configallowemailaddresses', 'admin'),
567         '<input name="allowemailaddresses" type="text" size="60" value="'.s($config->allowemailaddresses).'" alt="allowemailaddresses" />' );
569 /// denyemailaddresses
570     $mail['denyemailaddresses'] = new configvar (get_string('configdenyemailaddresses', 'admin'),
571         '<input name="denyemailaddresses" type="text" size="60" value="'.s($config->denyemailaddresses).'" alt="denyemailaddresses" />' );
573 /// sitemailcharset
574     unset($options);
575     unset($charsets);
576     $charsets = get_list_of_charsets();
577     $options['0'] = get_string('none');
578     $options = array_merge($options, $charsets);
579     $mail['sitemailcharset'] = new configvar (get_string('configsitemailcharset', 'admin'),
580         choose_from_menu($options, 'sitemailcharset', $config->sitemailcharset, '', '', '', true));
582 /// allowusermailcharset
583     $mail['allowusermailcharset'] = new configvar (get_string('configallowusermailcharset', 'admin'),
584         choose_from_menu($noyesoptions, 'allowusermailcharset', $config->allowusermailcharset, '', '', '', true));
586 /// enable stats
587     $stats['enablestats'] = new configvar (get_string('configenablestats','admin'),
588         choose_from_menu($noyesoptions, 'enablestats', $config->enablestats, '', '', '', true) );
590     unset($options);
591     $options['none'] = get_string('none');
592     $options[60*60*24*7] = get_string('numweeks','moodle',1);
593     $options[60*60*24*14] = get_string('numweeks','moodle',2);
594     $options[60*60*24*21] = get_string('numweeks','moodle',3);
595     $options[60*60*24*28] = get_string('nummonths','moodle',1);
596     $options[60*60*24*56] = get_string('nummonths','moodle',2);
597     $options[60*60*24*84] = get_string('nummonths','moodle',3);
598     $options[60*60*24*112] = get_string('nummonths','moodle',4);
599     $options[60*60*24*140] = get_string('nummonths','moodle',5);
600     $options[60*60*24*168] = get_string('nummonths','moodle',6);
601     $options['all'] = get_string('all');
602     
603     $stats['statsfirstrun'] = new configvar (get_string('configstatsfirstrun','admin'),
604        choose_from_menu($options,'statsfirstrun',$config->statsfirstrun,'','','',true) );
606     unset($options);
607     $options[0] = get_string('untilcomplete');
608     $options[60*60] = '1 '.get_string('hour');
609     $options[60*60*2] = '2 '.get_string('hours');
610     $options[60*60*3] = '3 '.get_string('hours');
611     $options[60*60*4] = '4 '.get_string('hours');
612     $options[60*60*5] = '5 '.get_string('hours');
613     $options[60*60*6] = '6 '.get_string('hours');
614     $options[60*60*7] = '7 '.get_string('hours');
615     $options[60*60*8] = '8 '.get_string('hours');
617     if (empty($config->statsruntimestarthour)) {
618         $config->statsruntimestarthour = 0;
619     }
620     if (empty($config->statsruntimestartminute)) {
621         $config->statsruntimestartminute = 0;
622     }
624     $stats['statsmaxruntime'] = new configvar (get_string('configstatsmaxruntime','admin'),
625       choose_from_menu($options,'statsmaxruntime',$config->statsmaxruntime,'','','',true) );                                        
627     $stats['statsruntimestart'] = new configvar (get_string('configstatsruntimestart','admin'),
628       print_time_selector("statsruntimestarthour","statsruntimestartminute",make_timestamp(2000,1,1,$config->statsruntimestarthour,$config->statsruntimestartminute),5,true) );
630     $stats['statsuserthreshold'] = new configvar (get_string('configstatsuserthreshold','admin'),
631       '<input type="text" name="statsuserthreshold" size="4" value="'.$config->statsuserthreshold.'" />');
632                                               
634 ////////////////////////////////////////////////////////////////////
636     $configvars['interface']       = $interface;
637     $configvars['security']        = $security;
638     $configvars['operatingsystem'] = $operatingsystem;
639     $configvars['maintenance']     = $maintenance;
640     $configvars['mail']            = $mail;
641     $configvars['user']            = $user;
642     $configvars['permissions']     = $permissions;
643     $configvars['requestedcourse'] = $reqcourse;
644     $configvars['misc']            = $misc;
645     $configvars['stats']           = $stats;
647 ?>