Пример #1
0
function local_gas_extends_navigation(global_navigation $navigation)
{
    global $DB, $USER, $COURSE, $SESSION;
    $prconfig = $DB->count_records('config_plugins', array('plugin' => 'local_gas'));
    if ($prconfig > 0 && G\isuservalid($USER->id)) {
        $node = $navigation->find('local_gas', navigation_node::TYPE_CONTAINER);
        if (!$node) {
            $node = $navigation->add(get_string('pluginname', 'local_gas'), null, navigation_node::TYPE_CONTAINER, get_string('pluginname', 'local_gas'), 'local_gas');
        }
        $node->add(get_string('generalInfo', 'local_gas'), new moodle_url('/local/gas/index.php'), null, null, "generalInfo");
        if (G\isstudent($USER->id)) {
            $node->add(get_string('assessment', 'local_gas'), new moodle_url('/local/gas/student.php'), null, null, "assessment");
        }
        if (G\isteacher($USER->id)) {
            $node->add(get_string('courseAssessment', 'local_gas'), new moodle_url('/local/gas/teacherassessment.php'), null, null, "courseAssessment");
            $node->add(get_string('courseAssessmentReport', 'local_gas'), new moodle_url('/local/gas/coursereport.php'), null, null, "courseAssessmentReport");
        }
        if (has_capability('local/gas:administrator', context_course::instance($COURSE->id))) {
            $node->add(get_string('attributeManagement', 'local_gas'), new moodle_url('/local/gas/attributemanagement.php'), null, null, "attributeManagement");
        }
    }
}
Пример #2
0
 public function test_load_generic_course_sections() {
     $coursenode = $this->node->find('5', navigation_node::TYPE_COURSE);
     $course = new stdClass;
     $course->id = '5';
     $course->numsections = 10;
     $course->modinfo = $this->modinfo5;
     $this->node->load_generic_course_sections($course, $coursenode, 'topic', 'topic');
     $this->assertEqual($coursenode->children->count(),1);
 }
Пример #3
0
 public function test_load_section_activities()
 {
     $node = $this->node->find('5', navigation_node::TYPE_COURSE);
     $course = new stdClass();
     $course->id = '5';
     $course->numsections = 10;
     $section = $node->add('Test Section 1', null, navigation_node::TYPE_SECTION, null, $this->cache->coursesections5[1]->id);
     $modinfo = $this->cache->modinfo5;
     $modinfo->sections[1] = array(289, 290);
     $modinfo->cms[289] = clone $modinfo->cms[288];
     $modinfo->cms[289]->id = 289;
     $modinfo->cms[289]->sectionnum = 1;
     $modinfo->cms[290]->modname = 'forum';
     $modinfo->cms[289]->instance = 20;
     $modinfo->cms[290] = clone $modinfo->cms[288];
     $modinfo->cms[290]->id = 290;
     $modinfo->cms[290]->modname = 'resource';
     $modinfo->cms[290]->sectionnum = 1;
     $modinfo->cms[290]->instance = 21;
     $modinfo->instances['forum'][20] = clone $modinfo->instances['forum'][19];
     $modinfo->instances['forum'][20]->id = 20;
     $modinfo->instances['resource'] = array();
     $modinfo->instances['resource'][21] = clone $modinfo->instances['forum'][19];
     $modinfo->instances['resource'][21]->id = 21;
     $this->cache->modinfo5 = $modinfo;
     $course->modinfo = serialize($modinfo);
     $activities = $this->node->exposed_load_section_activities($section, 1, $modinfo);
     foreach ($activities as $activity) {
         if ($this->assertIsA($activity, 'navigation_node')) {
             $this->assertEqual($activity->type, navigation_node::TYPE_ACTIVITY);
             $this->assertReference($activity, $section->get($activity->key));
         }
     }
 }
Пример #4
0
 public function navigation_tree(global_navigation $navigation, $expansionlimit, array $options = array())
 {
     $homenode = $navigation->find('home', navigation_node::TYPE_SETTING);
     //$myhomenode=$navigation->find('myhome', navigation_node::TYPE_SETTING);
     if ($homenode) {
         $homenode->remove();
         $navigation = $homenode->parent;
     }
     //if($myhomenode){
     //            $myhomenode->remove();
     //            $navigation=$myhomenode->parent;
     //        }
     return parent::navigation_tree($navigation, $expansionlimit, $options);
 }