From 059f6aa866159bca087d9eb3e499495af2e57a32 Mon Sep 17 00:00:00 2001 From: Nosolored Date: Mon, 17 Feb 2020 10:04:06 +0100 Subject: [PATCH] Add jquery.elevatezoom.js to exercises --- main/exercise/UniqueAnswerImage.php | 73 +- main/exercise/exercise_submit.php | 32 + main/exercise/question.class.php | 62 + main/inc/lib/exercise.lib.php | 4 +- main/inc/lib/javascript/jquery.elevatezoom.js | 1790 +++++++++++++++++ main/lp/lp_view.php | 26 + 6 files changed, 1983 insertions(+), 4 deletions(-) create mode 100644 main/inc/lib/javascript/jquery.elevatezoom.js diff --git a/main/exercise/UniqueAnswerImage.php b/main/exercise/UniqueAnswerImage.php index bfd3ee02fc..965f964a38 100644 --- a/main/exercise/UniqueAnswerImage.php +++ b/main/exercise/UniqueAnswerImage.php @@ -59,6 +59,64 @@ class UniqueAnswerImage extends UniqueAnswer $html = ''; + + $zoomOptions = api_get_configuration_value('zoom_images_quiz'); + if (isset($zoomOptions['options'])) { + $finderFolder = api_get_path(WEB_PATH).'vendor/studio-42/elfinder/'; + $html .= ''; + $html .= ''; + $html .= ''; + + $html .= ''; + $html .= ''; + + $html .= ''; + $language = 'en'; + $platformLanguage = api_get_interface_language(); + $iso = api_get_language_isocode($platformLanguage); + $filePart = "vendor/studio-42/elfinder/js/i18n/elfinder.$iso.js"; + $file = api_get_path(SYS_PATH).$filePart; + $includeFile = ''; + if (file_exists($file)) { + $includeFile = ''; + $language = $iso; + } + $html .= $includeFile; + + $html .= ''; + $html .= '
'; + } + $html .= ' @@ -180,7 +238,15 @@ class UniqueAnswerImage extends UniqueAnswer 'counter['.$i.']' ); $renderer->setElementTemplate( - '', + '', 'answer['.$i.']' ); $renderer->setElementTemplate( @@ -196,14 +262,15 @@ class UniqueAnswerImage extends UniqueAnswer $answerNumber->freeze(); $form->addElement('radio', 'correct', null, null, $i, 'class="checkbox"'); + $form->addHtmlEditor('answer['.$i.']', null, null, false, $editorConfig); $form->addRule('answer['.$i.']', get_lang('ThisFieldIsRequired'), 'required'); switch ($objExercise->getFeedbackType()) { case EXERCISE_FEEDBACK_TYPE_DIRECT: - $this->setDirectOptions($i, $form, $renderer, $selectLpId, $selectQuestion); - break; + //$this->setDirectOptions($i, $form, $renderer, $selectLpId, $selectQuestion); + //break; case EXERCISE_FEEDBACK_TYPE_POPUP: default: $form->addHtmlEditor('comment['.$i.']', null, null, false, $editorConfig); diff --git a/main/exercise/exercise_submit.php b/main/exercise/exercise_submit.php index 997b311475..ce5a021c29 100755 --- a/main/exercise/exercise_submit.php +++ b/main/exercise/exercise_submit.php @@ -79,6 +79,38 @@ if (api_get_setting('enable_record_audio') === 'true') { $htmlHeadXtra[] = api_get_js('record_audio/record_audio.js'); } +$zoomOptions = api_get_configuration_value('zoom_images_quiz'); +if (isset($zoomOptions['options']) && !in_array($origin, ['embeddable', 'noheader'])) { + $options = $zoomOptions['options']; + $htmlHeadXtra[] = ''; + $htmlHeadXtra[] = ''; +} + $template = new Template(); // General parameters passed via POST/GET diff --git a/main/exercise/question.class.php b/main/exercise/question.class.php index f26d63ff1c..da79b6568a 100755 --- a/main/exercise/question.class.php +++ b/main/exercise/question.class.php @@ -1608,6 +1608,60 @@ abstract class Question .media { display:none;} '; + $zoomOptions = api_get_configuration_value('zoom_images_quiz'); + if (isset($zoomOptions['options'])) { + $finderFolder = api_get_path(WEB_PATH).'vendor/studio-42/elfinder/'; + echo ''; + echo ''; + echo ''; + + echo ''; + echo ''; + + echo ''; + $language = 'en'; + $platformLanguage = api_get_interface_language(); + $iso = api_get_language_isocode($platformLanguage); + $filePart = "vendor/studio-42/elfinder/js/i18n/elfinder.$iso.js"; + $file = api_get_path(SYS_PATH).$filePart; + $includeFile = ''; + if (file_exists($file)) { + $includeFile = ''; + $language = $iso; + } + echo $includeFile; + + echo ''; + echo '
'; + } + // question name if (api_get_configuration_value('save_titles_as_html')) { $editorConfig = ['ToolbarSet' => 'TitleAsHtml']; @@ -1644,6 +1698,14 @@ abstract class Question $form->addButtonAdvancedSettings('advanced_params'); $form->addElement('html', '
{error}
{element}
{error}
{element}'. + (isset($zoomOptions['options']) ? + '
+ +
+ +
+
+
' : '').'