You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
3.0 KiB
118 lines
3.0 KiB
<?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()
|
|
{
|
|
}
|
|
|
|
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 (1 == $this->isContent) {
|
|
$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');
|
|
}
|
|
|
|
public function processCreation($form, $exercise)
|
|
{
|
|
$fileInfo = $form->getSubmitValue('imageUpload');
|
|
parent::processCreation($form, $exercise);
|
|
|
|
if (!empty($fileInfo['tmp_name'])) {
|
|
$this->weighting = $form->getSubmitValue('weighting');
|
|
$this->save($exercise);
|
|
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* @param FormValidator $form
|
|
*/
|
|
public function createAnswersForm($form)
|
|
{
|
|
}
|
|
|
|
public function processAnswersCreation($form, $exercise)
|
|
{
|
|
$this->weighting = $form->getSubmitValue('weighting');
|
|
$this->save($exercise);
|
|
}
|
|
|
|
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
|
|
}
|
|
}
|
|
|