由于Moodle 2.0有一个用户注册的新观点,它们完全独立于角色和成果。能力凡是与注册状态结合使用。
什么是注册?登记的用户可以完全参与一门课程。活跃用户注册允许用户输入课程。只有注册的用户可能是小构成员。成效仅存储在注册用户的名下。
Unenrolment断根选课(注册)是不成逆转的操纵,断根用户的参预信息。只有在您不需要保存包孕用户成效在内的所有课程参预信息的情况下,完全打消注册才是合适的。
注册状态而不是完全不注册,凡是只是暂停用户注册。如果还有其他途径进入课程(如访客访谒),建议同时删除用户角色。
勾当参预勾当开发者决定模块的注册相关行为。
有一些一般的指导目标:
只有拥有有效注册的用户才华收到通知。
勾当应显示注册用户作为参预者的一些成果。
默认情况下,只有具有勾当注册的用户才华显示在呈报中。
应该有显示所有注册用户的选项,包孕暂停注册。
出于性能原因,不偏见的参预数据应该在未注册的情况下被断根
其他参预者可见的孝敬应在打消注册之后生存(如论坛帖子)。
API函数 enrol_send_welcome_email_options()有些注册要领撑持向用户发送欢迎邮件。此要领返回用户注册课程时发送欢迎电子邮件的所有可能选项的列表,并且每个选项都具有在enrollib.php上界说的相应常量:
define (‘ENROL_DO_NOT_SEND_EMAIL‘ , 0 ); //不要发送欢迎邮件 define (‘ENROL_SEND_EMAIL_FROM_COURSE_CONTACT‘ , 1 ); //从课程联系人发送欢迎电子邮件。 define (‘ENROL_SEND_EMAIL_FROM_KEY_HOLDER‘ , 2 ); //从课程密钥持有者发送欢迎电子邮件。 define (‘ENROL_SEND_EMAIL_FROM_NOREPLY‘ , 3 ); //从没有答复发送欢迎电子邮件。主要想法是使发送电子邮件选项在撑持此成果的注册要领中连结一致。看下面的例子:
$sendoptions = enrol_send_welcome_email_options(); print_object($sendoptions);
上面的例子会输出:
Array ( [1] => ‘No‘ [2] => ‘From the course contact‘ [3] => ‘From the key holder‘ [4] => ‘From the no-reply address‘ )
is_enrolled()用户是否参与课程?对付学生和教师,返回true,对付打点员和其他打点者是false。用户注册可以是勾当的,也可以是暂停的,被暂停的用户不能进入课程(除非允许某种访客访谒)或具有moodle / course:view成果,凡是隐藏在UI中。
函数 is_enrolled ( context $ context , $ user = null , $ withcapability = ‘‘ , $ onlyactive = false )很好的例子是选择模块,每个参预者有一个插槽,没有注册的人不被允许投票
is_enrolled($ context,$ USER,‘mod / choice:选择‘)。另一个例子是用户需要注册并有能力提交分配的分配
is_enrolled($ this-> context,$ USER,‘mod / assignment:submit‘)。
get_enrolled_users()有时你需要知道可以参预某些勾当的用户列表。
成果 get_enrolled_sql (上下文$上下文, $ withcapability = ‘‘ , $ GROUPID = 0 , $ onlyactive = 假) 函数 get_enrolled_users (上下文$上下文, $ withcapability = ‘‘ , $ GROUPID = 0 ,, $ userfields = ‘U。*‘ , $ orderby = ‘‘ , $ limitfrom = 0 , $ limitnum = 0 ) 函数 count_enrolled_users ( context $ context , $ withcapability = ‘‘ , $ groupid = 0 )好比你想知道谁此刻可以登顶任务:
$ submissioncandidates = get_enrolled_users ($ modcontext , ‘mod / assignment:submit‘ );分配模块需要为注册的所有用户生存数据,包孕具有暂停注册且没有任何角色的用户。当用户完全打消注册时,模块开发人员可以决定断根所有的用户数据。
从get_enrolled_sql()中选择SQL每每用于性能方面的原因 - 您可以在连接中使用它,以仅为注册用户获取特定信息。