function flexiaccess_reset_priorities in Flexi Access 7
Set the priority of every ACL created by Flexi access to a configured value.
1 call to flexiaccess_reset_priorities()
- flexiaccess_admin_bulkop_submit in ./
flexiaccess.admin.inc - Callbacks for the bulk operations.
File
- ./
flexiaccess.module, line 303 - Main hooks for per user access control.
Code
function flexiaccess_reset_priorities() {
$priority = variable_get('flexiaccess_priority', 0);
/*
* The docs say about db_query:
* Do not use this function for INSERT, UPDATE, or DELETE queries.
* But inner join is not possible on db_update, and a direct sql is
* better than db_update with a subquery.
*/
$result = db_query("UPDATE acl_node INNER JOIN acl ON acl.acl_id = acl_node.acl_id SET acl_node.priority = :prio WHERE acl.module = 'flexiaccess'", array(
':prio' => $priority,
));
$num = $result
->rowCount();
if ($num > 0) {
node_access_needs_rebuild(TRUE);
}
drupal_set_message("Updated {$num} ACLs with priority {$priority} .");
}