#fix uninit usage in orderHistory method; #fix wrong encoding cancat created user name; #fixes possible crush due to spec php settings (possible crash on usages od undefined array field)
This commit is contained in:
parent
eb69ba73ec
commit
10962c7fe6
@ -362,7 +362,8 @@ class ICrmOrderActions
|
|||||||
$realUser = $USER->GetID();
|
$realUser = $USER->GetID();
|
||||||
$USER->Logout();
|
$USER->Logout();
|
||||||
} else { // for agent; to add order User
|
} else { // for agent; to add order User
|
||||||
$rsUser = CUser::GetByLogin('intarocrm');
|
// find similar login! (email / name can be used as login, due to settings diff)
|
||||||
|
$rsUser = CUser::GetList(($by='id'), ($order='desc'), array('LOGIN' => '%intarocrm%'));
|
||||||
|
|
||||||
if($arUser = $rsUser->Fetch()) {
|
if($arUser = $rsUser->Fetch()) {
|
||||||
$USER = new CUser;
|
$USER = new CUser;
|
||||||
@ -531,7 +532,7 @@ class ICrmOrderActions
|
|||||||
if ($useCaptcha == 'Y')
|
if ($useCaptcha == 'Y')
|
||||||
COption::SetOptionString('main', 'captcha_registration', 'N');
|
COption::SetOptionString('main', 'captcha_registration', 'N');
|
||||||
$userPassword = randString(10);
|
$userPassword = randString(10);
|
||||||
$newUser = $USER->Register($login, $order['customer']['firstName'], $order['customer']['lastName'],
|
$newUser = $USER->Register($login, self::fromJSON($order['customer']['firstName']), self::fromJSON($order['customer']['lastName']),
|
||||||
$userPassword, $userPassword, $order['customer']['email']);
|
$userPassword, $userPassword, $order['customer']['email']);
|
||||||
if ($useCaptcha == 'Y')
|
if ($useCaptcha == 'Y')
|
||||||
COption::SetOptionString('main', 'captcha_registration', 'Y');
|
COption::SetOptionString('main', 'captcha_registration', 'Y');
|
||||||
@ -695,6 +696,7 @@ class ICrmOrderActions
|
|||||||
|
|
||||||
switch ($ar['CODE']) {
|
switch ($ar['CODE']) {
|
||||||
case $optionsOrderProps[$arFields['PERSON_TYPE_ID']]['fio']:
|
case $optionsOrderProps[$arFields['PERSON_TYPE_ID']]['fio']:
|
||||||
|
$contactName = array(); // cleanup
|
||||||
if (isset($order['lastName']))
|
if (isset($order['lastName']))
|
||||||
$contactName['lastName'] = self::fromJSON($order['lastName']);
|
$contactName['lastName'] = self::fromJSON($order['lastName']);
|
||||||
if (isset($order['firstName']))
|
if (isset($order['firstName']))
|
||||||
@ -776,6 +778,7 @@ class ICrmOrderActions
|
|||||||
self::addOrderProperty($optionsOrderProps[$arFields['PERSON_TYPE_ID']]['email'],
|
self::addOrderProperty($optionsOrderProps[$arFields['PERSON_TYPE_ID']]['email'],
|
||||||
self::fromJSON($order['email']), $order['externalId']);
|
self::fromJSON($order['email']), $order['externalId']);
|
||||||
|
|
||||||
|
$contactName = array(); // cleanup
|
||||||
if (isset($order['firstName']))
|
if (isset($order['firstName']))
|
||||||
$contactName['firstName'] = self::fromJSON($order['firstName']);
|
$contactName['firstName'] = self::fromJSON($order['firstName']);
|
||||||
if (isset($order['lastName']))
|
if (isset($order['lastName']))
|
||||||
@ -976,17 +979,20 @@ class ICrmOrderActions
|
|||||||
if(!empty($arFields))
|
if(!empty($arFields))
|
||||||
CSaleOrder::Update($order['externalId'], $arFields);
|
CSaleOrder::Update($order['externalId'], $arFields);
|
||||||
|
|
||||||
|
if(isset($order['status']) && $order['status']) {
|
||||||
|
if(isset($optionsPayStatuses[$order['status']]) && $optionsPayStatuses[$order['status']]) {
|
||||||
// set STATUS_ID
|
// set STATUS_ID
|
||||||
if(isset($order['status']) && $order['status'] && $optionsPayStatuses[$order['status']])
|
|
||||||
CSaleOrder::StatusOrder($order['externalId'], $optionsPayStatuses[$order['status']]);
|
CSaleOrder::StatusOrder($order['externalId'], $optionsPayStatuses[$order['status']]);
|
||||||
|
|
||||||
// uncancel order
|
// uncancel order
|
||||||
if(isset($order['status']) && $order['status'] && $wasCanaceled && ($optionsPayStatuses[$order['status']] != 'YY'))
|
if($wasCanaceled && ($optionsPayStatuses[$order['status']] != 'YY'))
|
||||||
CSaleOrder::CancelOrder($order['externalId'], "N", $order['statusComment']);
|
CSaleOrder::CancelOrder($order['externalId'], "N", $order['statusComment']);
|
||||||
|
|
||||||
// cancel order
|
// cancel order
|
||||||
if(isset($order['status']) && $order['status'] && $optionsPayStatuses[$order['status']] == 'YY')
|
if($optionsPayStatuses[$order['status']] == 'YY')
|
||||||
CSaleOrder::CancelOrder($order['externalId'], "Y", $order['statusComment']);
|
CSaleOrder::CancelOrder($order['externalId'], "Y", $order['statusComment']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// set PAYED
|
// set PAYED
|
||||||
if(isset($order['paymentStatus']) && $order['paymentStatus'] && $optionsPayment[$order['paymentStatus']])
|
if(isset($order['paymentStatus']) && $order['paymentStatus'] && $optionsPayment[$order['paymentStatus']])
|
||||||
|
Loading…
x
Reference in New Issue
Block a user