@@ -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 ] } ** 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 ( "" , "" )
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