123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- <?php
- /* For licensing terms, see /license.txt */
- /**
- * Class Annotation
- * Allow instanciate an object of type HotSpot extending the class question.
- *
- * @author Angel Fernando Quiroz Campos <angel.quiroz@beeznest.com>
- */
- class Annotation extends Question
- {
- public $typePicture = 'annotation.png';
- public $explanationLangVar = 'Annotation';
- /**
- * Annotation constructor.
- */
- public function __construct()
- {
- parent::__construct();
- $this->type = ANNOTATION;
- $this->isContent = $this->getIsContent();
- }
- public function display()
- {
- }
- /**
- * {@inheritdoc}
- */
- public function createForm(&$form, $exercise)
- {
- parent::createForm($form, $exercise);
- $form->addElement(
- 'number',
- 'weighting',
- get_lang('Score'),
- ['step' => '0.1']
- );
- if (!empty($this->id)) {
- $form->setDefaults(['weighting' => float_format($this->weighting, 1)]);
- } else {
- if ($this->isContent == 1) {
- $form->setDefaults(['weighting' => '10']);
- }
- }
- global $text;
- if (isset($_GET['editQuestion'])) {
- $form->addButtonUpdate($text, 'submitQuestion');
- return;
- }
- $form->addElement(
- 'file',
- 'imageUpload',
- [
- Display::img(
- Display::return_icon(
- 'annotation.png',
- null,
- null,
- ICON_SIZE_BIG,
- false,
- true
- )
- ),
- get_lang('Upload image (jpg, png or gif) to apply hotspots.'),
- ]
- );
- $form->addButtonSave(get_lang('Go to question'), 'submitQuestion');
- $form->addRule(
- 'imageUpload',
- get_lang('Only PNG, JPG or GIF images allowed'),
- 'filetype',
- ['jpg', 'jpeg', 'png', 'gif']
- );
- $form->addRule('imageUpload', get_lang('Please select an image'), 'uploadedfile');
- }
- /**
- * {@inheritdoc}
- */
- public function processCreation($form, $exercise)
- {
- $fileInfo = $form->getSubmitValue('imageUpload');
- parent::processCreation($form, $exercise);
- if (!empty($fileInfo['tmp_name'])) {
- $result = $this->uploadPicture($fileInfo['tmp_name']);
- if ($result) {
- $this->weighting = $form->getSubmitValue('weighting');
- $this->save($exercise);
- return true;
- }
- return false;
- }
- return false;
- }
- /**
- * @param FormValidator $form
- */
- public function createAnswersForm($form)
- {
- }
- /**
- * {@inheritdoc}
- */
- public function processAnswersCreation($form, $exercise)
- {
- $this->weighting = $form->getSubmitValue('weighting');
- $this->save($exercise);
- }
- /**
- * {@inheritdoc}
- */
- public function return_header(Exercise $exercise, $counter = null, $score = [])
- {
- $score['revised'] = $this->isQuestionWaitingReview($score);
- return parent::return_header($exercise, $counter, $score); // TODO: Change the autogenerated stub
- }
- }
|