当前位置: 首页>>代码示例>>PHP>>正文


PHP question_engine::can_questions_finish_during_the_attempt方法代码示例

本文整理汇总了PHP中question_engine::can_questions_finish_during_the_attempt方法的典型用法代码示例。如果您正苦于以下问题:PHP question_engine::can_questions_finish_during_the_attempt方法的具体用法?PHP question_engine::can_questions_finish_during_the_attempt怎么用?PHP question_engine::can_questions_finish_during_the_attempt使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在question_engine的用法示例。


在下文中一共展示了question_engine::can_questions_finish_during_the_attempt方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: test_can_questions_finish_during_the_attempt

 public function test_can_questions_finish_during_the_attempt()
 {
     $this->assertFalse(question_engine::can_questions_finish_during_the_attempt('deferredfeedback'));
     $this->assertTrue(question_engine::can_questions_finish_during_the_attempt('interactive'));
 }
开发者ID:alanaipe2015,项目名称:moodle,代码行数:5,代码来源:questionengine_test.php

示例2: can_finish_during_the_attempt

 /**
  * Whether it is possible for another question to depend on this one finishing.
  * Note that the answer is not exact, because of random questions, and sometimes
  * questions cannot be depended upon because of quiz options.
  * @param int $slotnumber the index of the slot in question.
  * @return bool can this question finish naturally during the attempt?
  */
 public function can_finish_during_the_attempt($slotnumber)
 {
     if ($this->quizobj->get_navigation_method() == QUIZ_NAVMETHOD_SEQ) {
         return false;
     }
     if ($this->slotsinorder[$slotnumber]->section->shufflequestions) {
         return false;
     }
     if ($this->get_question_type_for_slot($slotnumber) == 'random') {
         return \question_engine::can_questions_finish_during_the_attempt($this->quizobj->get_quiz()->preferredbehaviour);
     }
     if (isset($this->slotsinorder[$slotnumber]->canfinish)) {
         return $this->slotsinorder[$slotnumber]->canfinish;
     }
     $quba = \question_engine::make_questions_usage_by_activity('mod_quiz', $this->quizobj->get_context());
     $tempslot = $quba->add_question(\question_bank::load_question($this->slotsinorder[$slotnumber]->questionid));
     $quba->set_preferred_behaviour($this->quizobj->get_quiz()->preferredbehaviour);
     $quba->start_all_questions();
     $this->slotsinorder[$slotnumber]->canfinish = $quba->can_question_finish_during_attempt($tempslot);
     return $this->slotsinorder[$slotnumber]->canfinish;
 }
开发者ID:alanaipe2015,项目名称:moodle,代码行数:28,代码来源:structure.php

示例3: definition


