Adding a new user to a node works fine (with content access module in "USER ACCESS CONTROL LISTS" form), but removing the user or submitting the form results in WSOD, after enabling all errors in Drupal the error message is:

Fatal error: Call to undefined function _acl_edit_form_after_build() in /var/www/drupal-7-HEAD/drupal/includes/form.inc on line 1696 Call Stack: 0.0001 346272 1. {main}() /var/www/drupal-7-HEAD/drupal/index.php:0 0.1732 17150812 2. menu_execute_active_handler() /var/www/drupal-7-HEAD/drupal/index.php:26 0.1746 17302080 3. call_user_func_array() /var/www/drupal-7-HEAD/drupal/includes/menu.inc:480 0.1746 17302396 4. drupal_get_form() /var/www/drupal-7-HEAD/drupal/includes/menu.inc:0 0.1747 17303128 5. drupal_build_form() /var/www/drupal-7-HEAD/drupal/includes/form.inc:181 0.1760 17355620 6. drupal_process_form() /var/www/drupal-7-HEAD/drupal/includes/form.inc:343 0.1760 17357492 7. form_builder() /var/www/drupal-7-HEAD/drupal/includes/form.inc:747 0.1925 17526808 8. form_builder() /var/www/drupal-7-HEAD/drupal/includes/form.inc:1688 0.1928 17533356 9. form_builder() /var/www/drupal-7-HEAD/drupal/includes/form.inc:1688

Drupal 7 HEAD
ACL latest dev
Content Access latest dev

Comments

good_man’s picture

well it's an include issue, I tried to make it just-like-api, altering the include function for acl.admin.inc from:

module_load_include('admin.inc', 'acl');

to

module_load_include('inc', 'acl', 'acl.admin');

but it didn't work. I tried to move all code from acl.admin.inc into acl.module and it's working now, anyhow it's a strange include since it's called from another module (content access), in normal cases you just set the 'file' attribute in hook_menu() of the module and Drupal takes care of the rest, but here content access is calling acl_edit_form() and this function also including admin.inc & calling _acl_edit_form() and here is WSOD occurs, form.inc seems to be lost in this chain.

I'll try to find a better way to solve it, any suggestion is very welcomed.

salvis’s picture

Title: WSOD when managing users with content access » "Call to undefined function _acl_edit_form_after_build()" — acl_edit_form() signature changed!
Status: Active » Fixed

The problem is that core reloads the form from the cache and it needs help to find the required include files. This is a new requirement.

This requires changing the signature of acl_edit_form() — all client modules must adjust accordingly!

Committed to the -dev version. Give it up to 12h to be repackaged.

Status: Fixed » Closed (fixed)
Issue tags: -WSOD

Automatically closed -- issue fixed for 2 weeks with no activity.