Jump to content

[Solved] Renewal Script Broken?


pixxelht

Recommended Posts

My account is suspended for inactivity and the renewal script seems to be stuck at Reactivating account. Can somebody look into that?

Apparently, the same problem with my account. Any help would be greatly appreciated.

username: igrec

server: stevie

Link to comment
Share on other sites

If anyone has trouble renewing their account can the admins only use http://www.heliohost.org/home/support/scripts/renew to try to reactivate it instead of the ACP? If you find an account that it doesn't work on, or a browser that it doesn't work on, or have any ideas on how I can replicate the issue let me know. I've got some ideas on how I could rewrite the script entirely, but first it would be nice to find out why some people think the existing script doesn't work. It probably just intermittent high load causes the script to take a while or fail and refreshing the page followed by submitting the form again would work. I can't really fix high load without getting another server.

Link to comment
Share on other sites

@Krydos: I just did the inactive for user jpl. The script worked in Chrome 47, but took nearly 6 minutes to finish (it just sat at Reactivating Account like this guy's did until it finished). Johnny's load was up at the time (and he was timing out when I tried reaching my account there), so this does in fact look like a load issue.

 

Perhaps a "this could take up to 10 minutes" and a working animation should be added so people don't think it froze, along with a message saying to refresh and try again if it takes longer than that?

Link to comment
Share on other sites

Perhaps a "this could take up to 10 minutes" and a working animation should be added so people don't think it froze, along with a message saying to refresh and try again if it takes longer than that?

Excellent suggestions. How does it look now?

Link to comment
Share on other sites

Hm, this seems to be a client-side issue. It doesn't work on Firefox 43 or on IE11. Checking the network requests, I can see that on these browsers no POST request (which should occur on form submit) is sent. Looking at the source, I noticed that the form action is missing. Maybe Chrome assumes the current page as the action and other browsers don't. That might be worth looking into.

 

Btw, the loading animation and the help text are a nice improvement for users.

 

I've renewed my account now with Chrome.

Link to comment
Share on other sites

Thanks a lot for your help. The account has been reactivated, but the databases are not accessible (they show as having size 0 in cPanel->MySQL Databases).

cpanel username: igrec

server: stevie

databases: igrec_siluj37, igrec_siluj76, igrec_zen470

 

Changing/updating a password for cPanel services does not help.

 

I have also noticed that old Chrome 35 (Win XP) works instantly with the renew script (in my case confirming that it is already active), while in a relatively new Firefox 38 (CentOS Linux) it does not finish within 30 minutes. The loading status feature is really helpful though.

Link to comment
Share on other sites

It doesn't work on Firefox 43 or on IE11. Checking the network requests, I can see that on these browsers no POST request (which should occur on form submit) is sent. Looking at the source, I noticed that the form action is missing.

I have also noticed that old Chrome 35 (Win XP) works instantly with the renew script (in my case confirming that it is already active), while in a relatively new Firefox 38 (CentOS Linux) it does not finish within 30 minutes.

Thanks for the great feedback!

 

Maybe Chrome assumes the current page as the action and other browsers don't. That might be worth looking into.

I think all browsers are supposed to submit the form to itself if no action is defined. This is really interesting because this script hasn't ever had an action attribute, and we've been using it without any changes for probably five years or more. It boggles my mind that no one has reported this before. Did browsers change the way they handle actionless forms? Did everyone just try another browser without mentioning it for so many years? Either way I added an action atribute. Let us know if it works better in all browsers now.

 

Btw, the loading animation and the help text are a nice improvement for users. I've renewed my account now with Chrome.

The loading status feature is really helpful though.

Thanks. I'll be the first to admit that web design isn't my forte. I am much better at taking care of the back end than designing web pages.

 

Thanks a lot for your help. The account has been reactivated, but the databases are not accessible (they show as having size 0 in cPanel-&--#62;MySQL Databases). cpanel username: igrec server: stevie databases: igrec_siluj37, igrec_siluj76, igrec_zen470 Changing/updating a password for cPanel services does not help.

The databases listed should now be visible to your root mysql account. You may need to delete, recreate, and reassign permissions to any database users that should have access to the affected databases. If phpmyadmin doesn't log in properly or you don't see the database there change your account password and this should sync up the mysql/cpanel passwords. Let us know if you're still having any issues accessing your data.

Link to comment
Share on other sites

Thanks a lot for your help. The account has been reactivated, but the databases are not accessible (they show as having size 0 in cPanel-&--#62;MySQL Databases). cpanel username: igrec server: stevie databases: igrec_siluj37, igrec_siluj76, igrec_zen470 Changing/updating a password for cPanel services does not help.
The databases listed should now be visible to your root mysql account. You may need to delete, recreate, and reassign permissions to any database users that should have access to the affected databases. If phpmyadmin doesn't log in properly or you don't see the database there change your account password and this should sync up the mysql/cpanel passwords. Let us know if you're still having any issues accessing your data.

Thanks. I have tried the following:

1. changing the cPanel password with ticking 'synchronise MySQL password' option;

2. signing out and in to the cPanel.

3. deleting and recreatig all database users

I have managed to restore functionality for some databases, but 'igrec_zen470' is not available, or it might got deleted in the process (I can no longer see it in cPanel->MySQL). Would it be possible to restore this database?

I also still get "Access Denied. Unable to establish a PHP session" when trying to open cPanel->myPhpAdmin. Any suggestions would be appreciated.

Link to comment
Share on other sites

It doesn't work on Firefox 43 or on IE11. Checking the network requests, I can see that on these browsers no POST request (which should occur on form submit) is sent. Looking at the source, I noticed that the form action is missing.
I have also noticed that old Chrome 35 (Win XP) works instantly with the renew script (in my case confirming that it is already active), while in a relatively new Firefox 38 (CentOS Linux) it does not finish within 30 minutes.
Thanks for the great feedback!
Maybe Chrome assumes the current page as the action and other browsers don't. That might be worth looking into.
I think all browsers are supposed to submit the form to itself if no action is defined. This is really interesting because this script hasn't ever had an action attribute, and we've been using it without any changes for probably five years or more. It boggles my mind that no one has reported this before. Did browsers change the way they handle actionless forms? Did everyone just try another browser without mentioning it for so many years? Either way I added an action atribute. Let us know if it works better in all browsers now.

That still doesn't seem to work, so the action attribute was not the problem. Because the form is not submitted in some browsers, it must be a problem with how the submit event is handled. The form itself definitely worked before in FF, but I think the script that is executed onsubmit is new, right? I've experimented a bit and found that onsubmit="submitFunction" seems to work (though I have no idea why the current code doesn't). Other variants (e.g. with return true) also don't seem to work. However, apparently then the code for the loading screen won't be executed at least in FF. That sounds pretty weird, but I think most developers now use more modern APIs instead of the onsubmit attribute to react to submit events, so they wouldn't run into these issues.

Link to comment
Share on other sites

  • 2 weeks later...

Once again, thanks everyone for all of the great feedback on this renewal script. I tested the changes in chrome and iOS safari and both worked great with the rewrite of the form to prevent multiple unintentional submissions. I helped someone the other day that said he had tried to reactivate his account five times, and it never did anything. I reactivated it on chrome and like always it worked perfectly.

 

I finally got around to installing firefox and testing the renewal page, and sure enough it didn't do anything. After some tinkering it turns out that since the div I was rewriting included the form that was being submitted firefox decides that the form never existed and after rewriting the div it just doesn't do anything. The javascript now hides the button, makes the text field read only, and appends the message about reactivating the account after the form. Since the form isn't being overwritten anymore it submits as expected on firefox now too.

 

Anyways, I just thought people might want some closure on what was wrong. Let us know if you find a browser that the renewal script doesn't work on.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...