VirtueMart Forum

VirtueMart 2 + 3 + 4 => Virtuemart Development and bug reports => Topic started by: diri on September 30, 2022, 10:07:23 AM

Title: VM 4.0.7.10713/10714, com_tcpdf 1.2.2 install error
Post by: diri on September 30, 2022, 10:07:23 AM
Joomla 3.10.11, PHP 7.4.x

When trying to install component mentioned above following error occurs:
Class 'vRequest' not found

Same is true for VM 4.0.7.10714.

cu, diri
Title: Re: VM 4.0.7.10713/10714, com_tcpdf 1.2.2 install error
Post by: Milbo on October 02, 2022, 22:56:42 PM
Alright, thanks for reporting.
I just added the fix. That just posts the message in the package installer, that tcpdf got installed. When the packages is used, there is no problem, because vm is loaded (with vRequest).
Title: Re: VM 4.0.7.10713/10714, com_tcpdf 1.2.2 install error
Post by: diri on October 04, 2022, 09:46:54 AM
Hi Milbo,

I'm not sure to understand you correct...

The test has been performed without package installation but in following sequence:
1 Install com_virtuemart
2 Install AIO
3 Install VMAdmin
4 Install TCPDF
5 Install rest of updates

cu, diri
Title: Re: VM 4.0.7.10713/10714, com_tcpdf 1.2.2 install error
Post by: Milbo on October 04, 2022, 20:58:22 PM
Yes, the installer is a pure joomla installer. But it is meant to be installed with the package, that is the main job.

To display the installation success, we use a variable in Request. I set this variable with vRequest::setVar, but that is a vm command, which only works, if vm is installed. I added:

if(class_exist('vRequest')) vRequest::setVar('tcpdf_html',$html);
$_REQUEST['tcpdf_html'] = $html;

Before it was just the $_REQUEST, but that does not work in vm with the vRequest. The reason is j4, or the router, as you see it.

When the page is opened with SEF, there is no GET data, just a single string. So we get the whole Request only after the router. For this reason the vRequest has now an initialisation, which merges the data of the GET into the REQUEST. And all that is cached. So the simple $_REQUEST does not work anylonger (btw as joomlas JInput).