本文整理汇总了PHP中question_usage_by_activity::set_preferred_behaviour方法的典型用法代码示例。如果您正苦于以下问题:PHP question_usage_by_activity::set_preferred_behaviour方法的具体用法?PHP question_usage_by_activity::set_preferred_behaviour怎么用?PHP question_usage_by_activity::set_preferred_behaviour使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类question_usage_by_activity
的用法示例。
在下文中一共展示了question_usage_by_activity::set_preferred_behaviour方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
/**
* Construct the class. if a dbattempt object is passed in set it, otherwise initialize empty class
*
* @param questionmanager $questionmanager
* @param \stdClass
* @param \context_module $context
*/
public function __construct($questionmanager, $dbattempt = null, $context = null)
{
$this->questionmanager = $questionmanager;
$this->context = $context;
// if empty create new attempt
if (empty($dbattempt)) {
$this->attempt = new \stdClass();
// create a new quba since we're creating a new attempt
$this->quba = \question_engine::make_questions_usage_by_activity('mod_activequiz', $this->questionmanager->getRTQ()->getContext());
$this->quba->set_preferred_behaviour('immediatefeedback');
$attemptlayout = $this->questionmanager->add_questions_to_quba($this->quba);
// add the attempt layout to this instance
$this->attempt->qubalayout = implode(',', $attemptlayout);
} else {
// else load it up in this class instance
$this->attempt = $dbattempt;
$this->quba = \question_engine::load_questions_usage_by_activity($this->attempt->questionengid);
}
}
示例2: start_attempt_at_question
protected function start_attempt_at_question($question, $preferredbehaviour, $maxmark = null, $variant = 1)
{
$this->quba->set_preferred_behaviour($preferredbehaviour);
$this->slot = $this->quba->add_question($question, $maxmark);
$this->quba->start_question($this->slot, $variant);
}
示例3: load_from_records
/**
* Create a question_usage_by_activity from records loaded from the database.
*
* For internal use only.
*
* @param Iterator $records Raw records loaded from the database.
* @param int $questionattemptid The id of the question_attempt to extract.
* @return question_usage_by_activity The newly constructed usage.
*/
public static function load_from_records($records, $qubaid) {
$record = $records->current();
while ($record->qubaid != $qubaid) {
$records->next();
if (!$records->valid()) {
throw new coding_exception("Question usage $qubaid not found in the database.");
}
$record = $records->current();
}
$quba = new question_usage_by_activity($record->component,
context::instance_by_id($record->contextid, IGNORE_MISSING));
$quba->set_id_from_database($record->qubaid);
$quba->set_preferred_behaviour($record->preferredbehaviour);
$quba->observer = new question_engine_unit_of_work($quba);
// If slot is null then the current pointer in $records will not be
// advanced in the while loop below, and we get stuck in an infinite loop,
// since this method is supposed to always consume at least one record.
// Therefore, in this case, advance the record here.
if (is_null($record->slot)) {
$records->next();
}
while ($record && $record->qubaid == $qubaid && !is_null($record->slot)) {
$quba->questionattempts[$record->slot] =
question_attempt::load_from_records($records,
$record->questionattemptid, $quba->observer,
$quba->get_preferred_behaviour());
if ($records->valid()) {
$record = $records->current();
} else {
$record = false;
}
}
return $quba;
}
示例4: load_from_records
/**
* Create a question_usage_by_activity from records loaded from the database.
*
* For internal use only.
*
* @param Iterator $records Raw records loaded from the database.
* @param int $questionattemptid The id of the question_attempt to extract.
* @return question_usage_by_activity The newly constructed usage.
*/
public static function load_from_records($records, $qubaid) {
$record = $records->current();
while ($record->qubaid != $qubaid) {
$records->next();
if (!$records->valid()) {
throw new coding_exception("Question usage $qubaid not found in the database.");
}
$record = $records->current();
}
$quba = new question_usage_by_activity($record->component,
get_context_instance_by_id($record->contextid));
$quba->set_id_from_database($record->qubaid);
$quba->set_preferred_behaviour($record->preferredbehaviour);
$quba->observer = new question_engine_unit_of_work($quba);
while ($record && $record->qubaid == $qubaid && !is_null($record->slot)) {
$quba->questionattempts[$record->slot] =
question_attempt::load_from_records($records,
$record->questionattemptid, $quba->observer,
$quba->get_preferred_behaviour());
if ($records->valid()) {
$record = $records->current();
} else {
$record = false;
}
}
return $quba;
}