Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4249815
  • 博文数量: 601
  • 博客积分: 15410
  • 博客等级: 上将
  • 技术积分: 6884
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-16 08:11
个人简介

独学而无友,则孤陋而寡闻!

文章分类

全部博文(601)

文章存档

2020年(1)

2018年(4)

2017年(7)

2016年(42)

2015年(25)

2014年(15)

2013年(36)

2012年(46)

2011年(117)

2010年(148)

2009年(82)

2008年(37)

2007年(41)

分类:

2010-04-11 21:13:31

    Moodle的context实在难懂,它基本上是一个权限控制的表,同名字一样,负责和其它各个部分的权限连接。
   它的目标是实现每一个页面的权限控制,它跟role权限表是紧密相连的。
   官方的解释,Context相当于一个容器,它可以放下课程、用户、模块等东西。


    新建一个课程,至少要添加如下几条记录:
id contentlevel instanceid path      depth
37   50            4      /1/11/37     3
38   80           21      /1/11/37/38  4
39   80           22      /1/11/37/39  4
40   80           23      /1/11/37/40  4
41   80           24      /1/11/37/41  4
42   30            3      /1/42        2
43   70            9      /1/11/37/43  4

其中contentlevel在accesslib.php中定义,50代表课程,70代表module,80代表block

对照上表,
37号是一个课程,它的id是4,所以可以到course表中去查找相关信息,

38-41号分别对应一个block,其在block_instance中对应的id是21-24,
id blockname parentcontextid showinsubcontexts pagetypepattern subpagepattern defaultregion defaultweight configdata
21 search_forums 37 0 course-view-* NULL side-post 0  
22 news_items 37 0 course-view-* NULL side-post 1  
23 calendar_upcoming 37 0 course-view-* NULL side-post 2  
24 recent_activity 37 0 course-view-* NULL side-post 3
可以查看第二栏的说明,找出分别对应的是哪一个模块。

42号是30,对应于CONTEXT_USER,代表用户,即id为3的用户。

43号为70,在course_module中对应于9号,再查找其类型,代表是论坛。

注:contextlevel就是一个类型,instance就是一个资源id号,取这个种字段名实在难以理解,直接改为resourcetype,resourceid,就不用再费这三个小时去查找它的意思了。
  官方直接把这几种资源类型称之为六个level,这样也就不难理解它的名字了。


阅读(1848) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~