Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
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
Comment #1
good_man CreditAttribution: good_man commentedwell it's an include issue, I tried to make it just-like-api, altering the include function for acl.admin.inc from:
to
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.
Comment #2
salvisThe 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.