openprovider / Openprovider-WHMCS-domains

Openprovider WHMCS Domain Module
43 stars 31 forks source link

[BUG] WHMCS & PHP8 #265

Closed maverick85 closed 5 months ago

maverick85 commented 1 year ago

Describe the bug This is another bug that stems from the various issues that popped with the PHP8 upgrade.

What happens now is simple: The OpenProvider module does not renew domains, customers pay the renewal invoice and it gives a PHP Fatal error while renewing. If I accept the order in the backoffice, it fails the same.

Some other bugs on this issue: https://github.com/openprovider/Openprovider-WHMCS-domains/issues/252 https://github.com/openprovider/Openprovider-WHMCS-domains/issues/258

And this issue I am also currently experiencing: https://github.com/openprovider/Openprovider-WHMCS-domains/issues/240

To Reproduce Steps to reproduce the behavior:

  1. Have a domain with OpenProvider that requires renewal
  2. Try to renew.
  3. See error

Expected behavior Domain should be renewed without further issues.

Screenshots No need for a screenshot, here is the error:

Oops!
Something went wrong and we couldn't process your request.
Please go back to the previous page and try again.

For additional assistance, please reference the WHMCS TroubleShooting Guide »

TypeError: array_key_exists(): Argument #2 ($array) must be of type array, bool given in /var/www/sites/proj1ty4/public_html/prod/vendor/whmcs/whmcs-foundation/lib/Hook/Manager.php:0
Stack trace:
#0 /var/www/sites/proj1ty4/public_html/prod/vendor/whmcs/whmcs-foundation/lib/Hook/Manager.php(0): array_key_exists()
#1 /var/www/sites/proj1ty4/public_html/prod/vendor/illuminate/support/Facades/Facade.php(261): WHMCS\Hook\Manager->processResults()
#2 /var/www/sites/proj1ty4/public_html/prod/vendor/whmcs/whmcs-foundation/lib/Module/Registrar.php(0): Illuminate\Support\Facades\Facade::__callStatic()
#3 /var/www/sites/proj1ty4/public_html/prod/includes/registrarfunctions.php(0): WHMCS\Module\Registrar->call()
#4 /var/www/sites/proj1ty4/public_html/prod/op/clientsdomains.php(0): RegRenewDomain()
#5 {main}

Server info:

Additional context Not only the domains ARE NOT RENEWED (I have one customer in particular that unfortunately trying to renew the domain via customer area paid domain renewals until 2026, because the domain never gets renewed), and if you renew them manually via OpenProvider Control Panel, the DOMAIN STATUS and DATES ARE NOT UPDATED.

spylex commented 1 year ago

I just missed 2 domain renewals and had to restore because the plugin just won't sync or renew.

maverick85 commented 1 year ago

Two weeks flew by... and nothing. I strongly believe this company should do an internal review on processes and organization. It's inadmissible that any fix takes weeks on end.

sapillai commented 1 year ago

Hi @maverick85 & @spylex,

We are extremely sorry for the situation. Development team has already been notified about the issue and is working to resolve it.

Regards, Openprovider Support Team

DigiNL commented 1 year ago

And this one: https://github.com/openprovider/Openprovider-WHMCS-domains/issues/240

VERY needed to fix, we now have to check domains day by day, active domains are mentioned as expired in whmcs AND not invoiced or existing invoices are cancelled!

coriaweb commented 1 year ago

I have the same error.

Is it possible that having been reported on March 6 it is still uncorrected?

DigiNL commented 1 year ago

The 'team' seems to have a long vacation as NOTHING happens with this AND other issues, bad bad bad

sapillai commented 1 year ago

Dear valued customers,

We would like to sincerely apologize for the delay in the release of the module with the promised bug fixes. We understand that you have been eagerly anticipating the updates, and we deeply regret any inconvenience that this delay may have caused.

We wish to inform you that despite our best efforts to address the list of bugs and improvements last week, we encountered a few unexpected issues during the testing phase, which prompted us to halt the release of the module as it required additional time and resources to resolve. We assure you that our team is working diligently to address these issues and we hope to deliver an improved version of the module very soon.

We understand how important it is for you to have a reliable and efficient module, and we assure you that our team is doing everything in their power to ensure that the module meets your expectations. We will keep you updated on the progress and notify you as soon as the new version is ready for use.

Once again, please accept our sincerest apologies for any inconvenience caused by this delay.

DigiNL commented 1 year ago

@sapillai what you and team should realize is that your customers live from solutions that SHOULD work 100%, if this is not the fact (and it is) people don't know this and after a long time they see that they lost income due to not working solutions. It's not some hobbyclub here, you SHOULD build maintain and bugfix this connector 24/7 as many businesses depend on this.

andaga87 commented 1 year ago

I have speak today with OpenProvider team and the new module with all the bugs fixes will not come soon! This is the response:

We keep working and developing whmcs module, we already deployed 2 big updates, the current one is delayed. However we keep improving it, no ETA tho.

It's very stressfull for us too! I don't understand how this module is not updated quickly! You are maybe on the most Domains Provider and a big part of your customer work with this module! You put us in a bad situation!

We need developp our own module?

ikke-zelf commented 1 year ago

In the meantime i'm looking at Netim as a replacement. No subscription fee needed, NL domains can be discounted if asked. easy integration, and for all a fast responsive helpdesk.

Kyzoe commented 1 year ago

I am also looking at netim but it worries me that their website is allready down for more then 1 hr.

coriaweb commented 1 year ago

We are migrating to another provider, we already have almost 70 domains moved, it is a complex process, but this is not viable.

Openprovider has gone down a lot since I met them.

ikke-zelf commented 1 year ago

Where are you moving to?

coriaweb commented 1 year ago

https://www.virtualname.es/

I spoke with them by ticket and they have left me very good rates.

They also have WHMCS modules, the only thing that "I think" that the support is Spanish, which is very useful for us.

https://whmcs.virtualname.net/

DAThosting commented 1 year ago

News from OP (In Dashboard News):

We are currently working on updating our WHMCS module, so it will be working with PHP 8.1 and with the latest version of WHMCS. ETA for this will be 2 weeks. - 23.05.2023

Hope they get it runnning the next days :) 2 weeks are over today

andaga87 commented 1 year ago

Personnaly I was totally satisfy with OP but now I was very angry with this module! We have moved all our hundreds of domains to RealtimeRegister!

The support of RealtimeRegister is just totally incredible and the module work perfectly well!

And there is an import automatic tool for moving all domains from OP to them!

Sorry for OP but on this case you have done a big error without updating this module.

maverick85 commented 1 year ago

Unfortunately it seems none is resolved yet. We had an opportunity to test the BETA module that was released like two weeks ago or something.

On the first run of the newly re-written from scratch module we immediately came across old errors like:

Which leads us to the question, if the code is new, brand new, re-thought to be fully compliant with PHP8 and more, and on the first run it shows a problem from the old code back from December? We've been waiting for over 6 months, just for this?

We immediately reported it and what we get back is a number of justifications that we simply have to accept but honestly we don't buy them.

Then we were send a fix late last week for the additionalfields.php issue.

After applying the fix we came across another issue:

So basically seems like a conflict with OP's own module "Premium DNS module".

The conclusions of this are:

  1. OpenProvider does not show to be competent to resolve the issues in their own code, often taking months after months to come up with a fix;
  2. OpenProvider does not show to be competent in their development, (or are so much competent it goes around 360º) as they manage to develop a supposedly brand new and improved module, that not only shows the same errors as the old modules, it still creates new incompatibilities with their other modules;

We are also looking for alternative providers. We have stopped promoting domain sales for over half a year due to all the issues we're having with the OpenProvider module. It's made our store unusable, they act as if they have zero liability, don't care about how many customers are being hurt, that it's causing problems and forcing clients to an added effort to overcome all the issues.

While OpenProvider takes weeks on end to solve the minimal problem, I can't recommend this to anyone.

AndyAlvarezDev commented 1 year ago

On the one hand, I agree that there should be efficient support and a completely updated module, but honestly, I don't believe that they can't develop this, rather, they're not interested. Perhaps their goal itself is for people who connect to Openprovider via WHMCS to withdraw from the system...

The subscription system they manage isn't profitable for them, but that doesn't mean they aren't capable. To be an authorized registrar by IANA, a lot of infrastructure and money is needed... The same developers who keep the services running, the API, and all the technology behind it, could clearly fix this in a few hours...

But the real question is, why doesn't anyone fix the module themselves? How can they enter the hosting and domain market without having a minimum understanding of programming? It's like selling fruits but not knowing what I'm selling!... Pay a developer to fix this module for you and that's it, I think the prices are too good to let it go just for not keeping the module updated.

sapillai commented 1 year ago

Hi All,

Greetings from Openprovider!

Please accept our sincere apologies for any inconvenience caused and the delay with the release of the updated version of the module. As some of you may have noticed already, we released two updated versions of the module with support for PHP 8.1, many bug fixes and improvements in the last 4-5 weeks. Our diligent team has taken into account the valuable feedback received from our users regarding the previous beta release, and as a result, we have implemented additional changes and improvements to effectively address the reported issues.

To facilitate broader testing and gather feedback, we have published the new version on GitHub as a pre-release. You are encouraged to download and explore this version, as it includes comprehensive fixes for all PHP 8.1 issues, improved renew logic, enhanced error reporting, etc. The pre-release can be accessed via the following link.

https://github.com/openprovider/Openprovider-WHMCS-domains/releases/tag/5.7.0-beta2

We value your insights and input during this crucial testing phase, as they will contribute to the stability and reliability of the module. Your feedback will assist us in refining the module and ensuring its seamless integration with PHP 8.1 and the latest WHMCS version.

Once again, we extend our heartfelt appreciation for your collaboration and assistance. Thank you for choosing Openprovider!

Note: Testing on a live environment is not recommended as this is a beta version.

AndyAlvarezDev commented 1 year ago

"Really, @sapillai? You say you have implemented changes and improvements...

1) I don't see any implementations. 2) Code modifications, yes.

And I think any Dev who analyses the branches of the project would say that it's a shame. Since February, they modify a few lines of code and add unnecessary line breaks and then they go back and undo the changes...

What an "ironic" way to work... This generates a very bad reputation for the company.

Corrections should be from one day to another, at most 2-3 days, and after months they announce a "beta" version. They don't even have a production version?

In the last commit you made https://github.com/openprovider/Openprovider-WHMCS-domains/commit/2a36b39d9544bf17e59eb65feb0103301b00dfc6, with all due respect, is that what you call an update?

The code was:

$call['args'] = array_map([$this, 'flattenArguments'], $call['args']);

And you've added:

$call['args'] = array_map([$this, 'flattenArguments'], (array)$call['args']);

It's irrelevant to perform the conversion to array (array)$call['args'], the reason for this is that $call['args'] is already an array...

In the context of a stack trace, which is what getTrace() returns, each element in the array represents a call in the call stack, each of these elements is an array itself that includes different details about the call...

One of these details is 'args', which is an array of arguments passed to the function in that call, therefore, 'args' will always be an array. There are many errors at first glance, take a deeper look, this is not an update!

If you really don't have anyone who can develop a good module, for 50 dollars an hour i can restructure the module in its entirety (10-15 hours) of total work. If you don't accept this offer, it's because there's no interest at all in fixing this!"

sapillai commented 1 year ago

Hi @AndyAlvarezDev

Thank you for your feedback and for your offer to restructure the module. We appreciate your willingness to assist with this task. Your proposal has been shared with our product manager, who will carefully evaluate the options available for addressing the issue. We value your input, and if there's a possibility for collaboration, we will certainly reach out to discuss the details further.

Once again, thank you for your interest and the time you've taken to present this opportunity to us.

pmjcreations commented 1 year ago

When are you planning to fix all the PHP8x-related issues and release the production-ready, aka bug-free version of your plugin?

D0ublek1ll commented 1 year ago

When are you planning to fix all the PHP8x-related issues and release the production-ready, aka bug-free version of your plugin?

I second this motion.

I've been stuck with a workflow that requires hand-on intervention for all domains we have registered trough open provider. This often fails because the rest of our business is fully automated. It is balooning costs.

We have actually started the process of slowly transfering out every domain that needs manual renewal at open provider. So if they wait too long with fixing this (aka, 9 more months or more) we will have no domains left with them. Their loss really.

Since automatic renewal or registration does not work in the latest module version, they are just slowly losing us as a customer.

NTaravati commented 1 year ago

After upgrading to phpv8.1, we missed 7 transfers. Restoring them costs 13€ each. This is an absolute mess. Please fix this issue a.s.a.p.

maxihoster commented 1 year ago

I have hire an expert company developping a lot of WHMCS module and they ask me to fix and update correctly the module of OpenProvider for less than 200$.

I have accepted the quote and the module will be available until 1 week!

I don't understand OpenProvider company about this! If you don't want publish module for your system and want other does this.... You can only said us directly the true....

spylex commented 1 year ago

@maxihoster how did that work out for you? Any advice or something you can share?

phamhung77 commented 12 months ago

Installed the latest release, and I am facing the same bug here.

ikke-zelf commented 12 months ago

I just moved away to MDR (my domain reseller)

pmjcreations commented 9 months ago

Hi @sapillai,

I see that you have changed the readme two weeks ago to

We are actively working on updating the module and hope to release a new version soon that is compatible with PHP 8 and newer WHMCS versions. Meanwhile, pull requests will be reviewed, and potentially merged.

I'm happy to see this improvement, and I can now almost stop looking for another alternative.

I wish to make things a bit clear here: WHMCS never offered support for PHP 8; they currently support PHP 8.1, and they mentioned that

PHP 8.2 support is something we are working on and aim to deliver in the first half of 2024

So, I request you to start working on PHP 8.2 or 8.1 as the supported version if the community and users agree/are interested in it.

pmjcreations commented 5 months ago

I see version 5.8.0 is now released, and the module is compatible with WHMCS versions up to 8.10.1 and PHP 8.1

sapillai commented 5 months ago

Hi,

Domain renewal issues have been fixed in the latest release - version 5.8.0 and it is compatible with PHP 8.1.

So, I request you to start working on PHP 8.2 or 8.1 as the supported version if the community and users agree/are interested in it.

@pmjcreations we already have a task for making the module compatible with PHP 8.2 and our team is working on it.