Search code examples
javascriptwidgetimpresspages

impresspages html widget not saving


I have a problem with saving content in html widget. I am using impresspages 4.4.2 (although problem was present on 4.4.0 I just have upgraded from). CMS is installed on a shared hosting so I only have access to cPanel.

I found this question without an answer Impress Pages - HTML widget not saving/publishing

The comment says that the problem was with theme, that was including jquery.

I use RevolvePro theme purchased on impresspages market place. Looking through the assets it seems like it does indeed include jquery. It didn't look too easy to remove it. So I tried to perform the same html widget editing action with the other themes (Private Free, Air and Quick Start supplied with the CMS) with the same result - nothing was saved. Neither of those themes have jquery included as far as I can see.

What I see in the browser console is the following error:

POST http://domain.com/403      (Forbidden) 
k.cors.a.crossDomain.send       ipCore.min.js?3:124
n.extend.ajax                   ipCore.min.js?3:122
updateWidget                    management.min.js?3:10
processSaveQueue                management.min.js?3:67
n.isFunction.f                  ipCore.min.js?3:2
(anonymousfunction)             management.min.js?3:64
n.extend.each                   ipCore.min.js?3:2
n.fn.n.each                     ipCore.min.js?3:2
methods.save                    management.min.js?3:63
$.fn.ipWidget                   management.min.js?3:68
$this.save                      management.min.js?3:61
save                            management.min.js?3:115
n.isFunction.f                  ipCore.min.js?3:2
n.event.dispatch                ipCore.min.js?3:66
r.handle                        ipCore.min.js?3:65

or if I switch to debug mode:

POST http://domain.com/403      (Forbidden) 
k.cors.a.crossDomain.send       jquery.js?4:1953
n.extend.ajax                   jquery.js?4:1843
updateWidget                    content.js?4:340
processSaveQueue                jquery.ip.widget.js?4:159
n.isFunction.f                  jquery.js?4:95
(anonymousfunction)             jquery.ip.widget.js?4:86
n.extend.each                   jquery.js?4:72
n.fn.n.each                     jquery.js?4:21
methods.save                    jquery.ip.widget.js?4:72
$.fn.ipWidget                   jquery.ip.widget.js?4:203
$this.save                      jquery.ip.widget.js?4:21
save                            Html.js?4:85
n.isFunction.f                  jquery.js?4:95
n.event.dispatch                jquery.js?4:1043
r.handle                        jquery.js?4:1010

jquery.js based on location is referenced from the CMS core code (Ip/Internal/Core/assets/ipCore/), rather than from the theme.

I tried manually editing widget table with phpMyAdmin and results work fine, so editing is the only issue. It also seems like the issue is hosting or host settings specific as on the other shared hosting I can edit html widget without any problems.


Solution

  • This is a problem on your host. Have a look at the Apache logs. You have some kind of a security module on Apache that prevents POST data with HTML input.