Proyectos de Subversion Moodle

Rev

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

Rev 1302 Rev 1303
Línea 32... Línea 32...
32
require_once($CFG->dirroot . '/course/lib.php');
32
require_once($CFG->dirroot . '/course/lib.php');
Línea 33... Línea 33...
33
 
33
 
34
 
34
 
-
 
35
$searchURL = false;
35
$searchURL = false;
36
$linkURL = '';
36
$linkURL = '';
37
 
37
if (!empty($PAGE->course->id)) {
38
if (!empty($PAGE->course->id)) {
Línea 38... Línea 39...
38
    $course = get_course($PAGE->course->id);
39
    $course = get_course($PAGE->course->id);
Línea -... Línea 40...
-
 
40
    $course_context = context_course::instance($course->id);
39
    $course_context = context_course::instance($course->id);
41
 
Línea -... Línea 42...
-
 
42
    $notifyeditingon  = empty($_GET['notifyeditingon']) ? 0 : intval($_GET['notifyeditingon'], 10);
40
 
43
 
41
    $notifyeditingon  = empty($_GET['notifyeditingon']) ? 0 : intval($_GET['notifyeditingon'], 10);
44
    // Detectar si el usuario es invitado o está accediendo sin loguearse
42
 
45
    $isguestaccess = isguestuser() || !isloggedin();
43
    $isinvited = isguestuser($USER);
46
 
-
 
47
    // Solo activar redirección si NO es docente, admin, ni invitado anónimo
44
 
48
    if (
45
    if (
49
        has_capability('moodle/course:manageactivities', $course_context, $USER->id) ||
46
        has_capability('moodle/course:manageactivities', $course_context, $USER->id) ||
-
 
47
        has_capability('moodle/course:viewhiddenactivities', $course_context, $USER->id) ||
-
 
48
        $notifyeditingon
50
        has_capability('moodle/course:viewhiddenactivities', $course_context, $USER->id) ||
49
    ) {
51
        $notifyeditingon ||
50
        $searchURL = false;
52
        $isguestaccess // <<< esto evita redirección a invitados
Línea 51... Línea 53...
51
    } else if ($isinvited) {
53
    ) {
52
        $searchURL = true; // permitir redirección al módulo visible
54
        $searchURL = false;
53
    } else {
-
 
54
        $searchURL = true;
-
 
55
    }
55
    } else {
-
 
56
        $searchURL = true;
56
 
57
    }
57
    if ($searchURL) {
58
 
58
        $completioninfo = new \completion_info($course);
59
    if ($searchURL) {
59
 
60
        $completioninfo = new \completion_info($course);
60
 
61
        $modules = get_fast_modinfo($course->id)->get_cms();
-
 
62
 
61
        $modules = get_fast_modinfo($course->id)->get_cms();
63
        if (!empty($modules)) {
Línea 62... Línea 64...
62
        if (!empty($modules)) {
64
            foreach ($modules as $module) {
-
 
65
                if (!$module->uservisible || $module->is_stealth() || empty($module->url)) {
-
 
66
                    continue;
63
            foreach ($modules as $module) {
67
                }
-
 
68
 
64
                if (!$module->uservisible || $module->is_stealth() || empty($module->url)) {
69
                $linkURL = new \moodle_url($module->url, array('forceview' => 1));
65
                    continue;
70
 
-
 
71
                $completiondata = $completioninfo->get_data($module, true);
66
                }
72
                if (
67
                $linkURL = new \moodle_url($module->url, array('forceview' => 1));
73
                    $completiondata &&
68
 
74
                    ($completiondata->completionstate == COMPLETION_COMPLETE || $completiondata->completionstate == COMPLETION_COMPLETE_PASS)
69
                $completiondata = $completioninfo->get_data($module, true);
75
                ) {
70
                if ($completiondata &&  $completiondata->completionstate == COMPLETION_COMPLETE || $completiondata->completionstate == COMPLETION_COMPLETE_PASS) {
76
                    continue;
Línea 79... Línea 85...
79
if (!empty($linkURL)) {
85
if (!empty($linkURL)) {
80
    redirect($linkURL);
86
    redirect($linkURL);
81
    exit;
87
    exit;
82
}
88
}
Línea 83... Línea -...
83
 
-
 
84
 
89
 
85
$draweropenright = false;
90
$draweropenright = false;
Línea 86... Línea 91...
86
$extraclasses = [];
91
$extraclasses = [];
87
 
92