//.........这里部分代码省略.........
     }
     $mform->addGroup($pagegroup, 'questionsperpagegrp', get_string('newpage', 'quiz'), null, false);
     $mform->addHelpButton('questionsperpagegrp', 'newpage', 'quiz');
     $mform->setAdvanced('questionsperpagegrp', $quizconfig->questionsperpage_adv);
     // Navigation method.
     $mform->addElement('select', 'navmethod', get_string('navmethod', 'quiz'), quiz_get_navigation_options());
     $mform->addHelpButton('navmethod', 'navmethod', 'quiz');
     $mform->setAdvanced('navmethod', $quizconfig->navmethod_adv);
     $mform->setDefault('navmethod', $quizconfig->navmethod);
     // -------------------------------------------------------------------------------
     $mform->addElement('header', 'interactionhdr', get_string('questionbehaviour', 'quiz'));
     // Shuffle within questions.
     $mform->addElement('selectyesno', 'shuffleanswers', get_string('shufflewithin', 'quiz'));
     $mform->addHelpButton('shuffleanswers', 'shufflewithin', 'quiz');
     $mform->setAdvanced('shuffleanswers', $quizconfig->shuffleanswers_adv);
     $mform->setDefault('shuffleanswers', $quizconfig->shuffleanswers);
     // How questions behave (question behaviour).
     if (!empty($this->current->preferredbehaviour)) {
         $currentbehaviour = $this->current->preferredbehaviour;
     } else {
         $currentbehaviour = '';
     }
     $behaviours = question_engine::get_behaviour_options($currentbehaviour);
     $mform->addElement('select', 'preferredbehaviour', get_string('howquestionsbehave', 'question'), $behaviours);
     $mform->addHelpButton('preferredbehaviour', 'howquestionsbehave', 'question');
     $mform->setDefault('preferredbehaviour', $quizconfig->preferredbehaviour);
     // Can redo completed questions.
     $redochoices = array(0 => get_string('no'), 1 => get_string('canredoquestionsyes', 'quiz'));
     $mform->addElement('select', 'canredoquestions', get_string('canredoquestions', 'quiz'), $redochoices);
     $mform->addHelpButton('canredoquestions', 'canredoquestions', 'quiz');
     $mform->setAdvanced('canredoquestions', $quizconfig->canredoquestions_adv);
     $mform->setDefault('canredoquestions', $quizconfig->canredoquestions);
     foreach ($behaviours as $behaviour => $notused) {
         if (!question_engine::can_questions_finish_during_the_attempt($behaviour)) {
             $mform->disabledIf('canredoquestions', 'preferredbehaviour', 'eq', $behaviour);
         }
     }
     // Each attempt builds on last.
     $mform->addElement('selectyesno', 'attemptonlast', get_string('eachattemptbuildsonthelast', 'quiz'));
     $mform->addHelpButton('attemptonlast', 'eachattemptbuildsonthelast', 'quiz');
     $mform->setAdvanced('attemptonlast', $quizconfig->attemptonlast_adv);
     $mform->setDefault('attemptonlast', $quizconfig->attemptonlast);
     if ($this->get_max_attempts_for_any_override() < 2) {
         $mform->disabledIf('attemptonlast', 'attempts', 'eq', 1);
     }
     // -------------------------------------------------------------------------------
     $mform->addElement('header', 'reviewoptionshdr', get_string('reviewoptionsheading', 'quiz'));
     $mform->addHelpButton('reviewoptionshdr', 'reviewoptionsheading', 'quiz');
     // Review options.
     $this->add_review_options_group($mform, $quizconfig, 'during', mod_quiz_display_options::DURING, true);
     $this->add_review_options_group($mform, $quizconfig, 'immediately', mod_quiz_display_options::IMMEDIATELY_AFTER);
     $this->add_review_options_group($mform, $quizconfig, 'open', mod_quiz_display_options::LATER_WHILE_OPEN);
     $this->add_review_options_group($mform, $quizconfig, 'closed', mod_quiz_display_options::AFTER_CLOSE);
     foreach ($behaviours as $behaviour => $notused) {
         $unusedoptions = question_engine::get_behaviour_unused_display_options($behaviour);
         foreach ($unusedoptions as $unusedoption) {
             $mform->disabledIf($unusedoption . 'during', 'preferredbehaviour', 'eq', $behaviour);
         }
     }
     $mform->disabledIf('attemptduring', 'preferredbehaviour', 'neq', 'wontmatch');
     $mform->disabledIf('overallfeedbackduring', 'preferredbehaviour', 'neq', 'wontmatch');
     // -------------------------------------------------------------------------------
     $mform->addElement('header', 'display', get_string('appearance'));
     // Show user picture.
     $mform->addElement('select', 'showuserpicture', get_string('showuserpicture', 'quiz'), quiz_get_user_image_options());
     $mform->addHelpButton('showuserpicture', 'showuserpicture', 'quiz');
开发者ID:janeklb,项目名称:moodle,代码行数:67,代码来源:mod_form.php

示例4: can_finish_during_the_attempt

 /**
  * Whether it is possible for another question to depend on this one finishing.
  * Note that the answer is not exact, because of random questions, and sometimes
  * questions cannot be depended upon because of quiz options.
  * @param int $slotnumber the index of the slot in question.
  * @return bool can this question finish naturally during the attempt?
  */
 public function can_finish_during_the_attempt($slotnumber)
 {
     if ($this->quizobj->get_navigation_method() == QUIZ_NAVMETHOD_SEQ) {
         return false;
     }
     if ($this->slotsinorder[$slotnumber]->section->shufflequestions) {
         return false;
     }
     if (in_array($this->get_question_type_for_slot($slotnumber), array('random', 'missingtype'))) {
         return \question_engine::can_questions_finish_during_the_attempt($this->quizobj->get_quiz()->preferredbehaviour);
     }
     if (isset($this->slotsinorder[$slotnumber]->canfinish)) {
         return $this->slotsinorder[$slotnumber]->canfinish;
     }
     try {
         $quba = \question_engine::make_questions_usage_by_activity('mod_quiz', $this->quizobj->get_context());
         $tempslot = $quba->add_question(\question_bank::load_question($this->slotsinorder[$slotnumber]->questionid));
         $quba->set_preferred_behaviour($this->quizobj->get_quiz()->preferredbehaviour);
         $quba->start_all_questions();
         $this->slotsinorder[$slotnumber]->canfinish = $quba->can_question_finish_during_attempt($tempslot);
         return $this->slotsinorder[$slotnumber]->canfinish;
     } catch (\Exception $e) {
         // If the question fails to start, this should not block editing.
         return false;
     }
 }
开发者ID:evltuma,项目名称:moodle,代码行数:33,代码来源:structure.php


注:本文中的question_engine::can_questions_finish_during_the_attempt方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。