$temp->add(new admin_setting_configselect('guestloginbutton', get_string('guestloginbutton', 'auth'),
get_string('showguestlogin', 'auth'), '1', array('0'=>get_string('hide'), '1'=>get_string('show'))));
$temp->add(new admin_setting_configtext('alternateloginurl', get_string('alternateloginurl', 'auth'),
- get_string('alternatelogin', 'auth', htmlspecialchars($CFG->wwwroot.'/login/index.php')), ''));
+ get_string('alternatelogin', 'auth', htmlspecialchars(get_login_url())), ''));
$temp->add(new admin_setting_configtext('forgottenpasswordurl', get_string('forgottenpasswordurl', 'auth'),
get_string('forgottenpassword', 'auth'), ''));
$temp->add(new admin_setting_configtextarea('auth_instructions', get_string('instructions', 'auth'),
$cancel = optional_param( 'cancel' );
$launch = optional_param( 'launch' );
+ $loginurl = get_login_url();
if (!empty($id)) {
require_login($id);
if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_COURSE, $id))) {
- print_error('cannotuseadminadminorteacher', 'error', "$CFG->wwwroot/login/index.php");
+ print_error('cannotuseadminadminorteacher', 'error', $loginurl);
}
} else {
require_login();
if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_SYSTEM))) {
- print_error('cannotuseadmin', 'error', "$CFG->wwwroot/login/index.php");
+ print_error('cannotuseadmin', 'error', $loginurl);
}
}
if (!empty($to)) {
if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_COURSE, $to))) {
- print_error('cannotuseadminadminorteacher', 'error', "$CFG->wwwroot/login/index.php");
+ print_error('cannotuseadminadminorteacher', 'error', $loginurl);
}
}
//Check login
require_login();
+ $loginurl = get_login_url();
+
if (!empty($course->id)) {
if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_COURSE, $course->id))) {
if (empty($to)) {
- print_error("cannotuseadminadminorteacher", '', "$CFG->wwwroot/login/index.php");
+ print_error("cannotuseadminadminorteacher", '', $loginurl);
} else {
if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_COURSE, $to))) {
- print_error("cannotuseadminadminorteacher", '', "$CFG->wwwroot/login/index.php");
+ print_error("cannotuseadminadminorteacher", '', $loginurl);
}
}
}
} else {
if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_SYSTEM))) {
- print_error("cannotuseadmin", '', "$CFG->wwwroot/login/index.php");
+ print_error("cannotuseadmin", '', $loginurl);
}
}
//Check login
require_login();
+ $loginurl = get_login_url();
+
if (!empty($course->id)) {
if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_COURSE, $course->id))) {
if (empty($to)) {
- print_error("cannotuseadminadminorteacher", '', "$CFG->wwwroot/login/index.php");
+ print_error("cannotuseadminadminorteacher", '', $loginurl);
} else {
if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_COURSE, $to))) {
- print_error("cannotuseadminadminorteacher", '', "$CFG->wwwroot/login/index.php");
+ print_error("cannotuseadminadminorteacher", '', $loginurl);
}
}
}
} else {
if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_SYSTEM))) {
- print_error("cannotuseadmin", '', "$CFG->wwwroot/login/index.php");
+ print_error("cannotuseadmin", '', $loginurl);
}
}
//Check login
require_login();
+ $loginurl = get_login_url();
+
if (!empty($course->id)) {
if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_COURSE, $course->id))) {
if (empty($to)) {
- print_error("cannotuseadminadminorteacher", '', "$CFG->wwwroot/login/index.php");
+ print_error("cannotuseadminadminorteacher", '', $loginurl);
} else {
if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_COURSE, $to))) {
- print_error("cannotuseadminadminorteacher", '', "$CFG->wwwroot/login/index.php");
+ print_error("cannotuseadminadminorteacher", '', $loginurl);
}
}
}
} else {
if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_SYSTEM))) {
- print_error("cannotuseadmin", '', "$CFG->wwwroot/login/index.php");
+ print_error("cannotuseadmin", '', $loginurl);
}
}
$to = $SESSION->restore->course_id;
}
+ $loginurl = get_login_url();
+
if (!empty($id)) {
require_login($id);
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_COURSE, $id))) {
if (empty($to)) {
- print_error("cannotuseadminadminorteacher", '', "$CFG->wwwroot/login/index.php");
+ print_error("cannotuseadminadminorteacher", '', $loginurl);
} else {
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_COURSE, $to))
&& !has_capability('moodle/site:import', get_context_instance(CONTEXT_COURSE, $to))) {
- print_error("cannotuseadminadminorteacher", '', "$CFG->wwwroot/login/index.php");
+ print_error("cannotuseadminadminorteacher", '', $loginurl);
}
}
}
} else {
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_SYSTEM))) {
- print_error("cannotuseadmin", '', "$CFG->wwwroot/login/index.php");
+ print_error("cannotuseadmin", '', $loginurl);
}
}
//Check login
require_login();
+ $loginurl = get_login_url();
+
//Check admin
if (!empty($id)) {
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_COURSE, $id))) {
- print_error("cannotuseadminadminorteacher", '', "$CFG->wwwroot/login/index.php");
+ print_error("cannotuseadminadminorteacher", '', $loginurl);
}
} else {
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_SYSTEM))) {
- print_error("cannotuseadmin", '', "$CFG->wwwroot/login/index.php");
+ print_error("cannotuseadmin", '', $loginurl);
}
}
//Check login
require_login();
+ $loginurl = get_login_url();
+
//Check admin
if (!empty($id)) {
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_COURSE, $id))) {
if (empty($to)) {
- print_error("cannotuseadminadminorteacher", '', "$CFG->wwwroot/login/index.php");
+ print_error("cannotuseadminadminorteacher", '', $loginurl);
} else {
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_COURSE, $to))
&& !has_capability('moodle/site:import', get_context_instance(CONTEXT_COURSE, $to))) {
- print_error("cannotuseadminadminorteacher", '', "$CFG->wwwroot/login/index.php");
+ print_error("cannotuseadminadminorteacher", '', $loginurl);
}
}
}
} else {
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_SYSTEM))) {
- print_error("cannotuseadmin", '', "$CFG->wwwroot/login/index.php");
+ print_error("cannotuseadmin", '', $loginurl);
}
}
//Check login
require_login();
+ $loginurl = get_login_url();
+
//Check admin
if (!empty($id)) {
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_COURSE, $id))) {
- print_error('cannotuseadminadminorteacher', '', '$CFG->wwwroot/login/index.php');
+ print_error('cannotuseadminadminorteacher', '', $loginurl);
}
} else {
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_SYSTEM))) {
- print_error('cannotuseadmin', '', '$CFG->wwwroot/login/index.php');
+ print_error('cannotuseadmin', '', $loginurl);
}
}
//Check login
require_login();
-
+
+ $loginurl = get_login_url();
+
//Check admin
if (!empty($id)) {
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_COURSE, $id))) {
if (empty($to)) {
- print_error("cannotuseadminadminorteacher", '', "$CFG->wwwroot/login/index.php");
+ print_error("cannotuseadminadminorteacher", '', $loginurl);
} else {
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_COURSE, $to))
&& !has_capability('moodle/site:import', get_context_instance(CONTEXT_COURSE, $to))) {
- print_error("cannotuseadminadminorteacher", '', "$CFG->wwwroot/login/index.php");
+ print_error("cannotuseadminadminorteacher", '', $loginurl);
}
}
}
} else {
if (!has_capability('moodle/site:restore', get_context_instance(CONTEXT_SYSTEM))) {
- print_error("cannotuseadmin", '', "$CFG->wwwroot/login/index.php");
+ print_error("cannotuseadmin", '', $loginurl);
}
}
if (!isloggedin() or isguestuser()) { // Show the block
- $this->content->text .= "\n".'<form class="loginform" id="login" method="post" action="'.$wwwroot.'/login/index.php">';
+ $this->content->text .= "\n".'<form class="loginform" id="login" method="post" action="'.get_login_url().'">';
$this->content->text .= '<div class="c1 fld username"><label for="login_username">'.get_string('username').'</label>';
$this->content->text .= '<input type="text" name="username" id="login_username" value="'.s($username).'" /></div>';
} else {
//if not logged in
$this->content->footer = '<hr />'.get_string('please', $tagslang).'
- <a href="'.$CFG->wwwroot.'/login/index.php">'.get_string('login', $tagslang).'
+ <a href="'.get_login_url().'">'.get_string('login', $tagslang).'
</a> '.get_string('tagunits', $tagslang);
}
}
$loginasguest = optional_param('loginasguest', 0, PARAM_BOOL); // hmm, is this still needed?
if (!isloggedin()) {
- $wwwroot = $CFG->wwwroot;
- if (!empty($CFG->loginhttps)) {
- $wwwroot = str_replace('http:','https:', $wwwroot);
- }
// do not use require_login here because we are usually comming from it
- redirect($wwwroot.'/login/index.php');
+ redirect(get_login_url());
}
if (!$course = $DB->get_record('course', array('id'=>$id))) {
if (isguestuser()) {
print_box_start('centerpara');
- if (empty($CFG->loginhttps)) {
- $loginurl = $CFG->wwwroot .'/login/index.php';
- } else {
- $wwwroot = str_replace('http:','https:', $CFG->wwwroot);
- $loginurl = $wwwroot .'/login/index.php';
- }
+ $loginurl = get_login_url();
print_single_button($loginurl, null, get_string('login'));
print_box_end();
}
}
+/**
+ * Returns full login url.
+ *
+ * @param bool $loginguest add login guest param
+ * @return string login url
+ */
+function get_login_url($loginguest=false) {
+ global $CFG;
+
+ if (empty($CFG->loginhttps) or $loginguest) { //do not require https for guest logins
+ $loginguest = $loginguest ? '?loginguest=true' : '';
+ $url = "$CFG->wwwroot/login/index.php$loginguest";
+
+ } else {
+ $wwwroot = str_replace('http:','https:', $CFG->wwwroot);
+ $url = "$wwwroot/login/index.php";
+ }
+
+ return $url;
+}
+
/**
* This function checks that the current user is logged in and has the
* required privileges
$SESSION->fromurl = $_SERVER['HTTP_REFERER'];
}
if ($autologinguest and !empty($CFG->guestloginbutton) and !empty($CFG->autologinguests) and ($COURSE->id == SITEID or $COURSE->guest) ) {
- $loginguest = '?loginguest=true';
- } else {
- $loginguest = '';
- }
- if (empty($CFG->loginhttps) or $loginguest) { //do not require https for guest logins
- redirect($CFG->wwwroot .'/login/index.php'. $loginguest);
+ $loginguest = true;
} else {
- $wwwroot = str_replace('http:','https:', $CFG->wwwroot);
- redirect($wwwroot .'/login/index.php');
+ $loginguest = false;
}
- exit;
+ redirect(get_login_url($loginguest));
+ exit; // never reached
}
/// loginas as redirection if needed
redirect($CFG->wwwroot .'/user/edit.php?id='. $USER->id .'&course='. SITEID);
}
-/// Make sure current IP matches the one for this session (if required)
- if (!empty($CFG->tracksessionip)) {
- if ($USER->sessionIP != md5(getremoteaddr())) {
- print_error('sessionipnomatch', 'error');
- }
- }
-
/// Make sure the USER has a sesskey set up. Used for checking script parameters.
sesskey();
case 1: /// Guests always allowed
if (!has_capability('moodle/course:view', $COURSE->context)) { // Prohibited by capability
print_header_simple();
- notice(get_string('guestsnotallowed', '', format_string($COURSE->fullname)), "$CFG->wwwroot/login/index.php");
+ notice(get_string('guestsnotallowed', '', format_string($COURSE->fullname)), get_login_url());
}
if (!empty($cm) and !$cm->visible) { // Not allowed to see module, send to course page
redirect($CFG->wwwroot.'/course/view.php?id='.$cm->course,
print_header_simple('', '',
build_navigation(array(array('name' => $strloggedinasguest, 'link' => null, 'type' => 'misc'))));
if (empty($USER->access['rsw'][$COURSE->context->path])) { // Normal guest
- notice(get_string('guestsnotallowed', '', format_string($COURSE->fullname)), "$CFG->wwwroot/login/index.php");
+ notice(get_string('guestsnotallowed', '', format_string($COURSE->fullname)), get_login_url());
} else {
notify(get_string('guestsnotallowed', '', format_string($COURSE->fullname)));
echo '<div class="notifyproblem">'.switchroles_form($COURSE->id).'</div>';
session_set_user($user);
}
+ protected function check_security() {
+ global $CFG;
+
+ if (!empty($_SESSION['USER']->id)) {
+ /// Make sure current IP matches the one for this session (if required)
+ $remoteaddr = getremoteaddr();
+
+ if (empty($_SESSION['USER']->sessionip)) {
+ $_SESSION['USER']->sessionip = $remoteaddr;
+ }
+
+ if ($_SESSION['USER']->sessionip != $remoteaddr) {
+ if (!is_guestuser($_SESSION['USER'])) {
+ $link = '';
+ } else {
+
+ }
+ print_error('sessionipnomatch', 'error');
+ }
+ }
+
+ }
+
/**
* Terminates active moodle session
*/
$realuserinfo = '';
}
- if (empty($CFG->loginhttps)) {
- $wwwroot = $CFG->wwwroot;
- } else {
- $wwwroot = str_replace('http:','https:',$CFG->wwwroot);
- }
+ $loginurl = get_login_url();
if (empty($course->id)) {
// $course->id is not defined during installation
}
if (isset($user->username) && $user->username == 'guest') {
$loggedinas = $realuserinfo.get_string('loggedinasguest').
- " (<a $CFG->frametarget href=\"$wwwroot/login/index.php\">".get_string('login').'</a>)';
+ " (<a $CFG->frametarget href=\"$loginurl\">".get_string('login').'</a>)';
} else if (!empty($user->access['rsw'][$context->path])) {
$rolename = '';
if ($role = $DB->get_record('role', array('id'=>$user->access['rsw'][$context->path]))) {
}
} else {
$loggedinas = get_string('loggedinnot', 'moodle').
- " (<a $CFG->frametarget href=\"$wwwroot/login/index.php\">".get_string('login').'</a>)';
+ " (<a $CFG->frametarget href=\"$loginurl\">".get_string('login').'</a>)';
}
return '<div class="logininfo">'.$loggedinas.'</div>';
}
if (empty($SESSION->wantsurl)) {
$SESSION->wantsurl = $CFG->httpswwwroot.'/login/change_password.php';
}
- redirect($CFG->httpswwwroot.'/login/index.php');
+ redirect(get_login_url());
}
// do not require change own password cap if change forced
$strforgotten = get_string('passwordforgotten');
$strlogin = get_string('login');
-$navigation = build_navigation(array(array('name' => $strlogin, 'link' => "$CFG->wwwroot/login/index.php", 'type' => 'misc'),
+$navigation = build_navigation(array(array('name' => $strlogin, 'link' => get_login_url(), 'type' => 'misc'),
array('name' => $strforgotten, 'link' => null, 'type' => 'misc')));
// if alternatepasswordurl is defined, then we'll just head there
$mform = new login_forgot_password_form();
if ($mform->is_cancelled()) {
- redirect($CFG->httpswwwroot.'/login/index.php');
+ redirect(get_login_url());
} else if ($data = $mform->get_data()) {
/// find the user in the database and mail info
$mform_signup = new login_signup_form();
if ($mform_signup->is_cancelled()) {
- redirect($CFG->httpswwwroot.'/login/index.php');
+ redirect(get_login_url());
} else if ($user = $mform_signup->get_data()) {
$user->confirmed = 0;
if (empty($SESSION->wantsurl)) {
$SESSION->wantsurl = $CFG->httpswwwroot.'/message/edit.php';
}
- redirect($CFG->httpswwwroot.'/login/index.php');
+ redirect(get_login_url());
}
}
$navigation = build_navigation('', $cm);
print_header_simple(format_string($chat->name), '', $navigation,
'', '', true, '', navmenu($course, $cm));
- $wwwroot = $CFG->wwwroot.'/login/index.php';
- if (!empty($CFG->loginhttps)) {
- $wwwroot = str_replace('http:','https:', $wwwroot);
- }
notice_yesno(get_string('noguests', 'chat').'<br /><br />'.get_string('liketologin'),
- $wwwroot, $CFG->wwwroot.'/course/view.php?id='.$course->id);
+ get_login_url(), $CFG->wwwroot.'/course/view.php?id='.$course->id);
print_footer($course);
exit;
$sitecontext = get_context_instance(CONTEXT_SYSTEM);
if (has_capability('moodle/legacy:guest', $sitecontext, NULL, false)) { // Guest on whole site
- $wwwroot = $CFG->wwwroot.'/login/index.php';
- if (!empty($CFG->loginhttps)) {
- $wwwroot = str_replace('http:','https:', $wwwroot);
- }
notice_yesno(get_string('noguestchoose', 'choice').'<br /><br />'.get_string('liketologin'),
- $wwwroot, $_SERVER['HTTP_REFERER']);
+ get_login_url(), $_SERVER['HTTP_REFERER']);
} else if (has_capability('moodle/legacy:guest', $context, NULL, false)) { // Guest in this course only
$SESSION->wantsurl = $FULLME;
}
if (isguest()) { // Guests can't change forum
- $wwwroot = $CFG->wwwroot.'/login/index.php';
- if (!empty($CFG->loginhttps)) {
- $wwwroot = str_replace('http:','https:', $wwwroot);
- }
-
$navigation = build_navigation('', $cm);
print_header($course->shortname, $course->fullname, $navigation, '', '', true, "", navmenu($course, $cm));
notice_yesno(get_string('noguesttracking', 'forum').'<br /><br />'.get_string('liketologin'),
- $wwwroot, $returnto);
+ get_login_url(), $returnto);
print_footer($course);
exit;
}
if (has_capability('moodle/legacy:guest', $sitecontext, NULL, false)) {
- $wwwroot = $CFG->wwwroot.'/login/index.php';
- if (!empty($CFG->loginhttps)) {
- $wwwroot = str_replace('http:', 'https:', $wwwroot);
- }
-
if (!empty($forum)) { // User is starting a new discussion in a forum
if (! $forum = $DB->get_record('forum', array('id' => $forum))) {
print_error('invalidforumid', 'forum');
print_header($course->shortname, $course->fullname, $navigation, '' , '', true, "", navmenu($course, $cm));
notice_yesno(get_string('noguestpost', 'forum').'<br /><br />'.get_string('liketologin'),
- $wwwroot, get_referer(false));
+ get_login_url(), get_referer(false));
print_footer($course);
exit;
}
require_login($course->id, false, $cm);
if (isguest()) { // Guests can't subscribe
- $wwwroot = $CFG->wwwroot.'/login/index.php';
- if (!empty($CFG->loginhttps)) {
- $wwwroot = str_replace('http:','https:', $wwwroot);
- }
$navigation = build_navigation('', $cm);
print_header($course->shortname, $course->fullname, $navigation, '', '', true, "", navmenu($course, $cm));
notice_yesno(get_string('noguestsubscribe', 'forum').'<br /><br />'.get_string('liketologin'),
- $wwwroot, $_SERVER['HTTP_REFERER']);
+ get_login_url(), $_SERVER['HTTP_REFERER']);
print_footer($course);
exit;
}
/// Guests can't do a quiz, so offer them a choice of logging in or going back.
if (isguestuser()) {
- $loginurl = $CFG->wwwroot.'/login/index.php';
- if (!empty($CFG->loginhttps)) {
- $loginurl = str_replace('http:','https:', $loginurl);
- }
-
notice_yesno('<p>' . get_string('guestsno', 'quiz') . "</p>\n\n<p>" .
- get_string('liketologin') . "</p>\n", $loginurl, get_referer(false));
+ get_string('liketologin') . "</p>\n", get_login_url(), get_referer(false));
finish_page($course);
}
$mymoodlestr = get_string('mymoodle','my');
if (isguest()) {
- $wwwroot = $CFG->wwwroot.'/login/index.php';
- if (!empty($CFG->loginhttps)) {
- $wwwroot = str_replace('http:','https:', $wwwroot);
- }
-
print_header($mymoodlestr);
notice_yesno(get_string('noguest', 'my').'<br /><br />'.get_string('liketologin'),
- $wwwroot, $CFG->wwwroot);
+ get_login_url(), $CFG->wwwroot);
print_footer();
die();
}
}
if (!has_capability('moodle/site:doanything', get_context_instance(CONTEXT_SYSTEM))) {
- print_error('beadmin', 'search', "$CFG->wwwroot/login/index.php");
+ print_error('beadmin', 'search', get_login_url());
}
/// check for php5 (lib.php)
}
if (!has_capability('moodle/site:doanything', get_context_instance(CONTEXT_SYSTEM))) {
- print_error('beadmin', 'search', "$CFG->wwwroot/login/index.php");
+ print_error('beadmin', 'search', get_login_url());
} //if
try {
}
if (!has_capability('moodle/site:doanything', get_context_instance(CONTEXT_SYSTEM))) {
- print_error('beadmin', 'search', "$CFG->wwwroot/login/index.php");
+ print_error('beadmin', 'search', get_login_url());
}
/// confirmation flag to prevent accidental reindexing (indexersplash.php is the correct entry point)
}
if (!has_capability('moodle/site:doanything', get_context_instance(CONTEXT_SYSTEM))) {
- print_error('beadmin', 'search', "$CFG->wwwroot/login/index.php");
+ print_error('beadmin', 'search', get_login_url());
}
require_once("$CFG->dirroot/search/indexlib.php");
}
if (!has_capability('moodle/site:doanything', get_context_instance(CONTEXT_SYSTEM))) {
- print_error('onlyadmins', 'error', "$CFG->wwwroot/login/index.php");
+ print_error('onlyadmins', 'error', get_login_url());
} //if
mtrace('<pre>Server Time: '.date('r',time()));
}
if (!has_capability('moodle/site:doanything', get_context_instance(CONTEXT_SYSTEM))) {
- print_error('beadmin', 'search', "$CFG->wwwroot/login/index.php");
+ print_error('beadmin', 'search', get_login_url());
}
try {
if (empty($SESSION->wantsurl)) {
$SESSION->wantsurl = $CFG->httpswwwroot.'/user/edit.php';
}
- redirect($CFG->httpswwwroot.'/login/index.php');
+ redirect(get_login_url());
}
// Guest can not edit
if (!empty($CFG->forceloginforprofiles)) {
require_login();
if (isguest()) {
- redirect("$CFG->wwwroot/login/index.php");
+ redirect(get_login_url());
}
}