ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
ilAssQuestionHint Class Reference
+ Collaboration diagram for ilAssQuestionHint:

Public Member Functions

 __construct ()
 Constructor. More...
 
 getId ()
 returns the hint id More...
 
 setId ($id)
 sets the passed hint id More...
 
 getQuestionId ()
 returns the question id the hint currently relates to More...
 
 setQuestionId ($questionId)
 sets the passed question id so hint relates to it More...
 
 getIndex ()
 returns the ordering index of hint More...
 
 setIndex ($index)
 sets the passed hint ordering index More...
 
 getPoints ()
 returns the points to ground-off for this hint More...
 
 setPoints ($points)
 sets the passed points to ground-off for this hint More...
 
 getText ()
 returns the hint text More...
 
 setText ($text)
 sets the passed hint text More...
 
 load ($id)
 loads the hint dataset with passed id from database and assigns it the to this hint object instance More...
 
 save ()
 saves the current hint object state to database. More...
 
 delete ()
 deletes the persisted hint object in database by deleting the hint dataset identified by hint id More...
 
 getPageObjectType ()
 

Static Public Member Functions

static assignDbRow (self $questionHint, $hintDbRow)
 assigns the field elements of passed hint db row array to the corresponding hint object properties of passed hint object instance More...
 
static deleteById ($hintId)
 deletes the persisted hint object in database by deleting the hint dataset identified by hint id More...
 
static getInstanceById ($hintId)
 creates a hint object instance, loads the persisted hint dataset identified by passed hint id from database and assigns it as object state More...
 
static getHintIndexLabel (ilLanguage $lng, $hintIndex)
 

Data Fields

const PAGE_OBJECT_TYPE = 'qht'
 

Protected Member Functions

 getHtmlQuestionContentPurifier ()
 

Private Member Functions

 update ()
 persists the current object state to database by updating an existing dataset identified by hint id More...
 
 insert ()
 persists the current object state to database by inserting a new dataset with a new hint id fetched from primary key sequence More...
 

Private Attributes

 $id = null
 
 $questionId = null
 
 $index = null
 
 $points = null
 
 $text = null
 

Detailed Description

Definition at line 14 of file class.ilAssQuestionHint.php.

Constructor & Destructor Documentation

◆ __construct()

ilAssQuestionHint::__construct ( )

Constructor.

@access public

Definition at line 65 of file class.ilAssQuestionHint.php.

66 {
67 }

Member Function Documentation

◆ assignDbRow()

static ilAssQuestionHint::assignDbRow ( self  $questionHint,
  $hintDbRow 
)
static

assigns the field elements of passed hint db row array to the corresponding hint object properties of passed hint object instance

@access public

Parameters
self$questionHint
array$hintDbRow

Definition at line 311 of file class.ilAssQuestionHint.php.

312 {
313 foreach ($hintDbRow as $field => $value) {
314 switch ($field) {
315 case 'qht_hint_id': $questionHint->setId($value); break;
316 case 'qht_question_fi': $questionHint->setQuestionId($value); break;
317 case 'qht_hint_index': $questionHint->setIndex($value); break;
318 case 'qht_hint_points': $questionHint->setPoints($value); break;
319 case 'qht_hint_text': $questionHint->setText($value); break;
320
321 default: throw new ilTestQuestionPoolException("invalid db field identifier ($field) given!");
322 }
323 }
324 }

Referenced by ilAssQuestionHintList\getListByHintIds(), ilAssQuestionHintList\getListByQuestionId(), and load().

+ Here is the caller graph for this function:

◆ delete()

ilAssQuestionHint::delete ( )

deletes the persisted hint object in database by deleting the hint dataset identified by hint id

Returns
integer $affectedRows

Definition at line 297 of file class.ilAssQuestionHint.php.

298 {
299 return self::deleteById($this->getId());
300 }
static deleteById($hintId)
deletes the persisted hint object in database by deleting the hint dataset identified by hint id
getId()
returns the hint id

