`
天梯梦
  • 浏览: 13748002 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

Moodle: 登记学生,检测学生是否存在在课程 Check if user is enrolled or enroll a user in course

 
阅读更多

1. 检测学生是否存在课程中 Check if user is enrolled in specific Moodle course

require_once('../config.php');

global $USER;

// 获取当前课程信息
$course_id = $_GET['id'];
$course = $DB->get_record('course', array('id' => $course_id), '*', MUST_EXIST);

//echo '<pre>'; print_r($course); echo '</pre>';

// 获取该课程所有学员
$context  = get_context_instance(CONTEXT_COURSE, $course_id);
$students = get_role_users(5, $context); // 5 is student role

echo '<pre>'; 
	print_r($context); 
	echo count($students); echo '<br>'; 
	print_r($students); 
echo '</pre>';

// 获取当前用户是否在该课程中
$context = get_context_instance(CONTEXT_COURSE, $course_id, MUST_EXIST);
$enrolled = is_enrolled($context, $USER->id, '', true);
echo $enrolled ? 'yes' : 'no';

 

来源:http://stackoverflow.com/questions/8391529/check-if-user-is-enrolled-in-specific-moodle-course

 

2. 添加学员到课程中 how to enroll a user in all courses on Moodle

require_once('../config.php');

global $USER;

// enroll student to course (roleid = 5 is student role)
function enroll_to_course($courseid, $userid, $roleid=5, $extendbase=3, $extendperiod=0)  
{
    global $DB;

    $instance = $DB->get_record('enrol', array('courseid'=>$courseid, 'enrol'=>'manual'), '*', MUST_EXIST);
    $course = $DB->get_record('course', array('id'=>$instance->courseid), '*', MUST_EXIST);
    $today = time();
    $today = make_timestamp(date('Y', $today), date('m', $today), date('d', $today), 0, 0, 0);

    if(!$enrol_manual = enrol_get_plugin('manual')) { throw new coding_exception('Can not instantiate enrol_manual'); }
	
    switch($extendbase) 
    {
        case 2:
            $timestart = $course->startdate;
            break;
        case 3:
        default:
            $timestart = $today;
            break;
    }  
    if ($extendperiod <= 0) { $timeend = 0; }   // extendperiod are seconds
    else { $timeend = $timestart + $extendperiod; }
    $enrolled = $enrol_manual->enrol_user($instance, $userid, $roleid, $timestart, $timeend);
    add_to_log($course->id, 'course', 'enrol', '../enrol/users.php?id='.$course->id, $course->id);

    return $enrolled;
}

 

来源:http://stackoverflow.com/questions/16012157/how-to-enroll-a-user-in-all-courses-on-moodle

参考:http://stackoverflow.com/questions/11572189/moodle-automating-user-course-creation-and-enrolments

 

分享到:
评论

相关推荐

    Moodle课程入门

    第3课:如何在Moodle中开设自己的课程; 第4课:教师如何对选课的学生进行分组; 第5课:教师如何给自己的课程添加教师; 第6课:如何在Moodle中设计文本页; 第7课:如何在Moodle中设计网页; 第8课:如何在Moodle中设计...

    Moodle: 如何修改moodle——theme主题皮肤

    Moodle是一款开源的在线学习管理系统,它为教育者和学习者提供了一个互动性强、功能丰富的平台。在Moodle中,主题(Theme)是决定网站视觉风格的关键元素,它包括颜色、布局、字体等元素,可以按照用户的喜好或教育...

    moodle操作说明书

    本资源摘要信息是关于使用Moodle课程管理系统的操作说明书,旨在帮助教师快速掌握Moodle的使用方法,从课程设置到教学管理,涵盖了课程大纲的发布、教学计划的制定、教学资料的管理、学生学习材料的提供、作业的布置...

    moodle 课程系统管理

    Moodle 是一个开源的在线学习管理系统,专为教育者和学习者设计,提供丰富的教学与学习工具。本节将深入探讨Moodle课程系统的管理,包括其主要功能和操作步骤。 1. **编辑模式**:管理员或教师可以开启或关闭编辑...

    Moodle课程管理系统 v3.1.3 .zip

    Moodle课程管理系统简介 Moodle是一个开源课程管理系统,也被称为学习管理系统(LMS)或虚拟学习环境(VLE)。它已成为深受世界各地教育工作者喜爱的一种为学生建立网上动态网站的工具。 Moodle更新日志: 功能...

    moodle 网上课程 外文资料

    Moodle 是一款开源的课程管理系统(CMS),也被称作学习管理系统(LMS)或虚拟学习环境(VLE)。在全球教育者中,它已变得非常流行,作为一种为学生创建在线动态网站的工具。为了运行,Moodle 需要在某个网络服务器...

    Moodle 2.5 Multimedia Cookbook, 2nd Edition

    Moodle is an open source virtual learning environment that is widely used in schools and businesses, specifically multimedia elements to enhance the user experience. Moodle 2.5 Multimedia Cookbook ...

    如何在Moodle课程中设计测验

    ### 如何在Moodle课程中设计测验 #### 一、理解Moodle及测验功能的重要性 Moodle是一个广泛使用的开源学习管理系统(LMS),它为教育者提供了一个灵活且强大的平台来创建个性化的在线学习环境。对于教师来说,利用...

    MOODLE:建构主义的网络课程管理系统

    本文主要介绍了一个基于建构主义学习理论的网络课程管 理系统(学习管理系统)的特点、架构与功能,为课程管 理系统的设计、开发与应用提供借鉴。

    moodle课程奖品插件

    Moodle课程奖品插件是一款专为Moodle学习管理系统设计的扩展工具,旨在增强课程互动性和学生参与度。这款插件包含两个区块(Blocks)和一个报告功能,为教师提供了一种创新的方式,以便在课程结束时轻松获取学生的...

    Moodle课程设计

    资源名称:Moodle课程设计 内容简介: 《MOODLE课程设计》内容简介:Moodle是Modular Object-Oriented Dynamic Learning Environment(模块化面向对象的动态学习环境)的缩写,它是一个课程管理系统(CMS),基于...

    moodle平台课程的建立

    ### Moodle平台课程的建立 #### 一、Moodle平台简介 Moodle是一个广泛使用的开源学习管理系统(LMS),被教育机构、企业和政府组织用于创建高度交互式的在线学习环境。通过Moodle,教师能够轻松地组织课程内容、...

    基于Moodle平台的网络课程建设

    【基于Moodle平台的网络课程建设】是一种在线教育技术,旨在提供灵活且高效的教学环境。Moodle是一个开源的课程管理系统,允许教师构建和管理在线课程,涵盖了从基础教育到高等教育和职业培训的各种教学需求。 在...

    moodle数据库表结构

    - `mdl_course`与`mdl_user`通过`teacher`和`students`字段关联,记录课程的教师和学生。 - `mdl_role`与`mdl_context`通过`contextid`和`roleid`在`mdl_context_roles`表中建立关联,定义在特定上下文中的角色...

    如何在 Moodle 中构建你的课程

    ### 如何在Moodle中构建你的课程 #### 一、概览 Moodle是一款非常流行的开源学习管理系统(Learning Management System,LMS),被广泛应用于学校、企业和非营利组织中,用于创建在线学习环境。本教程将详细介绍...

    Moodle

    Moodle的灵活性使得教育者可以根据学生的需求定制课程,同时,其丰富的插件生态系统进一步增强了平台的功能性,包括但不限于论坛、测验、数据库、作业提交等。对于学习者而言,Moodle提供了一个集中的资源库,便于...

    Moodle课程管理系统 3.9.2+

    Moodle是一个用于制作网络课程或网站的软件包,它是一个全球性的开发项目,用以支持社会建构主义(social constructionist)的教育框架。 Moodle 3.9.2+ 更新日志:2020-10-28 MDL-69995备份:在活动图标前填充; MDL-...

    Ieducar Moodle:加入 Moodle 的 Ieducar 学生名单-开源

    【Ieducar Moodle 整合】:在教育领域,Ieducar 和 Moodle 是两个重要的工具。Ieducar 是一个专为巴西设计的免费学校管理软件,涵盖了学生信息管理、课程安排等多个方面。而 Moodle 则是一款全球广泛使用的开源在线...

Global site tag (gtag.js) - Google Analytics