VirtueMart Forum

VirtueMart 2 + 3 + 4 => Virtuemart Development and bug reports => Topic started by: Milbo on October 08, 2018, 09:44:35 AM

Title: New stable release candidate vm 3.4.2.9966 released, complete list of changes
Post by: Milbo on October 08, 2018, 09:44:35 AM
The problem started with a small change to the Joomla updater, which required us to write a system plugin for third-party VirtueMart plugins. But of course a few third-party developers did the same thing (one of them gave us the code instead of providing his own) and so we encountered several plugins trying to load the VirtuemartConfig class before the updater could load the config class from the new installation files. So the updater got the wrong paths. Normally this wouldn't be a big deal as long as the correct SQL files are loaded, because most of the installation functions are based on those of the installation program.

But one of the big design changes in VM 3.4 was to use the Joomla class loader. The old VirtueMartConfig classes didn't register the new classes and all old 'if class not exists' constructions were removed, so some users had missing classes when they updated the core program. We are sorry about that.

We noticed this problem a few months ago and updated the system installer to check if there is an update and set the correct path. But we overlooked the point that third-party system plugins can already be loaded and that our system plugin is usually updated later (most people update the core first, then AIO). So users who updated got the problem that the updater loaded the wrong SQL files. The simple fix was to use the installation files to update again, or to run our tool (usually for developers only) "Install or if necessary update tables". This was the reason why we changed the installation files within 2 days of the release. The new installer now always uses the correct directory and it is no longer dependent on the loaded VirtueMart config class. In addition, the classes are re-registered in the Joomla class loader with the correct path. Third party vendors should update their system plugins by loading the VirtueMartConfig class in the same way as ours.

r9962
Fix for vendor list (Fallback for multilang was missing)
---------------------
r9961
- fixed bug of double encrypted fields in case of table loaded with language fallback
- Enhanced installation of language tables (fullinstaller, normal install, language change)
---------------------
r9955
- backend category listing, added strip_tags to category_description (invalid html in the description could break the list layout)
- removed accidently set comment at trigger plgVmOnStoreInstallPluginTable (customs) and added an if so that the trigger is only executed when a custom with plugin is stored
- added allIds to fillVoidProduct to avoid notices
- readded function _getCustomPrice
---------------------
r9954
- VmConfig the option "Use Global Configuration" displays now the language tag of the global configuration
- installer, removed COM_VM_INSTALL_VMCONFIG_ALREADY_LOADED
---------------------
r9953
added function vRequest::vmHtmlEntities and used it anywhere in product edit (replaced old htmlentities respectivly htmlspecialchars)
---------------------
r9952
Fixed order tracking mode
---------------------
r9951
Paypal Smart Buttons added label, language, ...
---------------------
r9950
- sendVmMail: more robust code
---------------------
r9949
Fixed 404 handling, 404 is now set in the header
---------------------
r9944
eway: fixes in payment currency
---------------------
r9943
Eway uses an AJAX page using the JSONP submission script State code sent to Eway countrycode + state code payment currency fixed
---------------------
r9939
- Moved vmDefines outside config
- Important fix for the country/state checker again, when no state/country userfield was published
- Userfields, cart address should show now the country in the right language
- order status was sometimes in invoice mail not correctly translated
---------------------
Title: Re: New stable release candidate vm 3.4.2.9966 released, complete list of changes
Post by: Studio 42 on October 10, 2018, 00:18:05 AM
Is this fixed http://forum.virtuemart.net/index.php?topic=141192.msg496925;topicseen#msg496925
Title: Re: New stable release candidate vm 3.4.2.9966 released, complete list of changes
Post by: aninka on October 10, 2018, 13:12:09 PM
I did the update today and now when I log in to my Joomla administration site, I get the menus and a blank page.  there is the "Error 1242 subquery returns mor than 1 row" none of the menu options are working and VM is totally missing from all the menus.
I can't work out what to do, the front end of the website is working fine but I can't access anything on the backend including updating customer orders. 

Please help, I think this issue happened when the VM aio was being updated as it was all working well before that.

