Proyectos de Subversion Moodle

Rev

Rev 1 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 1 Rev 1441
Línea 24... Línea 24...
24
 
24
 
25
require('../config.php');
25
require('../config.php');
Línea 26... Línea 26...
26
require_once("$CFG->libdir/formslib.php");
26
require_once("$CFG->libdir/formslib.php");
27
 
27
 
Línea 28... Línea 28...
28
$id = required_param('id', PARAM_INT);
28
$id = required_param('id', PARAM_INT);
29
$returnurl = optional_param('returnurl', 0, PARAM_LOCALURL);
29
$returnurl = optional_param('returnurl', null, PARAM_LOCALURL);
30
 
30
 
31
if (!isloggedin()) {
31
if (!isloggedin()) {
Línea 51... Línea 51...
51
if (!$course->visible && !has_capability('moodle/course:viewhiddencourses', context_course::instance($course->id))) {
51
if (!$course->visible && !has_capability('moodle/course:viewhiddencourses', context_course::instance($course->id))) {
52
    throw new \moodle_exception('coursehidden');
52
    throw new \moodle_exception('coursehidden');
53
}
53
}
Línea 54... Línea 54...
54
 
54
 
-
 
55
$PAGE->set_course($course);
55
$PAGE->set_course($course);
56
$PAGE->set_context($context->get_parent_context());
56
$PAGE->set_pagelayout('incourse');
57
$PAGE->set_pagelayout('incourse');
57
$PAGE->set_url('/enrol/index.php', array('id'=>$course->id));
58
$PAGE->set_url('/enrol/index.php', array('id'=>$course->id));
58
$PAGE->set_secondary_navigation(false);
59
$PAGE->set_secondary_navigation(false);
Línea 66... Línea 67...
66
// Check if user has access to the category where the course is located.
67
// Check if user has access to the category where the course is located.
67
if (!core_course_category::can_view_course_info($course) && !is_enrolled($context, $USER, '', true)) {
68
if (!core_course_category::can_view_course_info($course) && !is_enrolled($context, $USER, '', true)) {
68
    throw new \moodle_exception('coursehidden', '', $CFG->wwwroot . '/');
69
    throw new \moodle_exception('coursehidden', '', $CFG->wwwroot . '/');
69
}
70
}
Línea 70... Línea 71...
70
 
71
 
71
// get all enrol forms available in this course
72
// Get all enrol widgets available in this course.
72
$enrols = enrol_get_plugins(true);
73
$enrols = enrol_get_plugins(true);
73
$enrolinstances = enrol_get_instances($course->id, true);
74
$enrolinstances = enrol_get_instances($course->id, true);
74
$forms = array();
75
$widgets = [];
75
foreach($enrolinstances as $instance) {
76
foreach($enrolinstances as $instance) {
76
    if (!isset($enrols[$instance->enrol])) {
77
    if (!isset($enrols[$instance->enrol])) {
77
        continue;
78
        continue;
78
    }
79
    }
79
    $form = $enrols[$instance->enrol]->enrol_page_hook($instance);
80
    $widget = $enrols[$instance->enrol]->enrol_page_hook($instance);
80
    if ($form) {
81
    if ($widget) {
81
        $forms[$instance->id] = $form;
82
        $widgets[$instance->id] = $widget;
82
    }
83
    }
Línea 83... Línea 84...
83
}
84
}
84
 
85
 
Línea 95... Línea 96...
95
 
96
 
96
$PAGE->set_title($course->shortname);
97
$PAGE->set_title($course->shortname);
97
$PAGE->set_heading($course->fullname);
98
$PAGE->set_heading($course->fullname);
Línea 98... Línea -...
98
$PAGE->navbar->add(get_string('enrolmentoptions','enrol'));
-
 
99
 
99
$PAGE->navbar->add(get_string('enrolmentoptions','enrol'));
100
echo $OUTPUT->header();
-
 
101
echo $OUTPUT->heading(get_string('enrolmentoptions','enrol'));
100
 
102
 
101
/** @var core_course_renderer $courserenderer */
103
$courserenderer = $PAGE->get_renderer('core', 'course');
-
 
104
echo $courserenderer->course_info_box($course);
102
$courserenderer = $PAGE->get_renderer('core', 'course');
105
 
-
 
106
//TODO: find if future enrolments present and display some info
103
$content = $courserenderer->enrolment_options($course, $widgets,
107
 
104
    $returnurl ? new \core\url($returnurl) : null);
108
foreach ($forms as $form) {
-
 
109
    echo $form;
-
 
110
}
-
 
111
 
-
 
112
if (!$forms) {
-
 
113
    if (isguestuser()) {
-
 
114
        notice(get_string('noguestaccess', 'enrol'), get_login_url());
-
 
115
    } else if ($returnurl) {
-
 
116
        notice(get_string('notenrollable', 'enrol'), $returnurl);
-
 
117
    } else {
-
 
118
        $url = get_local_referer(false);
-
 
119
        if (empty($url)) {
-
 
120
            $url = new moodle_url('/index.php');
-
 
121
        }
-
 
122
        notice(get_string('notenrollable', 'enrol'), $url);
-
 
123
    }
-
 
124
}
105
echo $OUTPUT->header();