--- sites/all/modules/forum_access/forum_access.module 2007-11-24 18:11:58.000000000 +0800 +++ sites/all/modules/forum_access/forum_access.new.module 2007-11-24 17:40:41.000000000 +0800 @@ -234,6 +234,22 @@ function forum_access_form_submit($form_ // mass update $result = db_query("SELECT n.nid FROM {node} n LEFT JOIN {term_node} tn ON tn.nid = n.nid WHERE tn.tid = %d", $form_values['tid']); while ($node = db_fetch_object($result)) { + $acl_id = db_result(db_query("SELECT acl_id FROM {acl_node} WHERE nid = %d",$node->nid)); + $count_acluser = db_result(db_query("SELECT COUNT(*) FROM {acl_user} WHERE acl_id = %d", $acl_id)); + if ($count_acluser != 0) { + $acl_sql = db_query("SELECT * FROM {acl_node} WHERE nid = %d",$node->nid); + unset($grants_acl); + while ($row = db_fetch_object($acl_sql)){ + $grants_acl[] = array( + 'realm' => 'acl', + 'gid' => $row->acl_id, + 'grant_view' => $row->grant_view, + 'grant_update' => $row->grant_update, + 'grant_delete' => $row->grant_delete, + ); + } + node_access_write_grants($node, $grants_acl); + } node_access_write_grants($node, $grants, 'forum_access'); } }