`
天梯梦
  • 浏览: 13628857 次
  • 性别: 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课程管理系统 v3.1.3 .zip

    Moodle课程管理系统简介 Moodle是一个开源课程管理系统,也被称为学习管理系统(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课程设计》内容简介:Moodle是Modular Object-Oriented Dynamic Learning Environment(模块化面向对象的动态学习环境)的缩写,它是一个课程管理系统(CMS),基于...

    Moodle课程管理系统 3.9.2+

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

    Moodle课程管理系统及其环境下课程设计与开发的研究

    Moodle课程管理系统及其环境下课程设计与开发的研究,王大勇,李贵春,本文首先分析了Moodle课程管理系统的发展历程和特点,然后从不同角度对Moodle平台进行了客观评价,接下来探讨了Moodle环境下课程设计与

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

    NULL 博文链接:https://justcoding.iteye.com/blog/2004089

    moodle:适用于javaGuru Lessons的moodle

    moodle:适用于javaGuru Lessons的moodle

    moodle 课程系统管理

    moodle 课程系统管理,台湾一位老师整理的.对研究MOODLE的朋友会有帮助

    moodle:Moodle-世界开源学习平台

    moodle:Moodle-世界开源学习平台

    azure-connector_moodle:适用于Moodle的Azure Logic应用连接器

    core_course_get_courses :通过Webservice函数在Moodle实例中获取课程。 可以按课程ID进行过滤。 core_enrol_get_users_courses :获取用户注册的课程。 core_user_create_users :在Moodle中创建新用户。 core...

    如何在 Moodle 中构建你的课程

    如何在 Moodle 中构建你的课程. OSSEZ.COM

    moodle操作说明书

    开源moodle资料说明书,moodle课程构建,课程设置,分组教学等

    如何在Moodle课程中设计测验

    在Moodle课程中设计测验步骤的介绍,使用Moodle可以设计和管理不同类型课程 Moodle可以用于学校教育的各个方面

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

    Ieducar 是巴西用于管理学校数据库的免费工具。 放置在这里的项目旨在将学生列表从 Ieducar 导出到 Moodle。

    integration_moodle:oodle将Moodle集成到Nextcloud

    Moodle Nextcloud应用程序 :graduation_cap: Moodle集成提供了一个仪表板小部件,用于显示有关您最近的课程和即将发生的事件的信息。 它还允许您在Moodle中搜索内容。 :wrench: 配置用户设置帐户配置在“连接的帐户...

    moodle课程奖品插件

    moodle课程奖品插件,课程奖品插件包括两个牌块和一个报道,目的就是在课程束时容易收集用户反馈

    Moodle.3.Administration.3rd.Edition.1783289716

    Moodle is the de facto standard for open source learning platforms. However, setting up and managing a learning environment can be a complex task since it covers a wide range of technical, ...

Global site tag (gtag.js) - Google Analytics