diff --git a/locallib.php b/locallib.php
index 0f0fc0cf12813a3028a97914c7d5b48d0c03d803..7a0daf62f93f51cb9a6ec0b27a849f60820eba86 100644
--- a/locallib.php
+++ b/locallib.php
@@ -64,7 +64,7 @@ function pdfannotator_display_embed($pdfannotator, $cm, $course, $file, $page =
// Load and execute the javascript files.
$PAGE->requires->js(new moodle_url("/mod/pdfannotator/shared/pdf.js?ver=00002"));
$PAGE->requires->js(new moodle_url("/mod/pdfannotator/shared/textclipper.js"));
- $PAGE->requires->js(new moodle_url("/mod/pdfannotator/shared/index.js?ver=00029"));
+ $PAGE->requires->js(new moodle_url("/mod/pdfannotator/shared/index.js?ver=00030"));
$PAGE->requires->js(new moodle_url("/mod/pdfannotator/shared/locallib.js?ver=00005"));
// Pass parameters from PHP to JavaScript.
@@ -167,6 +167,25 @@ function pdfannotator_extract_images($contentarr, $itemid, $context=null) {
}
function pdfannotator_split_content_image($content, $res, $itemid, $context=null) {
+
+ // Gets all files in the comment with id itemid.
+ $fs = get_file_storage();
+ $files = $fs->get_area_files($context->id, 'mod_pdfannotator', 'post', $itemid);
+ $fileinfo = [];
+ foreach($files as $file) {
+ if ($file->is_directory() and $file->get_filepath() === '/') {
+ continue;
+ }
+ $info = [];
+ $info['fileid'] = $file->get_id();
+ $info['filename'] = $file->get_filename();
+ $info['filepath'] = $file->get_filepath();
+ $info['filecontent'] = $file->get_content();
+ $info['filesize'] = $file->get_filesize();
+ $info['filemimetype'] = $file->get_mimetype();
+ $fileinfo[] = $info;
+ }
+
$imgmatch = [];
$firststr = '';
$data = [];
@@ -190,26 +209,23 @@ function pdfannotator_split_content_image($content, $res, $itemid, $context=null
$format[0] = 'jpeg';
}
- $data['format'] = strtoupper($format[0]);
-
- $fs = get_file_storage();
- $files = $fs->get_area_files($context->id, 'mod_pdfannotator', 'post', $itemid);
- $fileinfo = [];
- foreach($files as $file) {
- if ($file->is_directory() and $file->get_filepath() === '/') {
- continue;
+ $tempinfo = [];
+ foreach($fileinfo as $file) {
+ $count = substr_count($imgstr, $file['filename']);
+ if($count) {
+ $tempinfo = $file;
+ break;
}
- //$fileinfo['fileid'] = $file->file_record['id'];
- $fileinfo['filename'] = $file->get_filename();
- $fileinfo['filepath'] = $file->get_filepath();
- $fileinfo['filecontent'] = $file->get_content();
- $fileinfo['filesize'] = $file->get_filesize();
- }
- //$imagedata = file_get_contents($fileinfo['filecontent']);
- $imagedata = 'data:image/' . strtolower($data['format']) . ';base64,' . base64_encode($fileinfo['filecontent']);
+ }
+
+ $imagedata = 'data:' . $tempinfo['filemimetype'] . ';base64,' . base64_encode($tempinfo['filecontent']);
$data['image'] = $imagedata;
+ $data['format'] = $tempinfo['filemimetype'];
+ $data['fileid'] = $tempinfo['fileid'];
+ $data['filename'] = $tempinfo['filename'];
+ $data['filepath'] = $tempinfo['filepath'];
+ $data['filesize'] = $tempinfo['filesize'];
- //$data['image'] = $url[0];
preg_match('/height=[0-9]+/', $imgstr, $height);
$data['imageheight'] = str_replace("\"", "", explode('=', $height[0])[1]);
preg_match('/width=[0-9]+/', $imgstr, $width);
@@ -220,6 +236,7 @@ function pdfannotator_split_content_image($content, $res, $itemid, $context=null
$content = $laststr;
}
$res[] = $content;
+
return $res;
}
diff --git a/version.php b/version.php
index 3ab891917f57cd7913584ccdfed2d80a2a40df55..4f2ef2838619452e0408e7a635ac1c2fbc61ce06 100644
--- a/version.php
+++ b/version.php
@@ -25,7 +25,7 @@
defined('MOODLE_INTERNAL') || die();
$plugin->component = 'mod_pdfannotator';
-$plugin->version = 2022102600;
+$plugin->version = 2022102601;
$plugin->release = 'PDF Annotator v1.4 release 11';
$plugin->requires = 2021051700;
$plugin->maturity = MATURITY_STABLE;