Elastix 1.5.2-2中,menu的组织方式有两种,分别是module和framed,module类型的模块有一定的组织结构,其存在和实现有特定的结构且必须依赖于整个系统;而framed类型的模块不依赖于系统而可以独立存在。若要把某写可以独立访问的页面(或系统)作为Elastix的一个子模块,以下方法将其成为Elastix的一个framed类型的模块。
需要修改的两个数据库/var/www/db/menu.db和/var/www/db/acl.db,这两个都是sqlite数据库(Elastix本身使用sqlite数据库)。
例如,把FreePBX作为PBX下的二级菜单freepbx,步骤如下:1、向menu.db中的menu表中添加一条记录:insert into menu (id,IdParent,Link,Name,Type) values('freepbx','pbxconfig','/admin','Free PBX','framed'); (id唯一)
2、向acl.db中的acl_resource表中添加一条记录:insert into acl_resource (id,name,description) values(133,'freepbx','Free PBX'); (id唯一)
3、此时,可以从用户管理-->组权限那里看到,最后一项是freepbx,把它赋给某个权限组,则该组的成员登录时就可以看到该menu了。同时,也可以将该子menu的访权限赋予其他组。