Please help, running Joomla 3.8.13 PHP 7.0.32 Virtuemart latest version updated today but can't access to tell you what version it is.  :'(
Title: Re: New stable release candidate vm 3.4.2.9966 released, complete list of changes
Post by: GJC Web Design on October 10, 2018, 13:21:42 PM
In an emergency u can always access your VM by   https://www.yoursite.com/administrator/index.php?option=com_virtuemart
Title: Re: New stable release candidate vm 3.4.2.9966 released, complete list of changes
Post by: aninka on October 10, 2018, 13:27:19 PM
thanks but that is not working either using https://www.yoursite.com/administrator/index.php?option=com_virtuemart gives me the same result.   a white page with the top admin menu that doesn't work. 

How else can I fix this?
Title: Re: New stable release candidate vm 3.4.2.9966 released, complete list of changes
Post by: StefanSTS on October 10, 2018, 13:48:56 PM
Maybe install VM 3.4.0 for now. Download section: http://dev.virtuemart.net/projects/virtuemart/files

Stefan
Title: Re: New stable release candidate vm 3.4.2.9966 released, complete list of changes
Post by: aninka on October 10, 2018, 13:57:49 PM
Thanks but would installing this wipe out my data, media files, settings etc?  and how do I install it if I can't access the Joomla administration section?


Title: Re: New stable release candidate vm 3.4.2.9966 released, complete list of changes
Post by: GJC Web Design on October 10, 2018, 14:15:16 PM
Data is never touched in upgrades/down grades

the white screen is a fatal error

read here and find what it is  http://forum.virtuemart.net/index.php?topic=117042.0

everything is fixable

Title: Re: New stable release candidate vm 3.4.2.9966 released, complete list of changes
Post by: GJC Web Design on October 10, 2018, 14:16:16 PM
Quoteand how do I install it if I can't access the Joomla administration section?

so NOTHING is visible in the Joomla admin?
Title: Re: New stable release candidate vm 3.4.2.9966 released, complete list of changes
Post by: Studio 42 on October 10, 2018, 14:18:57 PM
If you cannot modify the config, you should edit the configuration.php file in the Jomla root folder and set public $error_reporting = 'maximum';
Title: Re: New stable release candidate vm 3.4.2.9966 released, complete list of changes
Post by: welrachid on October 10, 2018, 14:47:29 PM
Hi Guys.
im using a custombuild component to make the life of a shopowner easier. I have a controller in which i have tasks that all rely on this old
      if (!class_exists ('shopFunctionsF'))
         require(VMPATH_SITE . DS . 'helpers' . DS . 'shopfunctionsf.php');

Apparently DS is no longer defined, so i changed this to DIRECTORY_SEPARATOR
VMPATH_SITE is also not defined, so i cant get classes loaded correctly.

this means that:
$orderModel=VmModel::getModel('orders');
gives me a Fatal error.

Is there a place where i can see how its supposed to be done?
this probably means i need to change a lot of internal plugins to make them work correctly..
(Was working correctly in 3.2.14)

Thanks.
Title: Re: New stable release candidate vm 3.4.2.9966 released, complete list of changes
Post by: aninka on October 10, 2018, 14:56:43 PM
no, nothing is showing except the normal joomla menu but the menu options are not working at all.  The Virtuemart menu options are missing from the menu, they won't load. 

It is the update that broke it, particularly the aio update, everything was fine until then.

not sure how I can install the previous version without Joomla working. 

The only other option I can think of is to restore from yesterday's back up but I will loose my customer information and the orders that came through today. 

Any help at this stage would be great, please
Title: Re: New stable release candidate vm 3.4.2.9966 released, complete list of changes
Post by: GJC Web Design on October 10, 2018, 15:00:05 PM
I do something like this is external comps

      if (!class_exists( 'VmConfig' )) {
      require(JPATH_ADMINISTRATOR.DIRECTORY_SEPARATOR.'components'.DIRECTORY_SEPARATOR.'com_virtuemart'.DIRECTORY_SEPARATOR.'helpers'.DIRECTORY_SEPARATOR.'config.php');
      VmConfig::loadConfig();
}

Max will probably have a fit though..  ;)
Title: Re: New stable release candidate vm 3.4.2.9966 released, complete list of changes
Post by: GJC Web Design on October 10, 2018, 15:01:57 PM
QuoteAny help at this stage would be great, please


Quotethe white screen is a fatal error

read here and find what it is  http://forum.virtuemart.net/index.php?topic=117042.0


??????

