PageRenderTime 44ms CodeModel.GetById 17ms RepoModel.GetById 1ms app.codeStats 0ms

/admin/settings/security.php

https://github.com/kpike/moodle
PHP | 131 lines | 99 code | 24 blank | 8 comment | 2 complexity | e9a402fd8bc9cc72321b1e3b9841f2f7 MD5 | raw file
  1. <?php
  2. if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
  3. // "ip blocker" settingpage
  4. $temp = new admin_settingpage('ipblocker', get_string('ipblocker', 'admin'));
  5. $temp->add(new admin_setting_configcheckbox('allowbeforeblock', get_string('allowbeforeblock', 'admin'), get_string('allowbeforeblockdesc', 'admin'), 0));
  6. $temp->add(new admin_setting_configiplist('allowedip', get_string('allowediplist', 'admin'),
  7. get_string('ipblockersyntax', 'admin'), ''));
  8. $temp->add(new admin_setting_configiplist('blockedip', get_string('blockediplist', 'admin'),
  9. get_string('ipblockersyntax', 'admin'), ''));
  10. $ADMIN->add('security', $temp);
  11. // "sitepolicies" settingpage
  12. $temp = new admin_settingpage('sitepolicies', get_string('sitepolicies', 'admin'));
  13. $temp->add(new admin_setting_configcheckbox('protectusernames', get_string('protectusernames', 'admin'), get_string('configprotectusernames', 'admin'), 1));
  14. $temp->add(new admin_setting_configcheckbox('forcelogin', get_string('forcelogin', 'admin'), get_string('configforcelogin', 'admin'), 0));
  15. $temp->add(new admin_setting_configcheckbox('forceloginforprofiles', get_string('forceloginforprofiles', 'admin'), get_string('configforceloginforprofiles', 'admin'), 1));
  16. $temp->add(new admin_setting_configcheckbox('opentogoogle', get_string('opentogoogle', 'admin'), get_string('configopentogoogle', 'admin'), 0));
  17. $temp->add(new admin_setting_pickroles('profileroles',
  18. get_string('profileroles','admin'),
  19. get_string('configprofileroles', 'admin'),
  20. array('student', 'teacher', 'editingteacher')));
  21. $max_upload_choices = get_max_upload_sizes();
  22. // maxbytes set to 0 will allow the maximum server limit for uploads
  23. $max_upload_choices[0] = get_string('serverlimit', 'admin');
  24. $temp->add(new admin_setting_configselect('maxbytes', get_string('maxbytes', 'admin'), get_string('configmaxbytes', 'admin'), 0, $max_upload_choices));
  25. // 100MB
  26. $defaultuserquota = 104857600;
  27. $params = new stdClass();
  28. $params->bytes = $defaultuserquota;
  29. $params->displaysize = display_size($defaultuserquota);
  30. $temp->add(new admin_setting_configtext('userquota', get_string('userquota', 'admin'), get_string('configuserquota', 'admin', $params), $defaultuserquota));
  31. $item = new admin_setting_configcheckbox('enablehtmlpurifier', get_string('enablehtmlpurifier', 'admin'), get_string('configenablehtmlpurifier', 'admin'), 1);
  32. $item->set_updatedcallback('reset_text_filters_cache');
  33. $temp->add($item);
  34. $temp->add(new admin_setting_configcheckbox('allowobjectembed', get_string('allowobjectembed', 'admin'), get_string('configallowobjectembed', 'admin'), 0));
  35. $temp->add(new admin_setting_configcheckbox('enabletrusttext', get_string('enabletrusttext', 'admin'), get_string('configenabletrusttext', 'admin'), 0));
  36. $temp->add(new admin_setting_configselect('maxeditingtime', get_string('maxeditingtime','admin'), get_string('configmaxeditingtime','admin'), 1800,
  37. array(60 => get_string('numminutes', '', 1),
  38. 300 => get_string('numminutes', '', 5),
  39. 900 => get_string('numminutes', '', 15),
  40. 1800 => get_string('numminutes', '', 30),
  41. 2700 => get_string('numminutes', '', 45),
  42. 3600 => get_string('numminutes', '', 60))));
  43. $temp->add(new admin_setting_configselect('fullnamedisplay', get_string('fullnamedisplay', 'admin'), get_string('configfullnamedisplay', 'admin'),
  44. 'language', array('language' => get_string('language'),
  45. 'firstname lastname' => get_string('firstname').' + '.get_string('lastname'),
  46. 'lastname firstname' => get_string('lastname').' + '.get_string('firstname'),
  47. 'firstname' => get_string('firstname'))));
  48. $temp->add(new admin_setting_configcheckbox('extendedusernamechars', get_string('extendedusernamechars', 'admin'), get_string('configextendedusernamechars', 'admin'), 0));
  49. $temp->add(new admin_setting_configtext('sitepolicy', get_string('sitepolicy', 'admin'), get_string('sitepolicy_help', 'admin'), '', PARAM_RAW));
  50. $temp->add(new admin_setting_configtext('sitepolicyguest', get_string('sitepolicyguest', 'admin'), get_string('sitepolicyguest_help', 'admin'), (isset($CFG->sitepolicy) ? $CFG->sitepolicy : ''), PARAM_RAW));
  51. $temp->add(new admin_setting_configcheckbox('extendedusernamechars', get_string('extendedusernamechars', 'admin'), get_string('configextendedusernamechars', 'admin'), 0));
  52. $temp->add(new admin_setting_configcheckbox('keeptagnamecase', get_string('keeptagnamecase','admin'),get_string('configkeeptagnamecase', 'admin'),'1'));
  53. $temp->add(new admin_setting_configcheckbox('profilesforenrolledusersonly', get_string('profilesforenrolledusersonly','admin'),get_string('configprofilesforenrolledusersonly', 'admin'),'1'));
  54. $temp->add(new admin_setting_configcheckbox('cronclionly', get_string('cronclionly', 'admin'), get_string('configcronclionly', 'admin'), 0));
  55. $temp->add(new admin_setting_configpasswordunmask('cronremotepassword', get_string('cronremotepassword', 'admin'), get_string('configcronremotepassword', 'admin'), ''));
  56. $temp->add(new admin_setting_configcheckbox('passwordpolicy', get_string('passwordpolicy', 'admin'), get_string('configpasswordpolicy', 'admin'), 1));
  57. $temp->add(new admin_setting_configtext('minpasswordlength', get_string('minpasswordlength', 'admin'), get_string('configminpasswordlength', 'admin'), 8, PARAM_INT));
  58. $temp->add(new admin_setting_configtext('minpassworddigits', get_string('minpassworddigits', 'admin'), get_string('configminpassworddigits', 'admin'), 1, PARAM_INT));
  59. $temp->add(new admin_setting_configtext('minpasswordlower', get_string('minpasswordlower', 'admin'), get_string('configminpasswordlower', 'admin'), 1, PARAM_INT));
  60. $temp->add(new admin_setting_configtext('minpasswordupper', get_string('minpasswordupper', 'admin'), get_string('configminpasswordupper', 'admin'), 1, PARAM_INT));
  61. $temp->add(new admin_setting_configtext('minpasswordnonalphanum', get_string('minpasswordnonalphanum', 'admin'), get_string('configminpasswordnonalphanum', 'admin'), 1, PARAM_INT));
  62. $temp->add(new admin_setting_configtext('maxconsecutiveidentchars', get_string('maxconsecutiveidentchars', 'admin'), get_string('configmaxconsecutiveidentchars', 'admin'), 0, PARAM_INT));
  63. $temp->add(new admin_setting_configcheckbox('groupenrolmentkeypolicy', get_string('groupenrolmentkeypolicy', 'admin'), get_string('groupenrolmentkeypolicy_desc', 'admin'), 1));
  64. $temp->add(new admin_setting_configcheckbox('disableuserimages', get_string('disableuserimages', 'admin'), get_string('configdisableuserimages', 'admin'), 0));
  65. $temp->add(new admin_setting_configcheckbox('emailchangeconfirmation', get_string('emailchangeconfirmation', 'admin'), get_string('configemailchangeconfirmation', 'admin'), 1));
  66. $temp->add(new admin_setting_configselect('rememberusername', get_string('rememberusername','admin'), get_string('rememberusername_desc','admin'), 2, array(1=>get_string('yes'), 0=>get_string('no'), 2=>get_string('optional'))));
  67. $temp->add(new admin_setting_configcheckbox('strictformsrequired', get_string('strictformsrequired', 'admin'), get_string('configstrictformsrequired', 'admin'), 0));
  68. $ADMIN->add('security', $temp);
  69. // "httpsecurity" settingpage
  70. $temp = new admin_settingpage('httpsecurity', get_string('httpsecurity', 'admin'));
  71. $temp->add(new admin_setting_configcheckbox('loginhttps', get_string('loginhttps', 'admin'), get_string('configloginhttps', 'admin'), 0));
  72. $temp->add(new admin_setting_configcheckbox('cookiesecure', get_string('cookiesecure', 'admin'), get_string('configcookiesecure', 'admin'), 0));
  73. $temp->add(new admin_setting_configcheckbox('cookiehttponly', get_string('cookiehttponly', 'admin'), get_string('configcookiehttponly', 'admin'), 0));
  74. $temp->add(new admin_setting_configcheckbox('allowframembedding', get_string('allowframembedding', 'admin'), get_string('allowframembedding_help', 'admin'), 0));
  75. $ADMIN->add('security', $temp);
  76. // "modulesecurity" settingpage
  77. $temp = new admin_settingpage('modulesecurity', get_string('modulesecurity', 'admin'));
  78. $temp->add(new admin_setting_configselect('restrictmodulesfor', get_string('restrictmodulesfor', 'admin'), get_string('configrestrictmodulesfor', 'admin'), 'none', array('none' => get_string('nocourses'),
  79. 'all' => get_string('fulllistofcourses'),
  80. 'requested' => get_string('requestedcourses'))));
  81. $temp->add(new admin_setting_configcheckbox('restrictbydefault', get_string('restrictbydefault', 'admin'), get_string('configrestrictbydefault', 'admin'), 0));
  82. $temp->add(new admin_setting_configmultiselect_modules('defaultallowedmodules',
  83. get_string('defaultallowedmodules', 'admin'),
  84. get_string('configdefaultallowedmodules', 'admin')));
  85. $ADMIN->add('security', $temp);
  86. // "notifications" settingpage
  87. $temp = new admin_settingpage('notifications', get_string('notifications', 'admin'));
  88. $temp->add(new admin_setting_configselect('displayloginfailures', get_string('displayloginfailures', 'admin'), get_string('configdisplayloginfailures', 'admin'), '', array('' => get_string('nobody'),
  89. 'admin' => get_string('administrators'),
  90. 'teacher' => get_string('administratorsandteachers'),
  91. 'everybody' => get_string('everybody'))));
  92. $temp->add(new admin_setting_users_with_capability('notifyloginfailures', get_string('notifyloginfailures', 'admin'), get_string('confignotifyloginfailures', 'admin'), array(), 'moodle/site:config'));
  93. $options = array();
  94. for ($i = 1; $i <= 100; $i++) {
  95. $options[$i] = $i;
  96. }
  97. $temp->add(new admin_setting_configselect('notifyloginthreshold', get_string('notifyloginthreshold', 'admin'), get_string('confignotifyloginthreshold', 'admin'), '10', $options));
  98. $ADMIN->add('security', $temp);
  99. // "antivirus" settingpage
  100. $temp = new admin_settingpage('antivirus', get_string('antivirus', 'admin'));
  101. $temp->add(new admin_setting_configcheckbox('runclamonupload', get_string('runclamavonupload', 'admin'), get_string('configrunclamavonupload', 'admin'), 0));
  102. $temp->add(new admin_setting_configexecutable('pathtoclam', get_string('pathtoclam', 'admin'), get_string('configpathtoclam', 'admin'), ''));
  103. $temp->add(new admin_setting_configdirectory('quarantinedir', get_string('quarantinedir', 'admin'), get_string('configquarantinedir', 'admin'), ''));
  104. $temp->add(new admin_setting_configselect('clamfailureonupload', get_string('clamfailureonupload', 'admin'), get_string('configclamfailureonupload', 'admin'), 'donothing', array('donothing' => get_string('configclamdonothing', 'admin'),
  105. 'actlikevirus' => get_string('configclamactlikevirus', 'admin'))));
  106. $ADMIN->add('security', $temp);
  107. } // end of speedup