@@ -43,12 +43,30 @@ function replaceCodes(array $list): Generator
43
43
continue ;
44
44
}
45
45
46
+ $ currentCourseInfo = api_get_course_info ($ currentCode );
47
+ $ currentDirectory = $ currentCourseInfo ['directory ' ];
48
+
49
+ $ newCourseKeys = AddCourse::define_course_keys ($ newCode );
50
+
51
+ $ newCode = $ newCourseKeys ['currentCourseCode ' ];
52
+ $ newVisualCode = $ newCourseKeys ['currentCourseId ' ];
53
+ $ newDirectory = $ newCourseKeys ['currentCourseRepository ' ];
54
+
46
55
$ newCode = CourseManager::generate_course_code ($ newCode );
47
56
48
- yield "New code to use for ' $ currentCode' is ' $ newCode' " ;
57
+ yield "New code to use for ' $ currentCode' is ' $ newCode' and its directory is ' $ newDirectory' " ;
58
+
59
+ Database::update (
60
+ 'course ' ,
61
+ [
62
+ 'code ' => $ newCode ,
63
+ 'visual_code ' => $ newVisualCode ,
64
+ 'directory ' => $ newDirectory ,
65
+ ],
66
+ ['code = ? ' => [$ currentCode ]]
67
+ );
49
68
50
69
$ tablesWithCode = [
51
- 'course ' => ['code ' , 'visual_code ' , 'directory ' ],
52
70
'course_rel_class ' => ['course_code ' ],
53
71
'course_request ' => ['code ' ],
54
72
'gradebook_category ' => ['course_code ' ],
@@ -76,20 +94,20 @@ function replaceCodes(array $list): Generator
76
94
77
95
yield "Replacing course code in exercises content " ;
78
96
79
- ExerciseLib::replaceTermsInContent ("/courses/ $ currentCode / " , "/courses/ $ newCode / " );
97
+ ExerciseLib::replaceTermsInContent ("/courses/ $ currentDirectory / " , "/courses/ $ newDirectory / " );
80
98
81
99
yield "Replacing course code in HTML files " ;
82
100
83
101
$ coursePath = api_get_path (SYS_COURSE_PATH );
84
102
85
- exec ('find ' .$ coursePath .$ currentCode .'/document/ -type f -name "*.html" -exec sed -i ' ."'s#/courses/ $ currentCode /#/courses/ $ newCode /#g' {} + " );
103
+ exec ('find ' .$ coursePath .$ currentDirectory .'/document/ -type f -name "*.html" -exec sed -i ' ."'s#/courses/ $ currentDirectory /#/courses/ $ newDirectory /#g' {} + " );
86
104
87
105
yield "Renaming course directory " ;
88
106
89
107
$ fs = new Filesystem ();
90
108
$ fs ->rename (
91
- $ coursePath .$ currentCode ,
92
- $ coursePath .$ newCode
109
+ $ coursePath .$ currentDirectory ,
110
+ $ coursePath .$ newDirectory
93
111
);
94
112
}
95
113
0 commit comments