News:

You may pay someone to create your store, or you visit our seminar and become a professional yourself with the silver certification

Main Menu

Joomla 5.0.0 and VM 4.2.0

Started by ptogel, November 01, 2023, 20:46:26 PM

Previous topic - Next topic

ptogel

I installed Virtuemart and received "Installation of the package was successful."

But when I try to go in the Admin to Virtuemart Configuration, I receive the error:

An error has occurred.
0 You must specify a non-empty path to clean

If I go to the ControlPanel of Virtuemart, I get the same error plus this:

No Shop Currency defined! Go to ...com/administrator/index.php?option=com_virtuemart&view=user&task=editshop

With debug on, I get:

An error has occurred.
0 You must specify a non-empty path to clean
Call Stack
#   Function   Location
1   ()   JROOT/libraries/vendor/joomla/filesystem/src/Path.php:194
2   Joomla\Filesystem\Path::clean()   JROOT/administrator/components/com_virtuemart/helpers/shopfunctions.php:1316
3   ShopFunctions::checkSafePathBase()   JROOT/administrator/components/com_virtuemart/helpers/shopfunctions.php:1180
4   ShopFunctions::getSafePathFor()   JROOT/administrator/templates/vmadmin/html/com_virtuemart/helpers/vmuikit_adminuihelper.php:128
5   vmuikitAdminUIHelper::writeVmm()   JROOT/administrator/templates/vmadmin/html/com_virtuemart/helpers/vmuikit_adminuihelper.php:100
6   vmuikitAdminUIHelper::startAdminArea()   JROOT/administrator/templates/vmadmin/html/com_virtuemart/virtuemart/default.php:24
7   include()   JROOT/libraries/src/MVC/View/HtmlView.php:416
8   Joomla\CMS\MVC\View\HtmlView->loadTemplate()   JROOT/administrator/components/com_virtuemart/helpers/vmviewadmin.php:78
9   VmViewAdmin->display()   JROOT/administrator/components/com_virtuemart/views/virtuemart/view.html.php:113
10   VirtuemartViewVirtuemart->display()   JROOT/administrator/components/com_virtuemart/helpers/vmcontroller.php:126
11   VmController->display()   JROOT/libraries/src/MVC/Controller/BaseController.php:730
12   Joomla\CMS\MVC\Controller\BaseController->execute()   JROOT/administrator/components/com_virtuemart/virtuemart.php:77
13   require_once()   JROOT/libraries/src/Dispatcher/LegacyComponentDispatcher.php:71
14   Joomla\CMS\Dispatcher\LegacyComponentDispatcher::Joomla\CMS\Dispatcher\{closure}()   JROOT/libraries/src/Dispatcher/LegacyComponentDispatcher.php:73
15   Joomla\CMS\Dispatcher\LegacyComponentDispatcher->dispatch()   JROOT/libraries/src/Component/ComponentHelper.php:361
16   Joomla\CMS\Component\ComponentHelper::renderComponent()   JROOT/libraries/src/Application/AdministratorApplication.php:150
17   Joomla\CMS\Application\AdministratorApplication->dispatch()   JROOT/libraries/src/Application/AdministratorApplication.php:195
18   Joomla\CMS\Application\AdministratorApplication->doExecute()   JROOT/libraries/src/Application/CMSApplication.php:306
19   Joomla\CMS\Application\CMSApplication->execute()   JROOT/administrator/includes/app.php:58
20   require_once()   JROOT/administrator/index.php:32



Setup:
PHP Version   8.1.25
Database Version   10.5.21-MariaDB-0+deb11u1

Any idea what is that? And how can I fix it? Or does VM not with Joomla Version 5.0.0

jenkinhill

J5/VM not properly tested by the dev team, but see comment from Milbo in this thread: http://forum.virtuemart.net/index.php?topic=150604.msg537965#msg537965
Kelvyn
Lowestoft, Suffolk, UK

Retired from forum life November 2023

Please mention your VirtueMart, Joomla and PHP versions when asking a question in this forum

