fix bug
This commit is contained in:
parent
38c0a7c20e
commit
a05eed8ffe
4 changed files with 30 additions and 22 deletions
26
intaro.retailcrm/classes/general/BuilderBase.php
Normal file
26
intaro.retailcrm/classes/general/BuilderBase.php
Normal file
|
@ -0,0 +1,26 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Class BuilderBase
|
||||
*/
|
||||
class BuilderBase
|
||||
{
|
||||
/**
|
||||
* @param array $array
|
||||
* @param array $symbols
|
||||
* @return array
|
||||
*/
|
||||
function arrayClear(array $array, array $symbols = array('', 0, null))
|
||||
{
|
||||
return array_diff($array, $symbols);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $data
|
||||
* @return array
|
||||
*/
|
||||
function objectToArray($data)
|
||||
{
|
||||
return $this->arrayClear(json_decode(json_encode($data), true));
|
||||
}
|
||||
}
|
|
@ -3,7 +3,7 @@
|
|||
/**
|
||||
* Class CustomerBuilder
|
||||
*/
|
||||
class CustomerBuilder implements RetailcrmBuilderInterface
|
||||
class CustomerBuilder extends BuilderBase implements RetailcrmBuilderInterface
|
||||
{
|
||||
/** @var classes/general/Model/Customer */
|
||||
public $customer;
|
||||
|
@ -141,7 +141,7 @@ class CustomerBuilder implements RetailcrmBuilderInterface
|
|||
$this->createCustomer();
|
||||
}
|
||||
|
||||
if (isset($this->registeredUserID)) {
|
||||
if (isset($this->registeredUserID) || isset($this->dataCrm['externalId'])) {
|
||||
$this->updateCustomer();
|
||||
}
|
||||
|
||||
|
@ -264,23 +264,4 @@ class CustomerBuilder implements RetailcrmBuilderInterface
|
|||
$this->customer->setPersonalGender(RCrmActions::fromJSON($this->dataCrm['sex']));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $array
|
||||
* @param array $symbols
|
||||
* @return array
|
||||
*/
|
||||
function arrayClear(array $array, array $symbols = array('', 0, null))
|
||||
{
|
||||
return array_diff($array, $symbols);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $data
|
||||
* @return array
|
||||
*/
|
||||
function objectToArray($data)
|
||||
{
|
||||
return $this->arrayClear(json_decode(json_encode($data), true));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
/**
|
||||
* Class CustomerCorpBuilder
|
||||
*/
|
||||
class CustomerCorpBuilder implements RetailcrmBuilderInterface
|
||||
class CustomerCorpBuilder extends BuilderBase implements RetailcrmBuilderInterface
|
||||
{
|
||||
/** @var classes/general/Model/Customer */
|
||||
public $customer;
|
||||
|
|
|
@ -35,5 +35,6 @@ CModule::AddAutoloadClasses(
|
|||
'CustomerContragent' => 'classes/general/Model/CustomerContragent.php',
|
||||
'BuyerProfile' => 'classes/general/Model/BuyerProfile.php',
|
||||
'AdressBuilder' => 'classes/general/AdressBuilder.php',
|
||||
'BuilderBase' => 'classes/general/BuilderBase.php',
|
||||
)
|
||||
);
|
||||
|
|
Loading…
Add table
Reference in a new issue