References deleteById(), and getId().

+ Here is the call graph for this function:

◆ deleteById()

static ilAssQuestionHint::deleteById (   $hintId)
static

deletes the persisted hint object in database by deleting the hint dataset identified by hint id

@access public

@global ilDBInterface $ilDB

Parameters
integer$hintId
Returns
integer $affectedRows

Definition at line 336 of file class.ilAssQuestionHint.php.

337 {
338 global $DIC;
339 $ilDB = $DIC['ilDB'];
340
341 $query = "
342 DELETE FROM qpl_hints
343 WHERE qht_hint_id = %s
344 ";
345
346 return $ilDB->manipulateF(
347 $query,
348 array('integer'),
349 array($hintId)
350 );
351 }
$query
global $ilDB
$DIC
Definition: xapitoken.php:46

References $DIC, $ilDB, and $query.

Referenced by delete().

+ Here is the caller graph for this function:

◆ getHintIndexLabel()

static ilAssQuestionHint::getHintIndexLabel ( ilLanguage  $lng,
  $hintIndex 
)
static

Definition at line 374 of file class.ilAssQuestionHint.php.

375 {
376 return sprintf($lng->txt('tst_question_hints_index_column_label'), $hintIndex);
377 }
$lng

References $lng.

Referenced by ilAssQuestionHintPageObjectCommandForwarder\buildPreviewPresentationPageObjectGUI(), ilAssQuestionHintPageObjectCommandForwarder\buildRequestPresentationPageObjectGUI(), and ilAssQuestionHintsTableGUI\fillRow().

+ Here is the caller graph for this function:

◆ getHtmlQuestionContentPurifier()

ilAssQuestionHint::getHtmlQuestionContentPurifier ( )
protected

Definition at line 380 of file class.ilAssQuestionHint.php.

381 {
382 return ilHtmlPurifierFactory::_getInstanceByType('qpl_usersolution');
383 }
static _getInstanceByType(string $type)
Factory method for creating purifier instances.

References ilHtmlPurifierFactory\_getInstanceByType().

Referenced by setText().

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

◆ getId()

ilAssQuestionHint::getId ( )

returns the hint id

@access public

Returns
integer $id

Definition at line 75 of file class.ilAssQuestionHint.php.

References $id.

Referenced by delete(), insert(), save(), ilAssQuestionHintTracking\storeRequest(), ilAssQuestionPreviewHintTracking\storeRequest(), and update().

+ Here is the caller graph for this function:

◆ getIndex()

ilAssQuestionHint::getIndex ( )

returns the ordering index of hint

@access public

Returns
integer $index

Definition at line 119 of file class.ilAssQuestionHint.php.

120 {
121 return $this->index;
122 }

References $index.

Referenced by insert(), and update().

+ Here is the caller graph for this function:

◆ getInstanceById()

static ilAssQuestionHint::getInstanceById (   $hintId)
static

creates a hint object instance, loads the persisted hint dataset identified by passed hint id from database and assigns it as object state

@access public

Parameters
integer$hintId
Returns
self $hintInstance

Definition at line 362 of file class.ilAssQuestionHint.php.

363 {
364 $questionHint = new self();
365 $questionHint->load($hintId);
366 return $questionHint;
367 }

Referenced by ilAssQuestionHintTracking\getNextRequestableHint(), ilAssQuestionPreviewHintTracking\getNextRequestableHint(), ilAssQuestionHintsGUI\initHintOrderingClipboardNotification(), ilAssQuestionHintsGUI\pasteFromOrderingClipboardAfterCmd(), ilAssQuestionHintsGUI\pasteFromOrderingClipboardBeforeCmd(), ilAssQuestionHintRequestGUI\showHintCmd(), and ilAssQuestionHintsGUI\showHintCmd().

+ Here is the caller graph for this function:

◆ getPageObjectType()

