Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
project
drupal
Commits
30b69380
Commit
30b69380
authored
Sep 17, 2004
by
Steven Wittens
Browse files
-
#10689
: Group permissions by module in UI + minor code cleanups.
- Adding a drupal_goto to the block admin.
parent
4b992626
Changes
5
Hide whitespace changes
Inline
Side-by-side
misc/drupal.css
View file @
30b69380
...
...
@@ -333,6 +333,12 @@ tr.light .form-item, tr.dark .form-item {
#forum
td
.posts
,
#forum
td
.topics
,
#forum
td
.replies
,
#forum
td
.pager
{
text-align
:
center
;
}
#permissions
td
.module
{
font-weight
:
bold
;
}
#permissions
td
.permission
{
padding-left
:
2em
;
}
.poll
.bar
{
height
:
1em
;
margin
:
1px
0
;
...
...
modules/block.module
View file @
30b69380
...
...
@@ -282,6 +282,7 @@ function block_admin() {
if
(
$op
==
t
(
'Save blocks'
))
{
drupal_set_message
(
block_admin_save
(
$edit
));
cache_clear_all
();
drupal_goto
(
$_GET
[
'q'
]);
}
print
theme
(
'page'
,
block_admin_display
());
}
...
...
modules/block/block.module
View file @
30b69380
...
...
@@ -282,6 +282,7 @@ function block_admin() {
if
(
$op
==
t
(
'Save blocks'
))
{
drupal_set_message
(
block_admin_save
(
$edit
));
cache_clear_all
();
drupal_goto
(
$_GET
[
'q'
]);
}
print
theme
(
'page'
,
block_admin_display
());
}
...
...
modules/user.module
View file @
30b69380
...
...
@@ -1379,9 +1379,13 @@ function user_admin_perm($edit = array()) {
// Delete, so if we clear every checkbox we reset that role;
// otherwise permissions are active and denied everywhere.
db_query
(
'DELETE FROM {permission} WHERE rid = %d'
,
$role
->
rid
);
$perm
=
$edit
[
$role
->
rid
]
?
implode
(
', '
,
array_keys
(
$edit
[
$role
->
rid
]))
:
''
;
if
(
$perm
)
{
db_query
(
"INSERT INTO
{
permission
}
(rid, perm) VALUES (%d, '%s')"
,
$role
->
rid
,
$perm
);
foreach
(
$edit
[
$role
->
rid
]
as
$key
=>
$value
)
{
if
(
!
$value
)
{
unset
(
$edit
[
$role
->
rid
][
$key
]);
}
}
if
(
count
(
$edit
[
$role
->
rid
]))
{
db_query
(
"INSERT INTO
{
permission
}
(rid, perm) VALUES (%d, '%s')"
,
$role
->
rid
,
implode
(
', '
,
array_keys
(
$edit
[
$role
->
rid
])));
}
}
...
...
@@ -1389,11 +1393,9 @@ function user_admin_perm($edit = array()) {
// permissions.
cache_clear_all
();
menu_rebuild
();
}
// Compile permission array:
$perms
=
module_invoke_all
(
'perm'
);
asort
(
$perms
);
drupal_goto
(
$_GET
[
'q'
]);
}
// Compile role array:
$result
=
db_query
(
'SELECT r.rid, p.perm FROM {role} r LEFT JOIN {permission} p ON r.rid = p.rid ORDER BY name'
);
...
...
@@ -1409,18 +1411,24 @@ function user_admin_perm($edit = array()) {
}
// Render role/permission overview:
$header
=
array_merge
(
array
(
'
'
),
$role_names
);
$header
=
array_merge
(
array
(
'
permission
'
),
$role_names
);
foreach
(
$perms
as
$perm
)
{
$row
[]
=
t
(
$perm
);
foreach
(
$role_names
as
$rid
=>
$name
)
{
$row
[]
=
"<input type=
\"
checkbox
\"
name=
\"
edit[
$rid
][
$perm
]
\"
"
.
(
strstr
(
$role_perms
[
$rid
],
$perm
)
?
' checked="checked"'
:
''
)
.
' />'
;
foreach
(
module_list
()
as
$module
)
{
if
(
$perms
=
module_invoke
(
$module
,
'perm'
))
{
$rows
[]
=
array
(
array
(
'data'
=>
t
(
'%module module'
,
array
(
'%module'
=>
$module
)),
'class'
=>
'module'
,
'colspan'
=>
count
(
$role_names
)
+
1
));
asort
(
$perms
);
foreach
(
$perms
as
$perm
)
{
$row
[]
=
array
(
'data'
=>
t
(
$perm
),
'class'
=>
'permission'
);
foreach
(
$role_names
as
$rid
=>
$name
)
{
$row
[]
=
form_checkbox
(
''
,
"
$rid
][
$perm
"
,
1
,
strstr
(
$role_perms
[
$rid
],
$perm
));
}
$rows
[]
=
$row
;
unset
(
$row
);
}
}
$rows
[]
=
$row
;
unset
(
$row
);
}
$output
=
theme
(
'table'
,
$header
,
$rows
);
$output
=
theme
(
'table'
,
$header
,
$rows
,
array
(
'id'
=>
'permissions'
)
);
$output
.
=
form_submit
(
t
(
'Save permissions'
));
return
form
(
$output
);
...
...
modules/user/user.module
View file @
30b69380
...
...
@@ -1379,9 +1379,13 @@ function user_admin_perm($edit = array()) {
// Delete, so if we clear every checkbox we reset that role;
// otherwise permissions are active and denied everywhere.
db_query
(
'DELETE FROM {permission} WHERE rid = %d'
,
$role
->
rid
);
$perm
=
$edit
[
$role
->
rid
]
?
implode
(
', '
,
array_keys
(
$edit
[
$role
->
rid
]))
:
''
;
if
(
$perm
)
{
db_query
(
"INSERT INTO
{
permission
}
(rid, perm) VALUES (%d, '%s')"
,
$role
->
rid
,
$perm
);
foreach
(
$edit
[
$role
->
rid
]
as
$key
=>
$value
)
{
if
(
!
$value
)
{
unset
(
$edit
[
$role
->
rid
][
$key
]);
}
}
if
(
count
(
$edit
[
$role
->
rid
]))
{
db_query
(
"INSERT INTO
{
permission
}
(rid, perm) VALUES (%d, '%s')"
,
$role
->
rid
,
implode
(
', '
,
array_keys
(
$edit
[
$role
->
rid
])));
}
}
...
...
@@ -1389,11 +1393,9 @@ function user_admin_perm($edit = array()) {
// permissions.
cache_clear_all
();
menu_rebuild
();
}
// Compile permission array:
$perms
=
module_invoke_all
(
'perm'
);
asort
(
$perms
);
drupal_goto
(
$_GET
[
'q'
]);
}
// Compile role array:
$result
=
db_query
(
'SELECT r.rid, p.perm FROM {role} r LEFT JOIN {permission} p ON r.rid = p.rid ORDER BY name'
);
...
...
@@ -1409,18 +1411,24 @@ function user_admin_perm($edit = array()) {
}
// Render role/permission overview:
$header
=
array_merge
(
array
(
'
'
),
$role_names
);
$header
=
array_merge
(
array
(
'
permission
'
),
$role_names
);
foreach
(
$perms
as
$perm
)
{
$row
[]
=
t
(
$perm
);
foreach
(
$role_names
as
$rid
=>
$name
)
{
$row
[]
=
"<input type=
\"
checkbox
\"
name=
\"
edit[
$rid
][
$perm
]
\"
"
.
(
strstr
(
$role_perms
[
$rid
],
$perm
)
?
' checked="checked"'
:
''
)
.
' />'
;
foreach
(
module_list
()
as
$module
)
{
if
(
$perms
=
module_invoke
(
$module
,
'perm'
))
{
$rows
[]
=
array
(
array
(
'data'
=>
t
(
'%module module'
,
array
(
'%module'
=>
$module
)),
'class'
=>
'module'
,
'colspan'
=>
count
(
$role_names
)
+
1
));
asort
(
$perms
);
foreach
(
$perms
as
$perm
)
{
$row
[]
=
array
(
'data'
=>
t
(
$perm
),
'class'
=>
'permission'
);
foreach
(
$role_names
as
$rid
=>
$name
)
{
$row
[]
=
form_checkbox
(
''
,
"
$rid
][
$perm
"
,
1
,
strstr
(
$role_perms
[
$rid
],
$perm
));
}
$rows
[]
=
$row
;
unset
(
$row
);
}
}
$rows
[]
=
$row
;
unset
(
$row
);
}
$output
=
theme
(
'table'
,
$header
,
$rows
);
$output
=
theme
(
'table'
,
$header
,
$rows
,
array
(
'id'
=>
'permissions'
)
);
$output
.
=
form_submit
(
t
(
'Save permissions'
));
return
form
(
$output
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment