34
29
$authsenabled = explode(',', $CFG->auth);
37
if (!isset($CFG->registerauth)) {
38
set_config('registerauth', '');
41
if (!isset($CFG->auth_instructions)) {
42
set_config('auth_instructions', '');
45
32
if (!empty($auth) and !exists_auth_plugin($auth)) {
46
error(get_string('pluginnotinstalled', 'auth', $auth), $url);
33
print_error('pluginnotinstalled', 'auth', $url, $auth);
50
36
////////////////////////////////////////////////////////////////////////////////
39
if (!confirm_sesskey()) {
58
if (data_submitted() and confirm_sesskey()) {
61
set_config('guestloginbutton', required_param('guestloginbutton', PARAM_BOOL));
62
set_config('alternateloginurl', stripslashes(trim(required_param('alternateloginurl', PARAM_RAW))));
63
set_config('registerauth', required_param('register', PARAM_SAFEDIR));
64
set_config('auth_instructions', stripslashes(trim(required_param('auth_instructions', PARAM_RAW))));
66
// enable registerauth in $CFG->auth if needed
67
if (!empty($CFG->registerauth) and !in_array($CFG->registerauth, $authsenabled)) {
68
$authsenabled[] = $CFG->registerauth;
69
set_config('auth', implode(',', $authsenabled));
71
$status = get_string('changessaved');
76
45
// remove from enabled list
77
46
$key = array_search($auth, $authsenabled);
132
$txt = get_strings(array('authenticationplugins', 'users', 'administration',
133
'settings', 'edit', 'name', 'enable', 'disable',
134
'up', 'down', 'none'));
135
$txt->updown = "$txt->up/$txt->down";
137
// construct the display array, with enabled auth plugins at the top, in order
138
$displayauths = array();
139
$registrationauths = array();
140
$registrationauths[''] = $txt->disable;
141
foreach ($authsenabled as $auth) {
142
$authplugin = get_auth_plugin($auth);
143
$displayauths[$auth] = get_string("auth_{$auth}title", 'auth');
144
if ($authplugin->can_signup()) {
145
$registrationauths[$auth] = get_string("auth_{$auth}title", 'auth');
149
foreach ($authsavailable as $auth) {
150
if (array_key_exists($auth, $displayauths)) {
151
continue; //already in the list
153
$authplugin = get_auth_plugin($auth);
154
$displayauths[$auth] = get_string("auth_{$auth}title", 'auth');
155
if ($authplugin->can_signup()) {
156
$registrationauths[$auth] = get_string("auth_{$auth}title", 'auth');
160
// build the display table
161
$table = new flexible_table('auth_admin_table');
162
$table->define_columns(array('name', 'enable', 'order', 'settings'));
163
$table->define_headers(array($txt->name, $txt->enable, $txt->updown, $txt->settings));
164
$table->define_baseurl("{$CFG->wwwroot}/{$CFG->admin}/auth.php");
165
$table->set_attribute('id', 'blocks');
166
$table->set_attribute('class', 'generaltable generalbox boxaligncenter boxwidthwide');
169
//add always enabled plugins first
170
$displayname = "<span>".$displayauths['manual']."</span>";
171
$settings = "<a href=\"auth_config.php?sesskey={$USER->sesskey}&auth=manual\">{$txt->settings}</a>";
172
$table->add_data(array($displayname, '', '', $settings));
173
$displayname = "<span>".$displayauths['nologin']."</span>";
174
$settings = "<a href=\"auth_config.php?sesskey={$USER->sesskey}&auth=nologin\">{$txt->settings}</a>";
175
$table->add_data(array($displayname, '', '', $settings));
178
// iterate through auth plugins and add to the display table
180
$authcount = count($authsenabled);
181
$url = "auth.php?sesskey=" . sesskey();
182
foreach ($displayauths as $auth => $name) {
183
if ($auth == 'manual' or $auth == 'nologin') {
187
if (in_array($auth, $authsenabled)) {
188
$hideshow = "<a href=\"$url&action=disable&auth=$auth\">";
189
$hideshow .= "<img src=\"{$CFG->pixpath}/i/hide.gif\" class=\"icon\" alt=\"disable\" /></a>";
190
// $hideshow = "<a href=\"$url&action=disable&auth=$auth\"><input type=\"checkbox\" checked /></a>";
192
$displayname = "<span>$name</span>";
195
$hideshow = "<a href=\"$url&action=enable&auth=$auth\">";
196
$hideshow .= "<img src=\"{$CFG->pixpath}/i/show.gif\" class=\"icon\" alt=\"enable\" /></a>";
197
// $hideshow = "<a href=\"$url&action=enable&auth=$auth\"><input type=\"checkbox\" /></a>";
199
$displayname = "<span class=\"dimmed_text\">$name</span>";
202
// up/down link (only if auth is enabled)
205
if ($updowncount > 1) {
206
$updown .= "<a href=\"$url&action=up&auth=$auth\">";
207
$updown .= "<img src=\"{$CFG->pixpath}/t/up.gif\" alt=\"up\" /></a> ";
210
$updown .= "<img src=\"{$CFG->pixpath}/spacer.gif\" class=\"icon\" alt=\"\" /> ";
212
if ($updowncount < $authcount) {
213
$updown .= "<a href=\"$url&action=down&auth=$auth\">";
214
$updown .= "<img src=\"{$CFG->pixpath}/t/down.gif\" alt=\"down\" /></a>";
217
$updown .= "<img src=\"{$CFG->pixpath}/spacer.gif\" class=\"icon\" alt=\"\" />";
223
$settings = "<a href=\"auth_config.php?sesskey={$USER->sesskey}&auth=$auth\">{$txt->settings}</a>";
225
// add a row to the table
226
$table->add_data(array($displayname, $hideshow, $updown, $settings));
230
admin_externalpage_print_header($adminroot);
232
//print stus messages
233
if ($status !== '') {
234
notify($status, 'notifysuccess');
237
print_simple_box(get_string('configauthenticationplugins', 'admin'), 'center', '700');
239
$table->print_html();
241
////////////////////////////////////////////////////////////////////////////////
243
$guestoptions = array();
244
$guestoptions[0] = get_string("hide");
245
$guestoptions[1] = get_string("show");
249
echo '<form '.$CFG->frametarget.' id="adminsettings" method="post" action="auth.php">';
250
echo '<div class="settingsform">';
251
print_heading(get_string('auth_common_settings', 'auth'));
252
echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
253
echo '<input type="hidden" name="action" value="save" />';
255
##echo '<table cellspacing="0" cellpadding="5" border="0" style="margin-left:auto;margin-right:auto">';
257
// User self registration
258
echo '<div class="form-item" id="admin-register">';
259
echo '<label for = "menuregister">' . get_string("selfregistration", "auth");
260
echo '<span class="form-shortname">registerauth</span>';
262
choose_from_menu($registrationauths, "register", $CFG->registerauth, "");
263
echo '<div class="description">' . get_string("selfregistration_help", "auth") . '</div>';
266
// Login as guest button enabled
267
echo '<div class="form-item" id="admin-guestloginbutton">';
268
echo '<label for = "menuguestloginbutton">' . get_string("guestloginbutton", "auth");
269
echo '<span class="form-shortname">guestloginbutton</span>';
271
choose_from_menu($guestoptions, "guestloginbutton", $CFG->guestloginbutton, "");
272
echo '<div class="description">' . get_string("showguestlogin", "auth") . '</div>';
275
/// An alternate url for the login form. It means we can use login forms that are integrated
276
/// into non-moodle pages
277
echo '<div class="form-item" id="admin-alternateloginurl">';
278
echo '<label for = "alternateloginurl">' . get_string("alternateloginurl", "auth");
279
echo '<span class="form-shortname">alternateloginurl</span>';
281
echo '<input type="text" size="60" name="alternateloginurl" id="alternateloginurl" value="'.$CFG->alternateloginurl."\" />\n";
282
echo '<div class="description">' . get_string("alternatelogin", "auth", htmlspecialchars($CFG->wwwroot.'/login/index.php')) . '</div>';
285
/// Instructions about login/password
286
/// to be showed to users
287
echo '<div class="form-item" id="admin-auth_instructions">';
288
echo '<label for = "auth_instructions">' . get_string("instructions", "auth");
289
echo '<span class="form-shortname">auth_instructions</span>';
291
echo '<textarea cols="30" rows="4" name="auth_instructions" id="auth_instructions">'.s($CFG->auth_instructions)."</textarea>\n";
292
echo '<div class="description">' . get_string("authinstructions", "auth") . '</div>';
297
////////////////////////////////////////////////////////////////////////////////
298
echo '<div class="form-buttons"><input class="form-submit" type="submit" value="'.get_string('savechanges', 'admin').'" /></div>';
301
admin_externalpage_print_footer($adminroot);
100
redirect ($returnurl);