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


PHP core_component::get_subplugins方法代码示例

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


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

示例1: reorder_plugin_types

 /**
  * Reorders plugin types into a sequence to be displayed
  *
  * For technical reasons, plugin types returned by {@link core_component::get_plugin_types()} are
  * in a certain order that does not need to fit the expected order for the display.
  * Particularly, activity modules should be displayed first as they represent the
  * real heart of Moodle. They should be followed by other plugin types that are
  * used to build the courses (as that is what one expects from LMS). After that,
  * other supportive plugin types follow.
  *
  * @param array $types associative array
  * @return array same array with altered order of items
  */
 protected function reorder_plugin_types(array $types)
 {
     $fix = array('mod' => $types['mod']);
     foreach (core_component::get_plugin_list('mod') as $plugin => $fulldir) {
         if (!($subtypes = core_component::get_subplugins('mod_' . $plugin))) {
             continue;
         }
         foreach ($subtypes as $subtype => $ignored) {
             $fix[$subtype] = $types[$subtype];
         }
     }
     $fix['mod'] = $types['mod'];
     $fix['block'] = $types['block'];
     $fix['qtype'] = $types['qtype'];
     $fix['qbehaviour'] = $types['qbehaviour'];
     $fix['qformat'] = $types['qformat'];
     $fix['filter'] = $types['filter'];
     $fix['editor'] = $types['editor'];
     foreach (core_component::get_plugin_list('editor') as $plugin => $fulldir) {
         if (!($subtypes = core_component::get_subplugins('editor_' . $plugin))) {
             continue;
         }
         foreach ($subtypes as $subtype => $ignored) {
             $fix[$subtype] = $types[$subtype];
         }
     }
     $fix['enrol'] = $types['enrol'];
     $fix['auth'] = $types['auth'];
     $fix['tool'] = $types['tool'];
     foreach (core_component::get_plugin_list('tool') as $plugin => $fulldir) {
         if (!($subtypes = core_component::get_subplugins('tool_' . $plugin))) {
             continue;
         }
         foreach ($subtypes as $subtype => $ignored) {
             $fix[$subtype] = $types[$subtype];
         }
     }
     foreach ($types as $type => $path) {
         if (!isset($fix[$type])) {
             $fix[$type] = $path;
         }
     }
     return $fix;
 }
开发者ID:bewanyk,项目名称:moodle,代码行数:57,代码来源:plugin_manager.php

示例2: test_get_subplugins

 public function test_get_subplugins()
 {
     global $CFG;
     // Any plugin with more subtypes is ok here.
     $this->assertFileExists("{$CFG->dirroot}/mod/assign/db/subplugins.php");
     $subplugins = core_component::get_subplugins('mod_assign');
     $this->assertSame(array('assignsubmission', 'assignfeedback'), array_keys($subplugins));
     $subs = core_component::get_plugin_list('assignsubmission');
     $feeds = core_component::get_plugin_list('assignfeedback');
     $this->assertSame(array_keys($subs), $subplugins['assignsubmission']);
     $this->assertSame(array_keys($feeds), $subplugins['assignfeedback']);
     // Any plugin without subtypes is ok here.
     $this->assertFileExists("{$CFG->dirroot}/mod/choice");
     $this->assertFileNotExists("{$CFG->dirroot}/mod/choice/db/subplugins.php");
     $this->assertNull(core_component::get_subplugins('mod_choice'));
     $this->assertNull(core_component::get_subplugins('xxxx_yyyy'));
 }
开发者ID:alexandru-elisei,项目名称:moodle,代码行数:17,代码来源:component_test.php


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