MDL-66136 assign: Verify presence of resources in online text submission

This commit is contained in:
Mihail Geshoski
2019-07-22 10:44:53 +08:00
committed by Adrian Greeve
parent d9126f03dc
commit 9a0078f100
+12 -2
View File
@@ -580,12 +580,17 @@ class assign_submission_onlinetext extends assign_submission_plugin {
public function is_empty(stdClass $submission) {
$onlinetextsubmission = $this->get_onlinetext_submission($submission->id);
$wordcount = 0;
$hasinsertedresources = false;
if (isset($onlinetextsubmission->onlinetext)) {
$wordcount = count_words(trim($onlinetextsubmission->onlinetext));
// Check if the online text submission contains video, audio or image elements
// that can be ignored and stripped by count_words().
$hasinsertedresources = preg_match('/<\s*((video|audio)[^>]*>(.*?)<\s*\/\s*(video|audio)>)|(img[^>]*>(.*?))/',
trim($onlinetextsubmission->onlinetext));
}
return $wordcount == 0;
return $wordcount == 0 && !$hasinsertedresources;
}
/**
@@ -602,12 +607,17 @@ class assign_submission_onlinetext extends assign_submission_plugin {
return true;
}
$wordcount = 0;
$hasinsertedresources = false;
if (isset($data->onlinetext_editor['text'])) {
$wordcount = count_words(trim((string)$data->onlinetext_editor['text']));
// Check if the online text submission contains video, audio or image elements
// that can be ignored and stripped by count_words().
$hasinsertedresources = preg_match('/<\s*((video|audio)[^>]*>(.*?)<\s*\/\s*(video|audio)>)|(img[^>]*>(.*?))/',
trim((string)$data->onlinetext_editor['text']));
}
return $wordcount == 0;
return $wordcount == 0 && !$hasinsertedresources;
}
/**