Proyectos de Subversion Moodle

Rev

Rev 1 | Rev 381 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 1 Rev 380
Línea 1... Línea 1...
1
<?php
1
<?php
2
header('Content-type: application/json');
2
header('Content-type: application/json');
3
require_once('../../config.php');
3
require_once('../../config.php');
Línea 4... Línea 4...
4
 
4
 
5
global $CFG, $USER, $DB, $PAGE;
5
global $CFG, $USER, $DB, $PAGE;
Línea 6... Línea 6...
6
require_once($CFG->libdir.'/completionlib.php');
6
require_once($CFG->libdir . '/completionlib.php');
7
 
7
 
8
 
8
 
9
// Parameters
9
// Parameters
Línea 10... Línea 10...
10
$modid = optional_param('modid', 0, PARAM_INT);
10
$modid = optional_param('modid', 0, PARAM_INT);
11
$courseid = optional_param('courseid', 0, PARAM_INT);
11
$courseid = optional_param('courseid', 0, PARAM_INT);
12
$parent = optional_param('parent', 0, PARAM_INT);
12
$parent = optional_param('parent', 0, PARAM_INT);
13
 
13
 
14
if (!$modid && !$courseid) {
14
if (!$modid && !$courseid) {
15
    echo json_encode([
15
    echo json_encode([
Línea 16... Línea 16...
16
        'success' => false, 
16
        'success' => false,
Línea 17... Línea 17...
17
        'data' => 'invalid arguments'
17
        'data' => 'invalid arguments'
18
    ]);
18
    ]);
Línea 32... Línea 32...
32
    ]);
32
    ]);
33
    exit;
33
    exit;
34
}
34
}
Línea 35... Línea 35...
35
 
35
 
-
 
36
 
36
 
37
function terminacion_get_section_availability_locked($section, $canviewhidden)
37
function terminacion_get_section_availability_locked($section, $canviewhidden) {
38
{
38
    global $CFG;
39
    global $CFG;
39
    $o = 0;
40
    $o = 0;
40
    if (!$section->uservisible) {
41
    if (!$section->uservisible) {
Línea 55... Línea 56...
55
 
56
 
56
// Get course-modules entry
57
// Get course-modules entry
Línea 57... Línea 58...
57
$modules = get_fast_modinfo($course->id)->get_cms();
58
$modules = get_fast_modinfo($course->id)->get_cms();
58
 
-
 
59
 
-
 
60
if($parent) {
-
 
61
 
-
 
62
    
-
 
63
} else {
59
 
-
 
60
 
64
 
61
if (!$parent) {
65
 
-
 
66
    $mods = [];
62
    $mods = [];
67
    foreach ($modules as $module)
63
 
68
    {
64
    foreach ($modules as $module) {
69
        if (!$module->uservisible || $module->is_stealth() || empty($module->url)) {
65
        if (!$module->uservisible || $module->is_stealth() || empty($module->url)) {
70
            continue;
66
            continue;
-
 
67
        }
71
        }
68
        $mods[$module->id] = $module;
72
        $mods[$module->id] = $module;
69
    }
73
    }
70
 
74
    $nummods = count($mods);
71
    $nummods = count($mods);
-
 
72
 
75
    
73
    $modids = array_keys($mods);
76
    $modids = array_keys($mods);
74
    $position = array_search($modid, $modids);   //array_search($this->page->cm->id, $modids);
77
    $position = array_search($modid, $modids);   //array_search($this->page->cm->id, $modids);
75
 
78
    if($position === false) {
76
    if ($position === false) {
79
        echo json_encode([
77
        echo json_encode([
80
            'success' => false,
78
            'success' => false,
81
            'data' => 'module not exists'
-
 
82
        ]);
79
            'data' => 'module not exists'
83
        exit;
80
        ]);
84
        
81
        exit;
85
    }
82
    }
86
    
83
 
87
    $currentmod = $mods[$modids[$position]];
84
    $currentmod = $mods[$modids[$position]];
88
    
85
 
89
    if ($position < ($nummods - 1)) {
86
    if ($position < ($nummods - 1)) {
90
        $nextmod = $mods[$modids[$position + 1]];
87
        $nextmod = $mods[$modids[$position + 1]];
91
        $redirectlink = new \moodle_url($nextmod->url, array('forceview' => 1, 'parent' => $parent));
88
        $redirectlink = new \moodle_url($nextmod->url, array('forceview' => 1, 'parent' => $parent));
92
    } else {
89
    } else {
Línea 93... Línea -...
93
        $redirectlink = new \moodle_url('/my');
-
 
94
    }
-
 
95
}
90
        $redirectlink = new \moodle_url('/my');
96
 
91
    }
97
 
92
}
98
 
93
 
99
 
94
 
Línea 108... Línea 103...
108
}
103
}
Línea 109... Línea 104...
109
 
104
 
110
 
105
 
111
 
106
 
112
// Check completion state is manual
107
// Check completion state is manual
113
if($currentmod->completion != COMPLETION_TRACKING_MANUAL) {
108
if ($currentmod->completion != COMPLETION_TRACKING_MANUAL) {
114
    echo json_encode([
109
    echo json_encode([
115
        'success' => false,
110
        'success' => false,
116
        'data' => 'cannot manual track'
111
        'data' => $currentmod->completion
Línea 117... Línea 112...
117
    ]);
112
    ]);