本文整理汇总了PHP中question_engine::is_behaviour_archetypal方法的典型用法代码示例。如果您正苦于以下问题:PHP question_engine::is_behaviour_archetypal方法的具体用法?PHP question_engine::is_behaviour_archetypal怎么用?PHP question_engine::is_behaviour_archetypal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类question_engine
的用法示例。
在下文中一共展示了question_engine::is_behaviour_archetypal方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: require_capability
$systemcontext = context_system::instance();
require_capability('moodle/question:config', $systemcontext);
admin_externalpage_setup('manageqbehaviours');
$thispageurl = new moodle_url('/admin/qbehaviours.php');
$behaviours = get_plugin_list('qbehaviour');
$pluginmanager = plugin_manager::instance();
// Get some data we will need - question counts and which types are needed.
$counts = $DB->get_records_sql_menu("\n SELECT behaviour, COUNT(1)\n FROM {question_attempts} GROUP BY behaviour");
$needed = array();
$archetypal = array();
foreach ($behaviours as $behaviour => $notused) {
if (!array_key_exists($behaviour, $counts)) {
$counts[$behaviour] = 0;
}
$needed[$behaviour] = $counts[$behaviour] > 0 || $pluginmanager->other_plugins_that_require('qbehaviour_' . $behaviour);
$archetypal[$behaviour] = question_engine::is_behaviour_archetypal($behaviour);
}
foreach ($counts as $behaviour => $count) {
if (!array_key_exists($behaviour, $behaviours)) {
$counts['missing'] += $count;
}
}
$needed['missing'] = true;
// Work of the correct sort order.
$config = get_config('question');
$sortedbehaviours = array();
foreach ($behaviours as $behaviour => $notused) {
$sortedbehaviours[$behaviour] = question_engine::get_behaviour_name($behaviour);
}
if (!empty($config->behavioursortorder)) {
$sortedbehaviours = question_engine::sort_behaviours($sortedbehaviours, $config->behavioursortorder, '');
示例2: action
function action($state)
{
$behaviours = get_plugin_list('qbehaviour');
$pm = plugin_manager::instance();
$sql = "\n SELECT\n behaviour,\n COUNT(1)\n FROM \n {question_attempts}\n GROUP BY\n behaviour\n ";
$counts = $DB->get_records_sql_menu($sql);
$needed = array();
$archetypal = array();
foreach ($behaviours as $behaviour => $foobar) {
if (!array_key_exists($behaviour, $counts)) {
$counts[$behaviour] = 0;
}
$needed[$behaviour] = $counts[$behaviour] > 0 || $pm->other_plugins_that_require('qbehaviour_' . $behaviour);
$archetypal[$behaviour] = question_engine::is_behaviour_archetypal($behaviour);
}
$config = get_config('question');
if (!empty($config->disabledbehaviours)) {
$disabledbehaviours = explode(',', $config->disabledbehaviours);
} else {
$disabledbehaviours = array();
}
if (!isset($behaviours[$this->plugin])) {
return get_string('unknownbehaviour', 'question', $this->plugin);
}
switch ($action) {
case 'enable':
if (!$archetypal[$this->plugin]) {
return get_string('cannotenablebehaviour', 'question', $this->plugin);
}
if (($key = array_search($this->plugin, $disabledbehaviours)) !== false) {
unset($disabledbehaviours[$key]);
set_config('disabledbehaviours', implode(',', $disabledbehaviours), 'question');
}
break;
case 'disable':
if (array_search($disable, $disabledbehaviours) === false) {
$disabledbehaviours[] = $disable;
set_config('disabledbehaviours', implode(',', $disabledbehaviours), 'question');
}
break;
}
return 0;
}