and the error is?
Title: Re: New stable release candidate vm 3.4.2.9966 released, complete list of changes
Post by: welrachid on October 10, 2018, 15:24:47 PM
Quote from: GJC Web Design on October 10, 2018, 15:00:05 PM
I do something like this is external comps

      if (!class_exists( 'VmConfig' ))
      require(JPATH_ADMINISTRATOR.DIRECTORY_SEPARATOR.'components'.DIRECTORY_SEPARATOR.'com_virtuemart'.DIRECTORY_SEPARATOR.'helpers'.DIRECTORY_SEPARATOR.'config.php');
      VmConfig::loadConfig();
}

Max will probably have a fit though..  ;)

Thanks. Works like a charm. it was missing "{"
Title: Re: New stable release candidate vm 3.4.2.9966 released, complete list of changes
Post by: aninka on October 10, 2018, 16:01:55 PM
well thank you for the link but that was a waste of time.  I tried all methods to reveal the error but none of them worked. 

Not sure what config file they are referring to as I looked at all of them and did not find where to set "PHP Developer mode"

Site is still broken, need some help to fix this, please
Title: Re: New stable release candidate vm 3.4.2.9966 released, complete list of changes
Post by: aninka on October 10, 2018, 16:06:05 PM
Quote from: Studio 42 on October 10, 2018, 14:18:57 PM
If you cannot modify the config, you should edit the configuration.php file in the Jomla root folder and set public $error_reporting = 'maximum';

I tried this and it didn't provide any error either.
Title: Re: New stable release candidate vm 3.4.2.9966 released, complete list of changes
Post by: GJC Web Design on October 10, 2018, 16:16:08 PM
no one can help u without knowing what the fatal problem is and probably access to your site .. 
how would anyone here know what the problem is when the only info is that the admin white screens?

could be anything...   
Title: Re: New stable release candidate vm 3.4.2.9966 released, complete list of changes
Post by: aninka on October 10, 2018, 23:56:19 PM
yes it could be anything but it was caused by the update.  And no one has been able to help me find out how to see what the problem is.
Title: Re: New stable release candidate vm 3.4.2.9966 released, complete list of changes
Post by: Studio 42 on October 11, 2018, 01:52:07 AM
Quote from: aninka on October 10, 2018, 23:56:19 PM
yes it could be anything but it was caused by the update.  And no one has been able to help me find out how to see what the problem is.
As GJC Web Design said a blank page is a PHP error.
I : If you cannot modify the config, you should edit the configuration.php file in the Jomla root folder and set public $error_reporting = 'maximum';
So you have the answer.

But the error can be hide by the server config. You should see in your panel or php.ini, how to change the php error reporting.
If you dont know, then email to the server support. We cannot help you if we have no report. A blank page is the result, not the problem.

You are not a developper and cannot solve it ? Then you have to hire someone.

P.S: this is a help forum, no one get paid to help you in the forum, so please be cool.
Title: Re: New stable release candidate vm 3.4.2.9966 released, complete list of changes
Post by: StefanSTS on October 11, 2018, 22:22:37 PM
@Aninka Why don't you export you database and put your backup online?

So the tenison is over and you can do what everyone should do: set up a test environment and test NOT in your live shop that gets orders every day, but in a secure space.

Stefan

Title: Re: New stable release candidate vm 3.4.2.9966 released, complete list of changes
Post by: Milbo on October 21, 2018, 22:46:32 PM
Quote from: welrachid on October 10, 2018, 14:47:29 PM

      if (!class_exists ('shopFunctionsF'))
         require(VMPATH_SITE . DS . 'helpers' . DS . 'shopfunctionsf.php');

Apparently DS is no longer defined, so i changed this to DIRECTORY_SEPARATOR
VMPATH_SITE is also not defined, so i cant get classes loaded correctly.

this means that:
$orderModel=VmModel::getModel('orders');
gives me a Fatal error.

This is very strange, because the DS is still defined. Since vm2.0.0 there is the advice to use

if (!class_exists( 'VmConfig' )) {
require(JPATH_ROOT .'/administrator/components/com_virtuemart/helpers/config.php');
VmConfig::loadConfig();
}


Then the DS is defined again. It is now just good style to remove it. Ah yes and the line itself uses the / now. So as GJC already wrote.