public static function get_modules_from_sectionid($sectionid) {
        global $DB;

        // Get the course and sequence of the section
        $secrec = $DB->get_record('course_sections', array('id' => $sectionid), 'course, sequence');
        $courseid = $secrec->course;
        $sequence = $secrec->sequence;

        // Get the section->sequence contents (it roots the activities order)
        // Get all course modules belonging to requested section
        $modulesarr = array();
        $modules = $DB->get_records_sql("
            SELECT cm.id, m.name AS modname
              FROM {course_modules} cm
              JOIN {modules} m ON m.id = cm.module
             WHERE cm.course = ?
               AND cm.section = ?
               AND cm.deletioninprogress <> 1", array($courseid, $sectionid));
        foreach (explode(',', $sequence) as $moduleid) {
            if (isset($modules[$moduleid])) {
                $module = array('id' => $modules[$moduleid]->id, 'modname' => $modules[$moduleid]->modname);
                $modulesarr[] = (object)$module;
                unset($modules[$moduleid]);
            }
        }
        if (!empty($modules)) { // This shouldn't happen, but one borked sequence can lead to it. Add the rest
            foreach ($modules as $module) {
                $module = array('id' => $module->id, 'modname' => $module->modname);
                $modulesarr[] = (object)$module;
            }
        }
        return $modulesarr;
    }
public static function get_modules_from_sectionid($sectionid) {
        global $DB;

        // Get the course and sequence of the section
        $secrec = $DB->get_record('course_sections', array('id' => $sectionid), 'course, sequence');
        $courseid = $secrec->course;
        $sequence = $secrec->sequence;

        // Get the section->sequence contents (it roots the activities order)
        // Get all course modules belonging to requested section
        $modulesarr = array();
        $modules = $DB->get_records_sql("
            SELECT cm.id, m.name AS modname
              FROM {course_modules} cm
              JOIN {modules} m ON m.id = cm.module
             WHERE cm.course = ?
               AND cm.section = ?
               AND cm.deletioninprogress <> 1", array($courseid, $sectionid));
        foreach (explode(',', $sequence) as $moduleid) {
            if (isset($modules[$moduleid])) {
                $module = array('id' => $modules[$moduleid]->id, 'modname' => $modules[$moduleid]->modname);
                $modulesarr[] = (object)$module;
                unset($modules[$moduleid]);
            }
        }
        if (!empty($modules)) { // This shouldn't happen, but one borked sequence can lead to it. Add the rest
            foreach ($modules as $module) {
                $module = array('id' => $module->id, 'modname' => $module->modname);
                $modulesarr[] = (object)$module;
            }
        }
        return $modulesarr;
    }
public static function get_modules_from_sectionid ( $ sectionid ) { global $ DB ; // Get the course and sequence of the section $ secrec = $ DB -> get_record ( 'course_sections' , array ( 'id' => $ sectionid ) , 'course, sequence' ) ; $ courseid = $ secrec -> course ; $ sequence = $ secrec -> sequence ; // Get the section->sequence contents (it roots the activities order) // Get all course modules belonging to requested section $ modulesarr = array ( ) ; $ modules = $ DB -> get_records_sql ( "
            SELECT cm.id, m.name AS modname
              FROM {course_modules} cm
              JOIN {modules} m ON m.id = cm.module
             WHERE cm.course = ?
               AND cm.section = ?
               AND cm.deletioninprogress <> 1" , array ( $ courseid , $ sectionid ) ) ; foreach ( explode ( ',' , $ sequence ) as $ moduleid ) { if ( isset ( $ modules [ $ moduleid ] ) ) { $ module = array ( 'id' => $ modules [ $ moduleid ] -> id , 'modname' => $ modules [ $ moduleid ] -> modname ) ; $ modulesarr [ ] = ( object ) $ module ; unset ( $ modules [ $ moduleid ] ) ; } } if ( ! empty ( $ modules ) ) { // This shouldn't happen, but one borked sequence can lead to it. Add the rest foreach ( $ modules as $ module ) { $ module = array ( 'id' => $ module -> id , 'modname' => $ module -> modname ) ; $ modulesarr [ ] = ( object ) $ module ; } } return $ modulesarr ; }
Given one section id, return one array with all the course modules that belong to it
Given one section id return one array with all the course modules that belong to it