Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
M
moodle-local_sembasednav
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
elc
moodle-local_sembasednav
Commits
b6016774
Commit
b6016774
authored
3 years ago
by
Dennis Ahrens
Browse files
Options
Downloads
Patches
Plain Diff
Backported changes from moodle master bucket in plugin repo.
parent
aaa5cb09
Branches
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
lib.php
+23
-18
23 additions, 18 deletions
lib.php
with
23 additions
and
18 deletions
lib.php
+
23
−
18
View file @
b6016774
...
@@ -42,7 +42,7 @@ function local_sembasednav_extend_navigation(global_navigation $navigation)
...
@@ -42,7 +42,7 @@ function local_sembasednav_extend_navigation(global_navigation $navigation)
$courses
=
[];
$courses
=
[];
}
}
//
Hid
es courses that are shown by default
//
Remov
es courses that are shown by default
foreach
(
$myCoursesChildNodes
as
$cn
)
{
foreach
(
$myCoursesChildNodes
as
$cn
)
{
$myCoursesNode
->
find
(
$cn
,
null
)
->
showinflatnavigation
=
false
;
$myCoursesNode
->
find
(
$cn
,
null
)
->
showinflatnavigation
=
false
;
}
}
...
@@ -95,7 +95,7 @@ function local_sembasednav_extend_navigation(global_navigation $navigation)
...
@@ -95,7 +95,7 @@ function local_sembasednav_extend_navigation(global_navigation $navigation)
add_semester_nodes
(
$mySemesters
,
$myCoursesNode
);
add_semester_nodes
(
$mySemesters
,
$myCoursesNode
);
if
(
$openFirstSemester
)
if
(
$openFirstSemester
)
open_
first_
semester_node
(
$mySemesters
,
$myCoursesNode
);
open_semester_node
(
array_keys
(
$mySemesters
)[
0
]
,
$myCoursesNode
);
// Add all special nodes
// Add all special nodes
if
(
$specialNodesFirst
==
1
)
if
(
$specialNodesFirst
==
1
)
...
@@ -115,6 +115,7 @@ function local_sembasednav_extend_navigation(global_navigation $navigation)
...
@@ -115,6 +115,7 @@ function local_sembasednav_extend_navigation(global_navigation $navigation)
$semesterKey
=
create_node_key
(
$semesterName
);
$semesterKey
=
create_node_key
(
$semesterName
);
$semesterNode
=
$navigation
->
find
(
$semesterKey
,
null
);
$semesterNode
=
$navigation
->
find
(
$semesterKey
,
null
);
// Can't find semester of current course
if
(
!
$semesterNode
)
{
if
(
!
$semesterNode
)
{
continue
;
continue
;
}
}
...
@@ -123,16 +124,20 @@ function local_sembasednav_extend_navigation(global_navigation $navigation)
...
@@ -123,16 +124,20 @@ function local_sembasednav_extend_navigation(global_navigation $navigation)
$courseKey
=
create_node_key
(
$courseName
);
$courseKey
=
create_node_key
(
$courseName
);
$courseNode
=
navigation_node
::
create
(
$courseName
,
new
moodle_url
(
'/course/view.php'
,
array
(
'id'
=>
$c
->
id
)),
global_navigation
::
TYPE_COURSE
,
$courseName
,
$courseKey
,
new
pix_icon
(
'i/course'
,
'grades'
));
$courseNode
=
navigation_node
::
create
(
$courseName
,
new
moodle_url
(
'/course/view.php'
,
array
(
'id'
=>
$c
->
id
)),
global_navigation
::
TYPE_COURSE
,
$courseName
,
$courseKey
,
new
pix_icon
(
'i/course'
,
'grades'
));
$courseNode
->
showinflatnavigation
=
true
;
$courseNode
->
showinflatnavigation
=
true
;
$courseNode
->
add_class
(
'p-l-3'
);
$courseNode
->
add_class
(
'p-l-3'
);
$courseNode
->
add_class
(
'localboostnavigationcollapsiblechild'
);
if
(
!
$semesterNode
->
forceopen
)
if
(
!
$semesterNode
->
forceopen
)
$courseNode
->
add_class
(
'localboostnavigationcollapsedchild'
);
$courseNode
->
add_class
(
'localboostnavigationcollapsedchild'
);
$semesterNode
->
add_node
(
$courseNode
);
$semesterNode
->
add_node
(
$courseNode
);
}
// Open semester node of active course
if
(
$courseNode
->
isactive
)
{
open_semester_node
(
$semesterNode
->
text
,
$myCoursesNode
);
}
}
}
}
/**
/**
...
@@ -159,7 +164,7 @@ function add_semester_nodes(array $semesterList, $parentNode)
...
@@ -159,7 +164,7 @@ function add_semester_nodes(array $semesterList, $parentNode)
$parentNode
->
add_node
(
$semesterNode
);
$parentNode
->
add_node
(
$semesterNode
);
}
}
// Apply collapse navigation js to every semes
e
ter
// Apply collapse navigation js to every semester
if
(
!
empty
(
$collapsenodesforjs
))
{
if
(
!
empty
(
$collapsenodesforjs
))
{
$PAGE
->
requires
->
js_call_amd
(
'local_boostnavigation/collapsenavdrawernodes'
,
'init'
,
$PAGE
->
requires
->
js_call_amd
(
'local_boostnavigation/collapsenavdrawernodes'
,
'init'
,
[
$collapsenodesforjs
,
[]]);
[
$collapsenodesforjs
,
[]]);
...
@@ -171,27 +176,28 @@ function add_semester_nodes(array $semesterList, $parentNode)
...
@@ -171,27 +176,28 @@ function add_semester_nodes(array $semesterList, $parentNode)
}
}
/**
/**
* @param
array
$semester
List
* @param $semester
Key
* @param $myCourseNode
* @param $myCourseNode
*/
*/
function
open_
first_
semester_node
(
array
$semester
List
,
$myCourseNode
)
function
open_semester_node
(
$semester
Key
,
$myCourseNode
)
{
{
$semesterKeys
=
array_keys
(
$semesterList
);
if
(
empty
(
$semesterKey
))
if
(
empty
(
$semesterKeys
[
0
]))
return
;
return
;
$firstSemesterKey
=
create_node_key
(
$semesterKeys
[
0
]);
$key
=
create_node_key
(
$semesterKey
);
$semesterNode
=
$myCourseNode
->
find
(
$key
,
global_navigation
::
NODETYPE_BRANCH
);
$semesterNode
=
$myCourseNode
->
find
(
$firstSemesterKey
,
global_navigation
::
TYPE_CUSTOM
);
$semesterNode
->
forceopen
=
true
;
$semesterNode
->
forceopen
=
true
;
$semesterNode
->
remove_class
(
'localboostnavigationcollapsedparent'
);
$semesterNode
->
remove_class
(
'localboostnavigationcollapsedparent'
);
foreach
(
$semesterNode
->
get_children_key_list
()
as
$c
)
{
$node
=
$myCourseNode
->
find
(
$c
,
null
);
$node
->
remove_class
(
'localboostnavigationcollapsedchild'
);
}
}
}
/**
/**
* Creates a semester node with needed cs classes for collapse navigation js
* Creates a semester node with needed cs
s
classes for collapse navigation js
* @param string $semesterName
* @param string $semesterName
* @return navigation_node
* @return navigation_node
* @throws coding_exception
* @throws coding_exception
...
@@ -205,12 +211,11 @@ function create_semester_node(string $semesterName)
...
@@ -205,12 +211,11 @@ function create_semester_node(string $semesterName)
$semesterKey
=
create_node_key
(
$semesterName
);
$semesterKey
=
create_node_key
(
$semesterName
);
$semesterNode
=
navigation_node
::
create
(
$semesterName
,
new
moodle_url
(
'/course/view.php'
,
null
),
global_navigation
::
TYPE_
CUSTOM
,
null
,
$semesterKey
,
null
);
$semesterNode
=
navigation_node
::
create
(
$semesterName
,
new
moodle_url
(
'/course/view.php'
,
null
),
global_navigation
::
NODE
TYPE_
BRANCH
,
null
,
$semesterKey
,
null
);
$semesterNode
->
showinflatnavigation
=
true
;
$semesterNode
->
showinflatnavigation
=
true
;
$semesterNode
->
add_class
(
'localboostnavigationcollapsibleparent'
);
$semesterNode
->
add_class
(
'localboostnavigationcollapsibleparent'
);
$semesterNode
->
add_class
(
'localboostnavigationcollapsedparent'
);
$semesterNode
->
add_class
(
'localboostnavigationcollapsedparent'
);
$semesterNode
->
add_class
(
'localboostnavigationcollapsiblechild'
);
if
(
$userprefmycoursesnode
==
1
)
{
if
(
$userprefmycoursesnode
==
1
)
{
$semesterNode
->
add_class
(
'localboostnavigationcollapsedchild'
);
$semesterNode
->
add_class
(
'localboostnavigationcollapsedchild'
);
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment