После обновления Joomla до 3.5.1, Virtuemart при оформлении заказа, выдает ошибку 0 Invalid address:
Это не полноценный багфикс, временное решение проблемы:
components/com_virtuemart/helpers/shopfunctionsf.php
Берем кусок кода:
if(!$noVendorMail) {
$replyTo[0] = $view->vendorEmail;
$replyTo[1] = $view->vendor->vendor_name;
$mailer->addReplyTo( $replyTo );
} else {
if(isset($view->orderDetails[‘details’]) and isset($view->orderDetails[‘details’][‘BT’])){
$replyTo[0] = $view->orderDetails[‘details’][‘BT’]->email;
$replyTo[1] = $view->orderDetails[‘details’][‘BT’]->first_name.’ ‘.$view->orderDetails[‘details’][‘BT’]->last_name;
} else {
if (isset($view->user->email) and $view->user->name) {
$replyTo[0] = $view->user->email;
$replyTo[1] = $view->user->name;
} else {
$replyTo[0] = $view->user[’email’];
$replyTo[1] = $view->user[‘name’];
}
}
$mailer->addReplyTo( $replyTo );
}
И меняем на:
if(!$noVendorMail) {
$replyTo[0] = $view->vendorEmail;
$nameReplyTo[0] = $view->vendor->vendor_name;
//$replyTo[1] = $view->vendor->vendor_name;
if ( version_compare( JVERSION, ‘3.0’, ‘<‘ ) == 1) {
$replyTo[1] = $nameReplyTo[0];
$mailer->addReplyTo( $replyTo);
}
else
{
$mailer->addReplyTo( $replyTo, $nameReplyTo );
}
} else {
if(isset($view->orderDetails[‘details’]) and isset($view->orderDetails[‘details’][‘BT’])){
$replyTo[0] = $view->orderDetails[‘details’][‘BT’]->email;
$nameReplyTo[0] = $view->orderDetails[‘details’][‘BT’]->first_name.’ ‘.$view->orderDetails[‘details’][‘BT’]->last_name;
} else {
if (isset($view->user->email) and $view->user->name) {
$replyTo[0] = $view->user->email;
$nameReplyTo[0] = $view->user->name;
} else {
$replyTo[0] = $view->user[’email’];
$nameReplyTo[0] = $view->user[‘name’];
}
}
if (!empty($replyTo)) {
if ( version_compare( JVERSION, ‘3.0’, ‘<‘ ) == 1) {
$replyTo[1] = $nameReplyTo[0];
$mailer->addReplyTo( $replyTo );
}
else
{
$mailer->addReplyTo( $replyTo, $nameReplyTo );
}
}
}
Если это не помогло. Меняем libraries/joomla/mail/mail.php на то же, из более старой версии.