Commit Graph

13 Commits

Author SHA1 Message Date
Damyon Wiese
fca211bf05 MDL-55374 mod_assign: Force utf-8 for DOMDocument
This prevents charset issues on some sites.
2016-07-29 10:43:25 +08:00
Damyon Wiese
1356d85151 MDL-52954 core: Change from pandoc to unoconv - it gives better results
Most importantly it retains formatting better, and supports different charsets far better than pandoc.
2016-03-30 11:48:39 +08:00
Damyon Wiese
2e76c14e11 MDL-52954 core: Add a document converter to file_storage
This lets us convert between common office formats. E.g. docx -> pdf
html -> pdf, html -> ods.

This commit also updates assignment editpdf plugin to use this converter
on all compatible submission files.
2016-03-30 11:48:39 +08:00
Eloy Lafuente (stronk7)
46686eafeb MDL-49998 editpdf: Clean code to make it more readable.
There was a big proliferation and reuse of $pdf variable
that was making the code hard to read/review. This commit
does change nothing but makes it more readable.

Also adds a couple of Close() calls, not strictly needed
because they don't have opened files. But think it makes
really clearer the scope of every variable. And, for sure
it frees some resources. That cannot be bad.
2015-04-30 10:55:08 +02:00
Eloy Lafuente (stronk7)
a916d557cf MDL-49998 unit tests: Close the pdf objects when needed.
When a pdf object is instantiated and any file is loaded
with set_pdf() or load_pdf(), the files remain open until
the pdf is saved with pdf_save() or outputted with Output()..

In that cases is needed to perform an explicit Close() in
order to free resources, parsers and, ultimately, fclose()
the files.

Note that only the uses detected in the editpdf unit tests have
been fixed. I'd recommend to analyse every instance of the tcpdf
libs.

Also, there was one incorrecly reused pdf instance in then
generate_combined_pdf_for_attempt() method. Apparently it was not
leading to problems, but better use a separate instance (#246).
2015-04-28 19:46:50 +02:00
Andrew Nicols
9b65a08095 MDL-47475 mod_assign: Copy files to other group members for editpdf 2014-12-15 08:50:31 +08:00
Frederic Massart
7dbbb848c6 MDL-45580 assignfeedback_editpdf: Delete draft content on new submission 2014-06-23 14:17:24 +08:00
Frederic Massart
098f7dd438 MDL-45580 assignfeedback_editpdf: Store a readonly version of the PDF 2014-06-23 14:16:49 +08:00
Damyon Wiese
ac2b4ffc8c MDL-43593 Assign editpdf: More robust handling of errors from TCPDF.
This includes a check to see if there are 0 pages in the combined pdf,
catching exceptions and suppressing php warnings and errors from bad pdf files.

Also - Use TCPDF directly to check if pdfs are compatible. The previous check was
letting dodgy PDFs through which then failed at generation time. This way dodgy
pdfs will get run through ghostscript early and cleaned up.
2014-01-24 16:16:38 +08:00
Jerome Mouneyrac
d40ce26f05 MDL-42031 assginfeedback_editpdf: fix next/previous/select page 2013-11-06 14:13:19 +08:00
Jerome Mouneyrac
aa3e4bdec7 MDL-42028 EditPDF: replace the loading icon by a progress bar 2013-10-28 13:48:22 +08:00
Rajesh Taneja
9dbe0313ce MDL-42222 Assignment: Added type check before checking mimetype
Online submission type pass string in files, so added check
to see if file is of type stored_file then check mimetype
2013-10-09 16:53:46 +08:00
Damyon Wiese
5c3864723a MDL-42023 assign: Edit PDF plugin - Damyon's contributions 2013-10-03 09:30:32 +08:00