Пример #1
0
 /**
  * Convert keys to camelCase
  *
  * @param array $dataArray
  * @return \stdClass
  */
 public function convertKeysToCamelCase(array $dataArray)
 {
     $response = [];
     if (isset($dataArray[EavAbstractObject::CUSTOM_ATTRIBUTES_KEY])) {
         $dataArray = EavDataObjectConverter::convertCustomAttributesToSequentialArray($dataArray);
     }
     foreach ($dataArray as $fieldName => $fieldValue) {
         if (is_array($fieldValue) && !$this->_isSimpleSequentialArray($fieldValue)) {
             $fieldValue = $this->convertKeysToCamelCase($fieldValue);
         }
         $fieldName = lcfirst(str_replace(' ', '', ucwords(str_replace('_', ' ', $fieldName))));
         $response[$fieldName] = $fieldValue;
     }
     return $response;
 }
Пример #2
0
 /**
  * Convert data object to array and process available custom attributes
  *
  * @param array $dataObjectArray
  * @return array
  */
 protected function processDataObject($dataObjectArray)
 {
     if (isset($dataObjectArray[EavAbstractObject::CUSTOM_ATTRIBUTES_KEY])) {
         $dataObjectArray = EavDataObjectConverter::convertCustomAttributesToSequentialArray($dataObjectArray);
     }
     //Check for nested custom_attributes
     foreach ($dataObjectArray as $key => $value) {
         if (is_array($value)) {
             $dataObjectArray[$key] = $this->processDataObject($value);
         }
     }
     return $dataObjectArray;
 }