@@ -43,12 +43,30 @@ function replaceCodes(array $list): Generator
4343 continue ;
4444 }
4545
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+
4655 $ newCode = CourseManager::generate_course_code ($ newCode );
4756
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+ );
4968
5069 $ tablesWithCode = [
51- 'course ' => ['code ' , 'visual_code ' , 'directory ' ],
5270 'course_rel_class ' => ['course_code ' ],
5371 'course_request ' => ['code ' ],
5472 'gradebook_category ' => ['course_code ' ],
@@ -76,20 +94,20 @@ function replaceCodes(array $list): Generator
7694
7795 yield "Replacing course code in exercises content " ;
7896
79- ExerciseLib::replaceTermsInContent ("/courses/ $ currentCode / " , "/courses/ $ newCode / " );
97+ ExerciseLib::replaceTermsInContent ("/courses/ $ currentDirectory / " , "/courses/ $ newDirectory / " );
8098
8199 yield "Replacing course code in HTML files " ;
82100
83101 $ coursePath = api_get_path (SYS_COURSE_PATH );
84102
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' {} + " );
86104
87105 yield "Renaming course directory " ;
88106
89107 $ fs = new Filesystem ();
90108 $ fs ->rename (
91- $ coursePath .$ currentCode ,
92- $ coursePath .$ newCode
109+ $ coursePath .$ currentDirectory ,
110+ $ coursePath .$ newDirectory
93111 );
94112 }
95113
0 commit comments