Application->recallObject('SectionsHelper'); $section_data =& $sections_helper->getSectionData($section_name); return array_search($params['perm_name'], $section_data['permissions']) !== false; } function HasAdvancedPermissions($params) { $section_name = $params['section_name']; $sections_helper =& $this->Application->recallObject('SectionsHelper'); $section_data =& $sections_helper->getSectionData($section_name); $ret = false; foreach ($section_data['permissions'] as $perm_name) { if (preg_match('/^advanced:(.*)/', $perm_name)) { $ret = true; break; } } return $ret; } function PermissionValue($params) { $section_name = $params['section_name']; $sections_helper =& $this->Application->recallObject('SectionsHelper'); $section_data =& $sections_helper->getSectionData($section_name); $perm_name = $params['perm_name']; $permissions_helper =& $this->Application->recallObject('PermissionsHelper'); if (!$permissions_helper->isOldPermission($section_name, $perm_name)) { $perm_name = $section_name.'.'.$perm_name; } return $permissions_helper->getPermissionValue($perm_name); } function LoadPermissions($params) { $permissions_helper =& $this->Application->recallObject('PermissionsHelper'); $prefix_parts = explode('-', $this->Prefix, 2); $permissions_helper->LoadPermissions($prefix_parts[0]); } function LevelIndicator($params) { return $params['level'] * $params['multiply']; } function PrintPermissions($params) { $group_id = $this->Application->GetVar('group_id'); $prefix = $this->Application->GetVar('item_prefix'); $module = $this->Application->findModule('Var', $prefix, 'Name'); $sql = 'SELECT * FROM '.TABLE_PREFIX.'PermissionConfig WHERE ModuleId = "'.$module.'"'; $permissions = $this->Conn->Query($sql); $ret = ''; $block_params = Array('name' => $params['render_as']); foreach ($permissions as $perm_record) { $block_params = array_merge_recursive2($block_params, $perm_record); $ret .= $this->Application->ParseBlock($block_params); } return $ret; } /** * Print module tab for each module * * @param Array $params * @return string */ function PrintTabs($params) { $ret = ''; $block_params = $params; foreach ($this->Application->ModuleInfo as $module_name => $module_data) { $params['item_prefix'] = $module_data['Var']; $ret .= $this->Application->ProcessParsedTag('m', 'MyInclude', $params); } return $ret; } } ?>