ilAssQuestionHint::getPageObjectType ( )

Definition at line 369 of file class.ilAssQuestionHint.php.

370 {
372 }

References PAGE_OBJECT_TYPE.

◆ getPoints()

ilAssQuestionHint::getPoints ( )

returns the points to ground-off for this hint

@access public

Returns
integer $points

Definition at line 141 of file class.ilAssQuestionHint.php.

142 {
143 return $this->points;
144 }

References $points.

Referenced by insert(), and update().

+ Here is the caller graph for this function:

◆ getQuestionId()

ilAssQuestionHint::getQuestionId ( )

returns the question id the hint currently relates to

@access public

Returns
integer $questionId

Definition at line 97 of file class.ilAssQuestionHint.php.

References $questionId.

Referenced by insert(), and update().

+ Here is the caller graph for this function:

◆ getText()

ilAssQuestionHint::getText ( )

returns the hint text

@access public

Returns
string $text

Definition at line 163 of file class.ilAssQuestionHint.php.

164 {
165 return $this->text;
166 }

References $text.

Referenced by insert(), and update().

+ Here is the caller graph for this function:

◆ insert()

ilAssQuestionHint::insert ( )
private

persists the current object state to database by inserting a new dataset with a new hint id fetched from primary key sequence

@access private @global ilDBInterface $ilDB

Returns
boolean $success

Definition at line 275 of file class.ilAssQuestionHint.php.

276 {
277 global $DIC;
278 $ilDB = $DIC['ilDB'];
279
280 $this->setId($ilDB->nextId('qpl_hints'));
281
282 return $ilDB->insert('qpl_hints', array(
283 'qht_hint_id' => array('integer', $this->getId()),
284 'qht_question_fi' => array('integer', $this->getQuestionId()),
285 'qht_hint_index' => array('integer', $this->getIndex()),
286 'qht_hint_points' => array('float', $this->getPoints()),
287 'qht_hint_text' => array('clob', $this->getText())
288 ));
289 }
getPoints()
returns the points to ground-off for this hint
getText()
returns the hint text
getQuestionId()
returns the question id the hint currently relates to
setId($id)
sets the passed hint id
getIndex()
returns the ordering index of hint

References $DIC, $ilDB, getId(), getIndex(), getPoints(), getQuestionId(), getText(), and setId().

Referenced by save().

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

◆ load()

ilAssQuestionHint::load (   $id)

loads the hint dataset with passed id from database and assigns it the to this hint object instance

@access public @global ilDBInterface $ilDB

Parameters
integer$id
Returns
boolean $success

Definition at line 190 of file class.ilAssQuestionHint.php.

191 {
192 global $DIC;
193 $ilDB = $DIC['ilDB'];
194
195 $query = "
196 SELECT qht_hint_id,
197 qht_question_fi,
198 qht_hint_index,
199 qht_hint_points,
200 qht_hint_text
201
202 FROM qpl_hints
203
204 WHERE qht_hint_id = %s
205 ";
206
207 $res = $ilDB->queryF(
208 $query,
209 array('integer'),
210 array((int) $id)
211 );
212
213 while ($row = $ilDB->fetchAssoc($res)) {
214 self::assignDbRow($this, $row);
215
216 return true;
217 }
218
219 return false;
220 }
static assignDbRow(self $questionHint, $hintDbRow)
assigns the field elements of passed hint db row array to the corresponding hint object properties of...
foreach($_POST as $key=> $value) $res

References $DIC, $id, $ilDB, $query, $res, and assignDbRow().

+ Here is the call graph for this function:

◆ save()

ilAssQuestionHint::save ( )

saves the current hint object state to database.

it performs an insert or update, depending on the current initialisation of the hint id property

a valid initialised id leads to an update, a non or invalid initialised id leads to an insert

@access public

Returns
boolean $success

Definition at line 231 of file class.ilAssQuestionHint.php.

232 {
233 if ($this->getId()) {
234 return $this->update();
235 } else {
236 return $this->insert();
237 }
238 }
update()
persists the current object state to database by updating an existing dataset identified by hint id
insert()
persists the current object state to database by inserting a new dataset with a new hint id fetched f...

References getId(), insert(), and update().

+ Here is the call graph for this function:

◆ setId()

ilAssQuestionHint::setId (   $id)

sets the passed hint id

@access public

Parameters
integer$id

Definition at line 86 of file class.ilAssQuestionHint.php.

87 {
88 $this->id = (int) $id;
89 }

References $id.

Referenced by insert().

+ Here is the caller graph for this function:

◆ setIndex()

ilAssQuestionHint::setIndex (   $index)

sets the passed hint ordering index

@access public

Parameters
integer$index

Definition at line 130 of file class.ilAssQuestionHint.php.

131 {
132 $this->index = (int) $index;
133 }

References $index.

◆ setPoints()

ilAssQuestionHint::setPoints (   $points)

sets the passed points to ground-off for this hint

@access public

Parameters
integer$points

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

153 {
154 $this->points = (float) $points;
155 }

References $points.

◆ setQuestionId()

ilAssQuestionHint::setQuestionId (   $questionId)

sets the passed question id so hint relates to it

@access public

Parameters
integer$questionId

Definition at line 108 of file class.ilAssQuestionHint.php.

109 {
110 $this->questionId = (int) $questionId;
111 }

References $questionId.

◆ setText()

ilAssQuestionHint::setText (   $text)

sets the passed hint text

@access public

Parameters
string$text

Definition at line 174 of file class.ilAssQuestionHint.php.

175 {
176 if ($text !== null) {
177 $this->text = $this->getHtmlQuestionContentPurifier()->purify($text);
178 }
179 }

References $text, and getHtmlQuestionContentPurifier().

+ Here is the call graph for this function:

◆ update()

ilAssQuestionHint::update ( )
private

persists the current object state to database by updating an existing dataset identified by hint id

@access private @global ilDBInterface $ilDB

Returns
boolean $success

Definition at line 248 of file class.ilAssQuestionHint.php.

249 {
250 global $DIC;
251 $ilDB = $DIC['ilDB'];
252
253 return $ilDB->update(
254 'qpl_hints',
255 array(
256 'qht_question_fi' => array('integer', $this->getQuestionId()),
257 'qht_hint_index' => array('integer', $this->getIndex()),
258 'qht_hint_points' => array('float', $this->getPoints()),
259 'qht_hint_text' => array('clob', $this->getText())
260 ),
261 array(
262 'qht_hint_id' => array('integer', $this->getId())
263 )
264 );
265 }

References $DIC, $ilDB, getId(), getIndex(), getPoints(), getQuestionId(), and getText().

Referenced by save().

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

Field Documentation

◆ $id

ilAssQuestionHint::$id = null
private

Definition at line 24 of file class.ilAssQuestionHint.php.

Referenced by getId(), load(), and setId().

◆ $index

ilAssQuestionHint::$index = null
private

Definition at line 41 of file class.ilAssQuestionHint.php.

Referenced by getIndex(), and setIndex().

◆ $points

ilAssQuestionHint::$points = null
private

Definition at line 50 of file class.ilAssQuestionHint.php.

Referenced by getPoints(), and setPoints().

◆ $questionId

ilAssQuestionHint::$questionId = null
private

Definition at line 32 of file class.ilAssQuestionHint.php.

Referenced by getQuestionId(), and setQuestionId().

◆ $text

ilAssQuestionHint::$text = null
private

Definition at line 58 of file class.ilAssQuestionHint.php.

Referenced by getText(), and setText().

◆ PAGE_OBJECT_TYPE

const ilAssQuestionHint::PAGE_OBJECT_TYPE = 'qht'

Definition at line 16 of file class.ilAssQuestionHint.php.

Referenced by getPageObjectType().


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