Index: trunk/core/admin_templates/categories/categories_edit_permissions.tpl =================================================================== diff -u -N -r5302 -r5304 --- trunk/core/admin_templates/categories/categories_edit_permissions.tpl (.../categories_edit_permissions.tpl) (revision 5302) +++ trunk/core/admin_templates/categories/categories_edit_permissions.tpl (.../categories_edit_permissions.tpl) (revision 5304) @@ -98,6 +98,11 @@ function edit(){ } + + function ReflectPermissions($prefix, $group_id) { + // process only this prefix & group checkboxes + } + a_toolbar.Render(); Index: trunk/kernel/units/permissions/permissions_tag_processor.php =================================================================== diff -u -N -r5296 -r5304 --- trunk/kernel/units/permissions/permissions_tag_processor.php (.../permissions_tag_processor.php) (revision 5296) +++ trunk/kernel/units/permissions/permissions_tag_processor.php (.../permissions_tag_processor.php) (revision 5304) @@ -60,17 +60,37 @@ function PrintPermissions($params) { $group_id = $this->Application->GetVar('group_id'); - $module = $this->Application->GetVar('module'); + $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['name'] = $params['render_as']; $params['item_prefix'] = $module_data['Var']; - $ret .= $this->Application->ProcessParsedTag('m', 'MyInclude', $params); // MyInclude($params); + $ret .= $this->Application->ProcessParsedTag('m', 'MyInclude', $params); } return $ret; } Index: trunk/kernel/admin_templates/categories/categories_edit_permissions.tpl =================================================================== diff -u -N -r5302 -r5304 --- trunk/kernel/admin_templates/categories/categories_edit_permissions.tpl (.../categories_edit_permissions.tpl) (revision 5302) +++ trunk/kernel/admin_templates/categories/categories_edit_permissions.tpl (.../categories_edit_permissions.tpl) (revision 5304) @@ -98,6 +98,11 @@ function edit(){ } + + function ReflectPermissions($prefix, $group_id) { + // process only this prefix & group checkboxes + } + a_toolbar.Render(); Index: trunk/core/units/permissions/permissions_tag_processor.php =================================================================== diff -u -N -r5296 -r5304 --- trunk/core/units/permissions/permissions_tag_processor.php (.../permissions_tag_processor.php) (revision 5296) +++ trunk/core/units/permissions/permissions_tag_processor.php (.../permissions_tag_processor.php) (revision 5304) @@ -60,17 +60,37 @@ function PrintPermissions($params) { $group_id = $this->Application->GetVar('group_id'); - $module = $this->Application->GetVar('module'); + $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['name'] = $params['render_as']; $params['item_prefix'] = $module_data['Var']; - $ret .= $this->Application->ProcessParsedTag('m', 'MyInclude', $params); // MyInclude($params); + $ret .= $this->Application->ProcessParsedTag('m', 'MyInclude', $params); } return $ret; } Index: trunk/core/admin_templates/categories/permissions_tab.tpl =================================================================== diff -u -N -r5302 -r5304 --- trunk/core/admin_templates/categories/permissions_tab.tpl (.../permissions_tab.tpl) (revision 5302) +++ trunk/core/admin_templates/categories/permissions_tab.tpl (.../permissions_tab.tpl) (revision 5304) @@ -3,11 +3,28 @@ document.getElementById('_div').setAttribute('group_id', ); + ReflectPermissions('', ); #separator# "> - works + + [] + + + + + [][][inherit]" /> + + + + + [][][value]" /> + + + + inherit category name + Index: trunk/kernel/admin_templates/categories/permissions_tab.tpl =================================================================== diff -u -N -r5302 -r5304 --- trunk/kernel/admin_templates/categories/permissions_tab.tpl (.../permissions_tab.tpl) (revision 5302) +++ trunk/kernel/admin_templates/categories/permissions_tab.tpl (.../permissions_tab.tpl) (revision 5304) @@ -3,11 +3,28 @@ document.getElementById('_div').setAttribute('group_id', ); + ReflectPermissions('', ); #separator# "> - works + + [] + + + + + [][][inherit]" /> + + + + + [][][value]" /> + + + + inherit category name +