Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
<?php
2
 
3
 
4
function local_cesanavigation_extend_navigation(global_navigation $navigation) {
5
    global $CFG, $PAGE, $COURSE;
6
/*
7
    $types = [
8
        'ROOTNODE' => navigation_node::TYPE_ROOTNODE,
9
        'SYSTEM' => navigation_node::TYPE_SYSTEM,
10
        'CATGEGORY' => navigation_node::TYPE_CATEGORY,
11
        'MY_CATEGORY' => navigation_node::TYPE_MY_CATEGORY,
12
        'COURSE' => navigation_node::TYPE_COURSE,
13
        'SECTION' => navigation_node::TYPE_SECTION,
14
        'ACTIVITY' => navigation_node::TYPE_ACTIVITY,
15
        'RESOURCE' => navigation_node::TYPE_RESOURCE,
16
        'CUSTOM' => navigation_node::TYPE_CUSTOM,
17
        'SETTING' => navigation_node::TYPE_SETTING,
18
        'SITE_ADMIN' => navigation_node::TYPE_SITE_ADMIN,
19
        'USER' => navigation_node::TYPE_USER,
20
        'CONTAINER' => navigation_node::TYPE_CONTAINER,
21
 
22
    ];
23
 
24
    echo '<pre>';
25
    foreach($types as $key => $value ) {
26
        echo 'Tipo = ' . $key . PHP_EOL;
27
        print_r(array_keys($navigation->find_all_of_type($value)));
28
    }
29
    echo '</pre>';
30
    exit;
31
 */
32
 
33
 
34
    $navigation->showinflatnavigation = false;
35
    if ($homenode = $navigation->find('home', global_navigation::TYPE_ROOTNODE)) {
36
        $homenode->showinflatnavigation = true;
37
    }
38
 
39
    if ($calendarnode = $navigation->find('calendar', global_navigation::TYPE_CUSTOM)) {
40
        $calendarnode->showinflatnavigation = false;
41
    }
42
 
43
    if ($privatefilesnode = $navigation->find('privatefiles', global_navigation::TYPE_SETTING)) {
44
        $privatefilesnode->showinflatnavigation = false;
45
    }
46
 
47
    if ($myprofilenode = $navigation->find('myprofile', global_navigation::TYPE_SETTING)) {
48
        $myprofilenode->showinflatnavigation = false;
49
    }
50
 
51
 
52
    if(1 == $COURSE->summaryformat) {
53
        $mycoursesnode = $navigation->find('mycourses', global_navigation::TYPE_ROOTNODE);
54
        if ($mycoursesnode) {
55
           $mycoursesnode->showinflatnavigation = false;
56
 
57
            $mycourseschildrennodeskeys = $mycoursesnode->get_children_key_list();
58
            foreach ($mycourseschildrennodeskeys as $k) {
59
                $mycoursesnode->get($k)->showinflatnavigation = false;
60
 
61
            }
62
        }
63
 
64
        $gradesnode = $navigation->find('grades', global_navigation::TYPE_SETTING);
65
        if($gradesnode) {
66
            $gradesnode->remove();
67
        }
68
 
69
        $badgesviewnode = $navigation->find('badgesview', global_navigation::TYPE_SETTING);
70
        if($badgesviewnode) {
71
            $badgesviewnode->remove();
72
        }
73
 
74
        $tagsviewnode = $navigation->find('tags', global_navigation::TYPE_SETTING);
75
        if($tagsviewnode) {
76
            $tagsviewnode->remove();
77
        }
78
 
79
        $competenciesnode = $navigation->find('competencies', global_navigation::TYPE_SETTING);
80
        if($competenciesnode) {
81
            $competenciesnode->remove();
82
        }
83
 
84
        $courseblogsnode = $navigation->find('courseblogs', global_navigation::TYPE_SETTING);
85
        if($courseblogsnode) {
86
            $courseblogsnode->remove();
87
        }
88
 
89
 
90
 
91
        $participantsnode = $navigation->find('participants', global_navigation::TYPE_CONTAINER);
92
        if($participantsnode) {
93
            $participantsnode->remove();
94
 
95
        }
96
 
97
        $format = strtolower($COURSE->format);
98
 
99
        $topicnodes = $navigation->find_all_of_type(global_navigation::TYPE_SECTION);
100
        foreach($topicnodes as $topicnode)
101
        {
102
            if(empty(trim($topicnode->text)) || $topicnode->text == 'General') {
103
                $topicnode->remove();
104
 
105
                } else {
106
                $topicnode->add_class('btn-' . $format);
107
            }
108
        }
109
 
110
 
111
 
112
    }
113
 
114
 
115
}