I have just enabled Page Manager on a site that I am developing and wanted to create a new page (admin/structure/pages/add). At the end of the process, when I hit the "finish" button, I get the following error:
( ! ) Fatal error: Call to undefined function page_manager_handler_check_machine_name() in /opt/drupal/home/includes/form.inc on line 3626
Call Stack
# Time Memory Function Location
1 0.0003 246168 {main}( ) ../index.php:0
2 0.0946 4580416 menu_execute_active_handler( ) ../index.php:21
3 0.0947 4582016 call_user_func_array ( ) ../menu.inc:517
4 0.0947 4582840 page_manager_page_add_subtask( ) ../menu.inc:517
5 0.0970 4685000 ctools_wizard_multistep_form( ) ../page.admin.inc:321
6 0.0971 4689888 drupal_build_form( ) ../wizard.inc:125
7 0.1088 6151056 drupal_process_form( ) ../form.inc:385
8 0.1097 6211912 drupal_validate_form( ) ../form.inc:889
9 0.1097 6212640 _form_validate( ) ../form.inc:1183
10 0.1098 6215208 _form_validate( ) ../form.inc:1345
11 0.1099 6218760 form_validate_machine_name( ) ../form.inc:1459
/opt/drupal/home is the root of my Drupal installation. The "undefined function" page_manager_handler_check_machine_name is present in sites/all/modules/ctools/page_manager/page_manager.admin.inc .
Any hints about how to fix this issue?
I'm using Drupal 7.34 on Ubuntu 14.04.1 LTS with PHP 5.5.9 and PostgreSQL 9.3.5 on FPM and Nginx 1.4.6.
Steve
Comments
Comment #1
winnall commentedComment #2
mrjmd commentedI can confirm this is an issue. I'll work on a patch.
Comment #3
damienmckennaReducing this to a "normal" bug because everything appears to still work.
Comment #4
winnall commentedWith respect, I disagree about "everything appears to still work". I can't complete my planned page manager workflow because of this. But as a bug, I suppose it is probably normal.
If it helps, what I am trying to do with page manager (and a way to reproduce the error) is demonstrated in this Youtube video:
A Gallery of Nodes with Drupal, Tutorial 2
starting at about 4 minutes and 10 seconds.
Comment #5
damienmckenna@winnall: Oh, sorry, when I tested it and hit upon the error I thought it still work. That said, it's definitely a bug rather than a support request.
Comment #6
damienmckennaThis is because the corresponding patch for Panels was never committed: #2410293: Add ability to edit machine names
Comment #7
winnall commented@DamienMcKenna Thanks for the feedback. Does that mean that installing the patch
https://www.drupal.org/files/issues/panels-edit-machine-names-2410293-4....
will fix the problem?
Steve
Comment #8
damienmckenna@winnall: (edit) Maybe? =) I haven't tested it yet.
Comment #9
winnall commentedSince it is a patch for Panels, I suspect it won't help me much: I don't have Panels installed, let alone enabled.
Looked at in this light, I would suggest that it is not a duplicate and suspect that the issue should be reopened.
Although it may clearly have something in common with the Panels issue, it apparently needs to be factored out into a separate solution which will hopefully kill both problems.
I'd like to help, but I have no skills the murky depths of Drupal or PHP, and I've got a website which I need to get into operation by the end of February.
Steve
Comment #10
mrjmd commentedThis is definitely a legitimate and rather nasty bug. Here's a first iteration on a patch, it needs a lot of testing but *seems* to work.
@winnall, give this a shot and let me know how it goes. I suspect something similar will also be needed for the Panels and Panelizer versions of this, I'll confirm and get those rolled as well if so.
Comment #11
winnall commented@mrjmd Thanks for this. I'll have a look at it later today (it's 3:30 in the morning here and I need to get some sleep...).
Steve
Comment #12
winnall commentedWell done, @mrjmd! That works for me. Thanks a lot!
Steve
Comment #13
cmstom@mrjmd, works good for me too! Thank you!
Comment #14
damienmckennaComment #15
damienmckennaComment #16
themusician commentedmrjmd's patch in comment #10 works perfectly.
I discovered the bug while trying to setup a redirect using the page manager HTTP Response code. To test create a new custom page. Set the type as HTTP Response code. Then setup a path and choose 301 redirect as the response, put in a valid URL and click save. Without the patch you get a white screen, with the patch you continue onto the next step.
Comment #17
webservant316 commentedshould this bug stop me from moving from ctools 7.x-1.5 to 1.6?
Comment #18
damienmckenna@webservant316: Just follow the instructions here and you'll be fine: https://www.drupal.org/patch/apply
Comment #19
japerryThanks for the patch, fixed!