Update to Joomla 3.8.2 and Hikashop 3.2.1 Breaks a LOT of stuff

  • Posts: 60535
  • Thank you received: 8531
  • MODERATOR
4 weeks 1 day ago #284849

Hi,

Then please provide a backend and a FTP access to the website along with a link to this thread via our contact form:
www.hikashop.com/support/contact-us.html

Please Log in or Create an account to join the conversation.

  • Posts: 389
  • Thank you received: 9
  • Hikashop Essential
4 weeks 1 day ago #284883

nicolas wrote: Hi,

Then please provide a backend and a FTP access to the website along with a link to this thread via our contact form:
www.hikashop.com/support/contact-us.html


Sending over now...thank you

Please Log in or Create an account to join the conversation.

  • Posts: 60535
  • Thank you received: 8531
  • MODERATOR
4 weeks 8 hours ago #284941

Hi,

I've had a look for several hours but couldn't find a suitable solution to prevent your issue.
The issue you have is this:
When you click on something on your website your browser sends two kind of data:
- the data in the GET (in the URL)
- the data in the POST (the data sent hidden, like forms data)
Upon arrival on the server, both of these are merged into the REQUEST.
Normally, to get data coming in (what page to display, what data was sent by the user, etc), a PHP script will look in these variables.
In order to get that data HikaShop go through the Joomla JInput system.
This system filters the data for HikaShop so that the data is securised. All Joomla extensions are supposed to go through JInput and not use directly GET/REQUEST/POST.

The problem comes from the line:
$ref =& JFactory::getApplication()->input;
in the file administrator/components/com_hikashop/helpers/helper.php
This is where HikaShop get the JInput system from Joomla to be able to use it everywhere.
When I display it on your staging website with a var_dump(JFactory::getApplication()->input); all I get is the data in the GET (in the URL) and not the data in the POST, where I'm supposed to get both merged together in the REQUEST.
If I change that line to:
$ref =& JFactory::getApplication()->input->request;
then the data is there and I can use it.
However, besides GET and POST, browsers also send COOKIES and FILES data (for cookies and file uploads) and the FILES are not merged in REQUEST.
So if I do that change there, that means that the upload of files won't work properly in HikaShop. You can try to see if that change works for you, but we won't be able to include it on our end.

The real issue is that JFactory::getApplication()->input is actually supposed to have the data of REQUEST and not the data of GET only. And I don't know why it doesn't have that data on your staging website.

Please Log in or Create an account to join the conversation.

  • Posts: 389
  • Thank you received: 9
  • Hikashop Essential
3 weeks 5 days ago #284989

nicolas wrote: Hi,

I've had a look for several hours but couldn't find a suitable solution to prevent your issue.
The issue you have is this:
When you click on something on your website your browser sends two kind of data:
- the data in the GET (in the URL)
- the data in the POST (the data sent hidden, like forms data)
Upon arrival on the server, both of these are merged into the REQUEST.
Normally, to get data coming in (what page to display, what data was sent by the user, etc), a PHP script will look in these variables.
In order to get that data HikaShop go through the Joomla JInput system.
This system filters the data for HikaShop so that the data is securised. All Joomla extensions are supposed to go through JInput and not use directly GET/REQUEST/POST.

The problem comes from the line:
$ref =& JFactory::getApplication()->input;
in the file administrator/components/com_hikashop/helpers/helper.php
This is where HikaShop get the JInput system from Joomla to be able to use it everywhere.
When I display it on your staging website with a var_dump(JFactory::getApplication()->input); all I get is the data in the GET (in the URL) and not the data in the POST, where I'm supposed to get both merged together in the REQUEST.
If I change that line to:
$ref =& JFactory::getApplication()->input->request;
then the data is there and I can use it.
However, besides GET and POST, browsers also send COOKIES and FILES data (for cookies and file uploads) and the FILES are not merged in REQUEST.
So if I do that change there, that means that the upload of files won't work properly in HikaShop. You can try to see if that change works for you, but we won't be able to include it on our end.

The real issue is that JFactory::getApplication()->input is actually supposed to have the data of REQUEST and not the data of GET only. And I don't know why it doesn't have that data on your staging website.


Thanks Nicolas...sorry about the delay in getting back to you. I've been having some retina issues and wasn't able to read anything for 2 days after a small procedure.

I'll shoot this info over to the host to see if they have any information about this issue on their staging areas.

If not...any other suggestions? Maybe ask in the Joomla groups?

Please Log in or Create an account to join the conversation.

  • Posts: 60535
  • Thank you received: 8531
  • MODERATOR
3 weeks 4 days ago #284997

Hi,

The fact that JFactory::getApplication()->input doesn't contain the same thing than JFactory::getApplication()->input->request and that this only happens on your website (and not on other websites using HikaShop) is indeed strange.
I suppose that it must be linked to another extension doing strange things with JFactory::getApplication()->input
Posting on Joomla groups could be an idea yes.
Also, what you can do is try to disable the plugins, modules, components, templates one by one and see each time if you have the problem. Hopefully, you can mek it work with only disabling one extension, which will mean that the issue is something linked to what that extension does and we can move forward from there.

Please Log in or Create an account to join the conversation.

  • Posts: 389
  • Thank you received: 9
  • Hikashop Essential
3 weeks 3 days ago #285006

nicolas wrote: Hi,

The fact that JFactory::getApplication()->input doesn't contain the same thing than JFactory::getApplication()->input->request and that this only happens on your website (and not on other websites using HikaShop) is indeed strange.
I suppose that it must be linked to another extension doing strange things with JFactory::getApplication()->input
Posting on Joomla groups could be an idea yes.
Also, what you can do is try to disable the plugins, modules, components, templates one by one and see each time if you have the problem. Hopefully, you can mek it work with only disabling one extension, which will mean that the issue is something linked to what that extension does and we can move forward from there.


OK will do...I'd agree with you (even with my limited knowledge on the issue)...but I shut off everything I could find and it was still doing it.

Hopefully someone will have an answer for it.

Please Log in or Create an account to join the conversation.

Time to create page: 0.090 seconds
Powered by Kunena Forum