@@ -136,44 +136,47 @@ protected function response_survey_display($response) {
136
136
$ fs = get_file_storage ();
137
137
$ file = $ fs ->get_file_by_id ($ answer ->value );
138
138
139
- $ moodleurl = moodle_url::make_pluginfile_url (
140
- $ file ->get_contextid (),
141
- $ file ->get_component (),
142
- $ file ->get_filearea (),
143
- $ file ->get_itemid (),
144
- $ file ->get_filepath (),
145
- $ file ->get_filename ());
146
-
147
- $ mimetype = $ file ->get_mimetype ();
148
- $ title = '' ;
149
-
150
- $ extension = resourcelib_get_extension ($ file ->get_filename ());
151
-
152
- $ mediamanager = core_media_manager::instance ($ PAGE );
153
- $ embedoptions = array (
154
- core_media_manager::OPTION_TRUSTED => true ,
155
- core_media_manager::OPTION_BLOCK => true ,
156
- );
157
-
158
- if (file_mimetype_in_typegroup ($ mimetype , 'web_image ' )) { // It's an image.
159
- $ code = resourcelib_embed_image ($ moodleurl ->out (), $ title );
160
-
161
- } else if ($ mimetype === 'application/pdf ' ) {
162
- // PDF document.
163
- $ code = resourcelib_embed_pdf ($ moodleurl ->out (), $ title , get_string ('view ' ));
164
-
165
- } else if ($ mediamanager ->can_embed_url ($ moodleurl , $ embedoptions )) {
166
- // Media (audio/video) file.
167
- $ code = $ mediamanager ->embed_url ($ moodleurl , $ title , 0 , 0 , $ embedoptions );
168
-
169
- } else {
170
- // We need a way to discover if we are loading remote docs inside an iframe.
171
- $ moodleurl ->param ('embed ' , 1 );
172
-
173
- // Anything else - just try object tag enlarged as much as possible.
174
- $ code = resourcelib_embed_general ($ moodleurl , $ title , get_string ('view ' ), $ mimetype );
139
+ if ($ file ) {
140
+ // There is a file.
141
+ $ moodleurl = moodle_url::make_pluginfile_url (
142
+ $ file ->get_contextid (),
143
+ $ file ->get_component (),
144
+ $ file ->get_filearea (),
145
+ $ file ->get_itemid (),
146
+ $ file ->get_filepath (),
147
+ $ file ->get_filename ()
148
+ );
149
+
150
+ $ mimetype = $ file ->get_mimetype ();
151
+ $ title = '' ;
152
+
153
+ $ extension = resourcelib_get_extension ($ file ->get_filename ());
154
+
155
+ $ mediamanager = core_media_manager::instance ($ PAGE );
156
+ $ embedoptions = array (
157
+ core_media_manager::OPTION_TRUSTED => true ,
158
+ core_media_manager::OPTION_BLOCK => true ,
159
+ );
160
+
161
+ if (file_mimetype_in_typegroup ($ mimetype , 'web_image ' )) { // It's an image.
162
+ $ code = resourcelib_embed_image ($ moodleurl ->out (), $ title );
163
+
164
+ } else if ($ mimetype === 'application/pdf ' ) {
165
+ // PDF document.
166
+ $ code = resourcelib_embed_pdf ($ moodleurl ->out (), $ title , get_string ('view ' ));
167
+
168
+ } else if ($ mediamanager ->can_embed_url ($ moodleurl , $ embedoptions )) {
169
+ // Media (audio/video) file.
170
+ $ code = $ mediamanager ->embed_url ($ moodleurl , $ title , 0 , 0 , $ embedoptions );
171
+
172
+ } else {
173
+ // We need a way to discover if we are loading remote docs inside an iframe.
174
+ $ moodleurl ->param ('embed ' , 1 );
175
+
176
+ // Anything else - just try object tag enlarged as much as possible.
177
+ $ code = resourcelib_embed_general ($ moodleurl , $ title , get_string ('view ' ), $ mimetype );
178
+ }
175
179
}
176
-
177
180
$ output = '' ;
178
181
$ output .= '<div class="response text"> ' ;
179
182
$ output .= $ code ;
0 commit comments