ptogel

So I guess VM 4.2 is not ready. I was hopping to use VM as I used it a lot over the years. But in this case, the Joomla 5.0 site is already active and I need a solution now. So I guess we have to switch to another solution that is Joomla 5 ready...

jenkinhill

The latest member VM release from yesterday has some updates for J5.
Kelvyn
Lowestoft, Suffolk, UK

Retired from forum life November 2023

Please mention your VirtueMart, Joomla and PHP versions when asking a question in this forum

masterfromf

I have the same problem, did you manage to solve it

masterfromf

in debug mode say:
()   JROOT\libraries\vendor\joomla\filesystem\src\Path.php:194
2   Joomla\Filesystem\Path::clean()   JROOT\administrator\components\com_virtuemart\helpers\shopfunctions.php:1322
3   ShopFunctions::checkSafePathBase()   JROOT\administrator\components\com_virtuemart\helpers\shopfunctions.php:1186
4   ShopFunctions::getSafePathFor()   JROOT\administrator\components\com_virtuemart\helpers\adminui.php:130
5   AdminUIHelper::writeVmm()   JROOT\administrator\components\com_virtuemart\helpers\adminui.php:105
6   AdminUIHelper::startAdminArea()   JROOT\administrator\components\com_virtuemart\views\virtuemart\tmpl\default.php:23
7   include()   JROOT\libraries\src\MVC\View\HtmlView.php:416
8   Joomla\CMS\MVC\View\HtmlView->loadTemplate()   JROOT\administrator\components\com_virtuemart\helpers\vmviewadmin.php:78
9   VmViewAdmin->display()   JROOT\administrator\components\com_virtuemart\views\virtuemart\view.html.php:113
10   VirtuemartViewVirtuemart->display()   JROOT\administrator\components\com_virtuemart\helpers\vmcontroller.php:126
11   VmController->display()   JROOT\libraries\src\MVC\Controller\BaseController.php:730
12   Joomla\CMS\MVC\Controller\BaseController->execute()   JROOT\administrator\components\com_virtuemart\virtuemart.php:77
13   require_once()   JROOT\libraries\src\Dispatcher\LegacyComponentDispatcher.php:71
14   Joomla\CMS\Dispatcher\LegacyComponentDispatcher::Joomla\CMS\Dispatcher\{closure}()   JROOT\libraries\src\Dispatcher\LegacyComponentDispatcher.php:73
15   Joomla\CMS\Dispatcher\LegacyComponentDispatcher->dispatch()   JROOT\libraries\src\Component\ComponentHelper.php:361
16   Joomla\CMS\Component\ComponentHelper::renderComponent()   JROOT\libraries\src\Application\AdministratorApplication.php:150
17   Joomla\CMS\Application\AdministratorApplication->dispatch()   JROOT\libraries\src\Application\AdministratorApplication.php:195
18   Joomla\CMS\Application\AdministratorApplication->doExecute()   JROOT\libraries\src\Application\CMSApplication.php:306
19   Joomla\CMS\Application\CMSApplication->execute()   JROOT\administrator\includes\app.php:58
20   require_once()   JROOT\administrator\index.php:32

v1pr

Fix is easy:
- edit the file JROOT\administrator\components\com_virtuemart\helpers\shopfunctions.php
- find line 1322 (or 1316 - check the 2nd line in debug)
- simply change it to 'if ( !empty($safePath) ) $safePath = JPath::clean($safePath);' from '$safePath = JPath::clean($safePath);'

Save and try again.

spacemallow

 :) runs , thanks
Quote from: v1pr on February 29, 2024, 18:31:33 PMFix is easy:
- edit the file JROOT\administrator\components\com_virtuemart\helpers\shopfunctions.php
- find line 1322 (or 1316 - check the 2nd line in debug)
- simply change it to 'if ( !empty($safePath) ) $safePath = JPath::clean($safePath);' from '$safePath = JPath::clean($safePath);'

Save and try again.