#
# build_permission_row
#
subroutine(build_permission_row(string option_name), (
subroutine(build_cell(string option_name, int bit_number), (
string element_id = "security:" . option_name . ":bit" . bit_number;
'
';
'' . option_label . ': | ';
'\n';
#
# Build nested table for permissions
#
'\n';
'';
'\n';
'' . lang_admin.preferences.security.permissions.owner . ' | \n';
'' . lang_admin.preferences.security.permissions.group . ' | \n';
'' . lang_admin.preferences.security.permissions.world . ' | \n';
' | \n';
' | \n';
' \n';
#
# Read, plus sticky
#
'\n';
# Owner read, bit 8, octal 0400
build_cell(option_name, 8);
# Group read, bit 5, octal 0040
build_cell(option_name, 5);
# World read, bit 2, octal 0002
build_cell(option_name, 2);
'' . lang_admin.preferences.security.permissions.read . ' | \n';
# The sticky bit, bit 9, octal 1000
build_cell(option_name, 9);
' \n';
#
# Write
#
'\n';
# Owner write, bit 7, octal 0200
build_cell(option_name, 7);
# Group write, bit 4, octal 0020
build_cell(option_name, 4);
# World write, bit 1, octal 0002
build_cell(option_name, 1);
'' . lang_admin.preferences.security.permissions.write . ' | \n';
' | \n';
' \n';
#
# Execute
#
'\n';
# Owner execute, bit 6, octal 0100
build_cell(option_name, 6);
# Group execute, bit 3, octal 0010
build_cell(option_name, 3);
# World execute, bit 0, 0001
build_cell(option_name, 0);
'' . lang_admin.preferences.security.permissions.execute . ' | \n';
' | \n';
' \n';
'';
' \n';
' | \n';
'
\n';
));