cForms admin is broken in WordPress 4.2
-
The cForms admin area is broken since updating to WordPress 4.2. (Seeing this in several sites.)
Can you help?
-
Can you give us any relevant information about how it is broken? PHP errors, a screenshot, or a steps to reproduce the issue?
What version of cforms are you running on these 4.2 sites?
Have you tried deactivating and reactivating the plugin? bgermann recently fixed a corrupt settings path in cforms 14.9.2.
not sure if Becky is having the same issue, but my experience.
if i edit a form, on the first load. it shows up fine, see screenshot below:
however, if i save any changes. Nothing gets saved and the form editor view changes to this below:
– plugin version: Version 14.9.2
– wp version: Version 4.2.1I have edited the lib_ajax.php and lib_nonajax.php as per the previous thread but still no luck.
Same problem as naeemcoza. I can also confirm this problem happens as far back as 14.6 (I just moved over from the dd version).
Yep! Same here!! Exactly the same as in the screenshots above.
Ooh, let me say – same as avejoes. I still have 14.6 installed. I had the problem tonight (after upgrading WordPress) and have been researching ever since because I have 20 sophisticated forms that I can’t stand the thought of recreating from scratch. But if the same thing is happening in 14.9.2 then I guess I’d better just be still and follow the threads I’m subscribed to on this until there’s some resolution. Please please please don’t let me lose all my forms.
Thank you naeemcoza for describing the issue perfectly. As a result of this problem, no forms can be edited.
I have various versions of cforms on several website (14.9.2, 14.6 even 14.5 on one site) I tried deactivation and activating the plugins. I tried changing to the default theme. Nothing seems to help, so I am baffled.
There is no form plugin that is as good as this one, so I really hope you can help.
You can see the fix here: https://github.com/bgermann/cforms2/commit/b3cf0db995ee2e07d325faad3a7374efddca4e44
I want to work on one more issue before releasing 14.9.3 (probably next week). If you cannot wait, just apply that patch on your 14.9.2 installation.
The issue is related to the fact that the admin pages for cforms all have the same structure (
cforms/cforms-xxx.php
) and the slash is encoded (by WordPress 4.2, I guess) as%2F
; so, when in cforms2_localization (cforms.php, line 1371) the query string is searched for occurrences ofplugin_dir_path(plugin_basename(__FILE__)).'cforms'
, thestrpos
function returns false because'%2F' != '/'
, and the scripts are not loaded.
A quick and dirty solution is to decode the query string, changing line 1371 of cforms.php to:
$cfadmin = strpos(urldecode($_SERVER['QUERY_STRING']),plugin_dir_path(plugin_basename(__FILE__)).'cforms') !== false;
This works for me. Let me know if this solves your issue as well.Edit: beaten by the author. ??
This fix has solved the problem for us. You people are the BEST! Thanks!
@17thcolossus -is this the string I’m supposed to replace? I still have the old version 14.6 so if I can patch it real quick so I can make a fast change before playing with the new version and STILL having to patch that one, I’d greatly appreciate it.
if ( stripslashes($cformsSettings['form'.$no2]['cforms'.$no2.'_fname']) == $no )
@nixonvs – the line numbers have changed since 14.6. Don’t change that line. Have a look at @bgermann’s post – you’re looking for a line that starts
$cfadmin =
.Comparing the current code with version 14.6.4 (not sure exactly which version you have), it’ll probably be a few lines after a comment saying
### add actions
and right after one saying
$admin = is_admin();
In 14.6.4 it’s
$cfadmin = ( strpos($_SERVER['QUERY_STRING'],$plugindir.'/cforms')!==false )?true:false;
though it might be different in your version.Replace it with the green line in @bgermann’s gist:
$cfadmin = strpos($_SERVER['QUERY_STRING'], 'cforms') !== false;
@ bgermann
Thanks a lot for the fix. It’s working excellent for me.@ bgermann
Thanks a lot for the fix. It’s working excellent for me.Also from me … ??
I’m just terrified I’m going to lose all 20+ sophisticated forms I have set up already as I’m hearing some horror stories about that. Since the admin panel isn’t working without the above fix, I can’t even back up my forms. I thought I’d be able to do this over the weekend. Still awaiting a reply to a related issue in another post. I will PayPal anyone in here $3 to fix this string of code for me if you think it won’t lose all my forms. That’s right – 3 whole dollars. LOL!! I’m just kidding people – just frustrated. I have an error on an active form that I can’t fix until this is resolved but, like I said, I’m afraid to touch anything yet because I see in another thread how deactivating the old deliciousdays version and putting in the new one caused some to lose all their forms. That would be death to my site right now.
I have edited the cforms.php file as instructed on github. However, I still cannot save changes to my forms and the verification and captcha images don’t work. ivtom.org
I’m using WordPress 4.2.1 and cforms2 14.9.2. Also I lost all my forms when I did the edit and had to import them from backups. UGH!
Can someone help?
- The topic ‘cForms admin is broken in WordPress 4.2’ is closed to new replies.