Skip to content

Commit 6a72f30

Browse files
committed
update
1 parent dcf9d52 commit 6a72f30

1 file changed

Lines changed: 35 additions & 8 deletions

File tree

app/controllers/exercises_controller.rb

Lines changed: 35 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -619,18 +619,45 @@ def practice
619619
@workout ||= @workout_score.andand.workout || @workout_offering.andand.workout
620620
ex_count = @workout.andand.exercises.andand.count
621621
@hide_sidebar = (!@workout && @lti_launch) || (ex_count && ex_count < 2)
622+
622623
allOwnerships = ExerciseVersion.where(id: @exercise.current_version_id)[0].ownerships
623-
allresfiles = @exercise_version.prompts[0].question.scan(/\!\[\]\((.*?)\)/)
624-
allresfiles.each do |filename|
625-
if allOwnerships.find_by(filename: filename[0]).nil?
626-
@exercise_version.prompts[0].question = @exercise_version.prompts[0].question.gsub("![](#{filename[0]})", "[**#{filename[0]}** does not exist!]")
624+
checkMarkDown = @exercise_version.prompts[0].question.scan(/(\!\[.*?\]\((.*?)\))/)
625+
if checkMarkDown.length()>0
626+
checkMarkDown.each do |block|
627+
arr = block[1].strip.split(" ")
628+
counter = 0
629+
arr.each do |name|
630+
enterName = File.basename(name)
631+
if !allOwnerships.find_by(filename: enterName).nil?
632+
uniqueFile = ResourceFile.where(id: allOwnerships.find_by(filename: enterName).resource_file_id)[0].filename
633+
uniqueFilename = uniqueFile.model.token+uniqueFile.file.file.match(/\.\w*/)[0]
634+
fb = block[0].gsub("#{block[1]}", "/uploads/resource_file/#{uniqueFilename}")
635+
@exercise_version.prompts[0].question = @exercise_version.prompts[0].question.gsub("#{block[0]}", "#{fb}")
636+
else
637+
counter = counter + 1
638+
end
639+
end
640+
if counter == arr.length()
641+
@exercise_version.prompts[0].question = @exercise_version.prompts[0].question.gsub("#{block[0]}", "(**!#{block[0]}** Image does not exist!)")
642+
end
643+
end
627644

628-
else
629-
uniqueFile = ResourceFile.where(id: allOwnerships.find_by(filename: filename[0]).resource_file_id)[0].filename
630-
uniqueFilename = uniqueFile.model.token+uniqueFile.file.file.match(/\.\w*/)[0]
631-
@exercise_version.prompts[0].question = @exercise_version.prompts[0].question.gsub("![](#{filename[0]})", "![](/uploads/resource_file/#{uniqueFilename})")
645+
end
646+
checkHTMLtag = @exercise_version.prompts[0].question.scan(/(\<img .*?src=(.*? ).*?>)/)
647+
if checkHTMLtag.length()>0
648+
checkHTMLtag.each do |block|
649+
enterName = File.basename(block[1]).strip
650+
if !allOwnerships.find_by(filename: enterName).nil?
651+
uniqueFile = ResourceFile.where(id: allOwnerships.find_by(filename: enterName).resource_file_id)[0].filename
652+
uniqueFilename = uniqueFile.model.token+uniqueFile.file.file.match(/\.\w*/)[0]
653+
fb = block[0].gsub("#{enterName}", "/uploads/resource_file/#{uniqueFilename}")
654+
@exercise_version.prompts[0].question = @exercise_version.prompts[0].question.gsub("#{block[0]}", "#{fb}")
655+
else
656+
@exercise_version.prompts[0].question = @exercise_version.prompts[0].question.gsub("#{block[0]}", "(Image **src=#{enterName}** does not exist!)")
657+
end
632658
end
633659
end
660+
634661
@allFiles= []
635662
@allFilesRegularName= []
636663
allOwnerships.each do |res|

0 commit comments

Comments
 (0)