load($course)) error(get_string('failedcourseload','sloodle'));
// Ensure that the user is logged-in to this course
require_login($course->id);
$course_context = get_context_instance(CONTEXT_COURSE, $course->id);
// Do not allow guest access
if (isguestuser()) {
error(get_string('noguestaccess', 'sloodle'));
exit();
}
// This is really a dummy Sloodle Session
$sloodle = new SloodleSession(false);
$sloodle->user->load_user($USER->id);
$has_avatar = $sloodle->user->load_linked_avatar();
// Log the view
add_to_log($course->id, 'sloodle', 'view loginzone', "mod/sloodle/classroom/loginzone.php?id={$course->id}", "$course->id");
// Display the page header
$navigation = "wwwroot}/mod/sloodle/classroom/loginzone.php?id={$course->id}\">".get_string('loginzone','sloodle')."";
sloodle_print_header_simple(get_string('loginzone','sloodle'), " ", $navigation, "", "", true, '', false);
echo '
'.get_string('loginzonedata','sloodle').'
';
// Does the user have an avatar?
if ($has_avatar) {
sloodle_print_box_start('generalbox boxaligncenter boxwidthwide');
echo get_string('loginzone:alreadyregistered','sloodle').'
';
echo "
wwwroot}/mod/sloodle/view.php?_type=user&id={$USER->id}&course={$course->id}\">".get_string('viewmyavatar', 'sloodle')."\n";
sloodle_print_box_end();
}
// Check we have all the data we need
$data_error = array();
if ($sloodle_course->get_loginzone_position() == '') $data_error[] = get_string('position','sloodle');
if ($sloodle_course->get_loginzone_size() == '') $data_error[] = get_string('size','sloodle');
if ($sloodle_course->get_loginzone_region() == '') $data_error[] = get_string('region','sloodle');
// Do we have all the data?
if (count($data_error) > 0) {
// No - display the error, and stop
echo '
'.get_string('loginzone:datamissing','sloodle').'(';
$isfirst = true;
foreach ($data_error as $de) {
if ($isfirst) $isfirst = false;
else echo ", ";
echo "$de";
}
echo ')';
print_string('loginzone:mayneedrez','sloodle');
sloodle_print_box_end();
sloodle_print_footer();
exit();
}
// Store a string indicating the time/date of the last loginzone update
$lastupdated = '('.get_string('unknown','sloodle').')';
if ($sloodle_course->get_loginzone_time_updated() > 0) $lastupdated = date('Y-m-d H:i:s', $sloodle_course->get_loginzone_time_updated());
sloodle_print_box_start('generalbox boxaligncenter boxwidthnarrow');
echo get_string('position','sloodle').': '.$sloodle_course->get_loginzone_position().'
';
echo get_string('size','sloodle').': '.$sloodle_course->get_loginzone_size().'
';
echo get_string('region','sloodle').': '.$sloodle_course->get_loginzone_region().'
';
echo get_string('lastupdated','sloodle').': '.$lastupdated.'
';
sloodle_print_box_end();
echo '
';
// How long ago was the loginzone rezzed?
$time_difference = time() - $sloodle_course->get_loginzone_time_updated();
if ($time_difference > 1800) {
echo '
'.get_string('loginzone:olddata','sloodle').'';
echo get_string('loginzone:mayneedrez','sloodle').'
';
}
// If the user already had an avatar, then there's nothing else to do
if ($has_avatar) {
sloodle_print_box_end();
sloodle_print_footer();
exit();
}
// Make sure the user is allowed to register an avatar
require_capability('mod/sloodle:registeravatar', get_context_instance(CONTEXT_SYSTEM));
// Has a new allocation been requested?
if (isset($_REQUEST['allocate_loginzone'])) {
// Yes - generate one
if ($sloodle_course->generate_loginzone_allocation($sloodle->user)) {
echo '
'.get_string('loginzone:allocationsucceeded','sloodle').'';
echo get_string('loginzone:expirynote','sloodle').'
';
} else {
echo get_string('loginzone:allocationfailed','sloodle').'
';
}
echo '
';
}
// Does the user already have a loginzone?
$alloc = $sloodle_course->get_loginzone_allocation($sloodle->user);
if ($alloc) {
// Yes - show the teleport link
echo '
';
echo ''.get_string('loginzone:teleport','sloodle').'';
echo '';
} else {
echo '
';
print_string('loginzone:needallocation','sloodle');
echo '';
}
// Create a form
echo "
\n";
echo '
';
sloodle_print_box_end();
//------------------------------------------------------
sloodle_print_footer($course);
?>