ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
assAnswerCloze Class Reference

Class for cloze question numeric answers. More...

+ Inheritance diagram for assAnswerCloze:
+ Collaboration diagram for assAnswerCloze:

Public Member Functions

 __construct ($answertext="", $points=0.0, $order=0)
 assAnswerCloze constructor More...
 
 setLowerBound ($bound)
 Sets the lower boind. More...
 
 setUpperBound ($bound)
 Sets the upper bound. More...
 
 getLowerBound ()
 Returns the lower bound. More...
 
 getUpperBound ()
 Returns the upper bound. More...
 
 setGapSize ($gap_size)
 
 getGapSize ()
 
- Public Member Functions inherited from ASS_AnswerSimple
 __construct ( $answertext="", $points=0.0, $order=0, $id=-1)
 ASS_AnswerSimple constructor. More...
 
 getId ()
 Gets the answer id. More...
 
 getAnswertext ()
 Gets the answer text. More...
 
 getPoints ()
 Gets the points. More...
 
 checkPoints ($a_points)
 Checks, if the point value is numeric. More...
 
 getOrder ()
 Gets the sort/display order. More...
 
 setOrder ($order=0)
 Sets the order. More...
 
 setId ($id=-1)
 Sets the answer id. More...
 
 setAnswertext ($answertext="")
 Sets the answer text. More...
 
 setPoints ($points=0.0)
 Sets the points. More...
 

Protected Member Functions

 getNumericValueFromAnswerText ()
 
 getNumericValueFromText ($text)
 

Protected Attributes

 $lowerBound
 
 $upperBound
 
 $gap_size
 
- Protected Attributes inherited from ASS_AnswerSimple
 $answertext
 
 $points
 
 $order
 
 $id
 

Detailed Description

Class for cloze question numeric answers.

assAnswerCloze is a class for cloze questions numeric answers.

Author
Helmut Schottmüller helmu.nosp@m.t.sc.nosp@m.hottm.nosp@m.uell.nosp@m.er@ma.nosp@m.c.co.nosp@m.m
Maximilian Becker mbeck.nosp@m.er@d.nosp@m.ataba.nosp@m.y.de
Version
$Id$
See also
ASS_AnswerBinaryState

@TODO Rework class to represent bounds as numerics instead of strings.

Definition at line 23 of file class.assAnswerCloze.php.

Constructor & Destructor Documentation

◆ __construct()

assAnswerCloze::__construct (   $answertext = "",
  $points = 0.0,
  $order = 0 
)

assAnswerCloze constructor

The constructor takes possible arguments an creates an instance of the assAnswerCloze object.

Parameters
string$answertextA string defining the answer text
double$pointsThe number of points given for the selected answer
integer$orderA nonnegative value representing a possible display or sort order
Returns
assAnswerCloze @TODO See if the initialization of the bounds to null can be avoided to have them string/numeric at all times.

Definition at line 64 of file class.assAnswerCloze.php.

65 {
66 parent::__construct($answertext, $points, $order, -1);
67 $this->lowerBound = NULL;
68 $this->upperBound = NULL;
69 $this->gap_size = 0;
70 }

References ASS_AnswerSimple\$answertext, ASS_AnswerSimple\$order, and ASS_AnswerSimple\$points.

Member Function Documentation

◆ getGapSize()

assAnswerCloze::getGapSize ( )
Returns
int

Definition at line 160 of file class.assAnswerCloze.php.

161 {
162 return $this->gap_size;
163 }

References $gap_size.

◆ getLowerBound()

assAnswerCloze::getLowerBound ( )

Returns the lower bound.

Returns
null|string

Definition at line 134 of file class.assAnswerCloze.php.

135 {
136 return $this->lowerBound;
137 }

References $lowerBound.

◆ getNumericValueFromAnswerText()

assAnswerCloze::getNumericValueFromAnswerText ( )
protected

Definition at line 115 of file class.assAnswerCloze.php.

116 {
117 return $this->getNumericValueFromText($this->getAnswertext());
118 }
getAnswertext()
Gets the answer text.

References ASS_AnswerSimple\getAnswertext(), and getNumericValueFromText().

Referenced by setLowerBound(), and setUpperBound().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getNumericValueFromText()

assAnswerCloze::getNumericValueFromText (   $text)
protected

Definition at line 120 of file class.assAnswerCloze.php.

121 {
122 include_once("./Services/Math/classes/class.EvalMath.php");
123 $eval = new EvalMath();
124 $eval->suppress_errors = true;
125 return $eval->e(str_replace(",", ".", ilUtil::stripSlashes($text, FALSE)));
126 }
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
$text

References $text, and ilUtil\stripSlashes().

Referenced by getNumericValueFromAnswerText(), setLowerBound(), and setUpperBound().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getUpperBound()

assAnswerCloze::getUpperBound ( )

Returns the upper bound.

Returns
null|string

Definition at line 144 of file class.assAnswerCloze.php.

145 {
146 return $this->upperBound;
147 }

References $upperBound.

◆ setGapSize()

assAnswerCloze::setGapSize (   $gap_size)
Parameters
int$gap_size

Definition at line 152 of file class.assAnswerCloze.php.

153 {
154 $this->gap_size = $gap_size;
155 }

References $gap_size.

◆ setLowerBound()

assAnswerCloze::setLowerBound (   $bound)

Sets the lower boind.

Parameters
$boundstring A string defining the lower bound of an answer for numeric gaps. @TODO: Refactor method to get rid of "locale magic".

Definition at line 79 of file class.assAnswerCloze.php.

80 {
81 $boundvalue = $this->getNumericValueFromText($bound);
82 $value = $this->getNumericValueFromAnswerText();
83
84 if ($boundvalue === false || $boundvalue > $value)
85 {
86 $this->lowerBound = $this->getAnswertext();
87 }
88 else
89 {
90 $this->lowerBound = $bound;
91 }
92 }

References ASS_AnswerSimple\getAnswertext(), getNumericValueFromAnswerText(), and getNumericValueFromText().

+ Here is the call graph for this function:

◆ setUpperBound()

assAnswerCloze::setUpperBound (   $bound)

Sets the upper bound.

Parameters
$boundstring A string defining the upper bound of an answer for numeric gaps. @TODO: Refactor method to get rid of "locale magic".

Definition at line 100 of file class.assAnswerCloze.php.

101 {
102 $boundvalue = $this->getNumericValueFromText($bound);
103 $value = $this->getNumericValueFromAnswerText();
104
105 if ($boundvalue === false || $boundvalue < $value)
106 {
107 $this->upperBound = $this->getAnswertext();
108 }
109 else
110 {
111 $this->upperBound = $bound;
112 }
113 }

References ASS_AnswerSimple\getAnswertext(), getNumericValueFromAnswerText(), and getNumericValueFromText().

+ Here is the call graph for this function:

Field Documentation

◆ $gap_size

assAnswerCloze::$gap_size
protected

Definition at line 49 of file class.assAnswerCloze.php.

Referenced by getGapSize(), and setGapSize().

◆ $lowerBound

assAnswerCloze::$lowerBound
protected

Definition at line 33 of file class.assAnswerCloze.php.

Referenced by getLowerBound().

◆ $upperBound

assAnswerCloze::$upperBound
protected

Definition at line 43 of file class.assAnswerCloze.php.

Referenced by getUpperBound().


The documentation for this class was generated from the following file: