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.

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

public

Parameters
self$questionHint
array$hintDbRow

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

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

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  }
+ 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.

References getId().

298  {
299  return self::deleteById($this->getId());
300  }
getId()
returns the hint id
+ 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

public ilDBInterface $ilDB

Parameters
integer$hintId
Returns
integer $affectedRows

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

References $DIC, $ilDB, and $query.

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

◆ getHintIndexLabel()

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

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

References ilLanguage\txt().

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

375  {
376  return sprintf($lng->txt('tst_question_hints_index_column_label'), $hintIndex);
377  }
txt($a_topic, $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getHtmlQuestionContentPurifier()

ilAssQuestionHint::getHtmlQuestionContentPurifier ( )
protected

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

References ilHtmlPurifierFactory\_getInstanceByType().

Referenced by setText().

381  {
382  return ilHtmlPurifierFactory::_getInstanceByType('qpl_usersolution');
383  }
static _getInstanceByType(string $type)
Factory method for creating purifier instances.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getId()

ilAssQuestionHint::getId ( )

returns the hint id

public

Returns
integer $id

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

References $id.

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

76  {
77  return $this->id;
78  }
+ Here is the caller graph for this function:

◆ getIndex()

ilAssQuestionHint::getIndex ( )

returns the ordering index of hint

public

Returns
integer $index

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

References $index.

Referenced by insert(), and update().

120  {
121  return $this->index;
122  }
+ 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

public

Parameters
integer$hintId
Returns
self $hintInstance

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

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

363  {
364  $questionHint = new self();
365  $questionHint->load($hintId);
366  return $questionHint;
367  }
+ Here is the caller graph for this function:

◆ getPageObjectType()

ilAssQuestionHint::getPageObjectType ( )

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

370  {
371  return self::PAGE_OBJECT_TYPE;
372  }

◆ getPoints()

ilAssQuestionHint::getPoints ( )

returns the points to ground-off for this hint

public

Returns
integer $points

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

References $points.

Referenced by insert(), and update().

142  {
143  return $this->points;
144  }
+ Here is the caller graph for this function:

◆ getQuestionId()

ilAssQuestionHint::getQuestionId ( )

returns the question id the hint currently relates to

public

Returns
integer $questionId

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

References $questionId.

Referenced by insert(), and update().

98  {
99  return $this->questionId;
100  }
+ Here is the caller graph for this function:

◆ getText()

ilAssQuestionHint::getText ( )

returns the hint text

public

Returns
string $text

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

References $text.

Referenced by insert(), and update().

164  {
165  return $this->text;
166  }
+ 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

private ilDBInterface $ilDB

Returns
boolean $success

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

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

Referenced by save().

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  }
setId($id)
sets the passed hint id
getIndex()
returns the ordering index of hint
getQuestionId()
returns the question id the hint currently relates to
getId()
returns the hint id
getPoints()
returns the points to ground-off for this hint
global $ilDB
$DIC
Definition: xapitoken.php:46
getText()
returns the hint text
+ 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

public ilDBInterface $ilDB

Parameters
integer$id
Returns
boolean $success

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

References $DIC, $id, $ilDB, $query, and $res.

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  }
foreach($_POST as $key=> $value) $res
$query
global $ilDB
$DIC
Definition: xapitoken.php:46

◆ 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

public

Returns
boolean $success

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

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

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 ...
getId()
returns the hint id
insert()
persists the current object state to database by inserting a new dataset with a new hint id fetched f...
+ Here is the call graph for this function:

◆ setId()

ilAssQuestionHint::setId (   $id)

sets the passed hint id

public

Parameters
integer$id

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

References $id.

Referenced by insert().

87  {
88  $this->id = (int) $id;
89  }
+ Here is the caller graph for this function:

◆ setIndex()

ilAssQuestionHint::setIndex (   $index)

sets the passed hint ordering index

public

Parameters
integer$index

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

References $index.

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

◆ setPoints()

ilAssQuestionHint::setPoints (   $points)

sets the passed points to ground-off for this hint

public

Parameters
integer$points

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

References $points.

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

◆ setQuestionId()

ilAssQuestionHint::setQuestionId (   $questionId)

sets the passed question id so hint relates to it

public

Parameters
integer$questionId

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

References $questionId.

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

◆ setText()

ilAssQuestionHint::setText (   $text)

sets the passed hint text

public

Parameters
string$text

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

References $text, and getHtmlQuestionContentPurifier().

175  {
176  if ($text !== null) {
177  $this->text = $this->getHtmlQuestionContentPurifier()->purify($text);
178  }
179  }
+ 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

private ilDBInterface $ilDB

Returns
boolean $success

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

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

Referenced by save().

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  }
getIndex()
returns the ordering index of hint
getQuestionId()
returns the question id the hint currently relates to
getId()
returns the hint id
getPoints()
returns the points to ground-off for this hint
global $ilDB
$DIC
Definition: xapitoken.php:46
getText()
returns the hint text
+ 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.


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