the problem is still available on
3.8.5 10335
3.8.3 10329
3.8.4 10335
+ possibly other previous versions
when any 3rd party system (payment plugin, possibly system plugin or others) load VM cart, the shopper details gets updated with currently logged in user.
to reproduce the problem easily you can modify:
\plugins\vmpayment\standard\standard.php
and update the constructor to:
function __construct (& $subject, $config) {
parent::__construct ($subject, $config);
// vmdebug('Plugin stuff',$subject, $config);
$this->_loggable = TRUE;
$this->tableFields = array_keys ($this->getTableSQLFields ());
$this->_tablepkey = 'id';
$this->_tableId = 'id';
$varsToPush = $this->getVarsToPush ();
$this->addVarsToPushCore($varsToPush,1);
$this->setConfigParameterable ($this->_configTableFieldName, $varsToPush);
$this->setConvertable(array('min_amount','max_amount','cost_per_transaction','cost_min_transaction'));
$this->setConvertDecimal(array('min_amount','max_amount','cost_per_transaction','cost_min_transaction','cost_percent_total'));
if (!class_exists('VirtueMartCart'))
require(JPATH_VM_SITE .DIRECTORY_SEPARATOR. 'helpers' .DIRECTORY_SEPARATOR. 'cart.php');
$cart = VirtueMartCart::getCart();
}
i.e with new lines that initialize the cart at BE.
best regards, stan