The "Upload multiple feedback files in a zip" feature is convenient, but requires that
the files sit directly within the zip file. As the files will most likely be extracted
to a folder after downloading, it's quite reasonable to expect teachers to zip the
folder up rather than selecting all files and zipping them. This patch allows for a
zipped folder to be uploaded; if the only file found after extracting is a directory,
the contents of the directory are used instead of the results of the extraction.
The entry in the assign_grades table contains grades feedback and other settings such as locked.
Only send the student an email about new feedback if it is actually grades or feedback that
has been added. This is done by using another state for the mailed flag (2) which means "unset".
When group submissions and blind marking are enabled, an error is thrown
when a teacher trys to download all submissions in a zip. The fix is to
move the url rewriting from the plugin to the assign class so it is
done in a standard way by all modules. The rewriting is done to make images
in a text editor field resolve correctly.