36 $attributs = isset(
$info[
'ATTRIBUTES']) ?
$info[
'ATTRIBUTES'] : [];
44 'TYPE' =>
$info[
'TYPE'],
73 if(in_array(
$name, $ignoredFields))
79 if(isset(
$info[
'ATTRIBUTES']))
81 $skipAttr = array_intersect($ignoredAttributes,
$info[
'ATTRIBUTES']);
97 return (isset(
$fields[
'ID']) ===
false);
108 $converter =
new Converter(Converter::VALUES | Converter::TO_SNAKE | Converter::TO_UPPER| Converter::TO_SNAKE_DIGIT);
110 return $this->converterValuesProcessOnAfter(
$items);
122 $converter =
new Converter(Converter::VALUES | Converter::TO_UPPER);
123 $converterForKey =
new Converter(Converter::KEYS | Converter::TO_SNAKE | Converter::TO_UPPER | Converter::TO_SNAKE_DIGIT);
125 foreach ($converter->process(
$fields) as
$key=>$value)
129 return $this->converterKeysProcessOnAfter(
$result);
139 $converter =
new Converter(Converter::KEYS | Converter::RECURSIVE | Converter::TO_SNAKE | Converter::TO_UPPER | Converter::TO_SNAKE_DIGIT);
141 return $this->converterKeysProcessOnAfter(
$items);
144 private function converterKeysProcessOnAfter(
$items):
array
154 private function converterValuesProcessOnAfter(
$items):
array
164 private function resolveFieldName(
$name)
166 if (
$name ===
'ID_1_C')
171 if (
$name ===
'VERSION_1_C')
176 if (
$name ===
'UPDATED_1_C')
266 if(
$type === self::TYPE_DATE ||
$type === self::TYPE_DATETIME)
274 $time = strtotime($value);
278 if($date instanceof
Date)
284 $result->addError(
new Error(
'internalize data field error', 0));
311 $value = current($r->getData());
327 $fieldsInfo = empty($fieldsInfo)? $this->
getFields():$fieldsInfo;
333 foreach (
$fields as $rawName=>$value)
337 $info = isset($listFieldsInfo[$field[
'FIELD']]) ? $listFieldsInfo[$field[
'FIELD']]:
null;
346 $value = current($r->getData());
353 $operation = mb_substr($rawName, 0, mb_strlen($rawName) - mb_strlen($field[
'FIELD']));
354 if(isset(
$info[
'FORBIDDEN_FILTERS'])
355 && is_array(
$info[
'FORBIDDEN_FILTERS'])
356 && in_array($operation,
$info[
'FORBIDDEN_FILTERS'],
true))
371 $fieldsInfo = empty($fieldsInfo)? $this->
getFields():$fieldsInfo;
377 $result = array_keys($listFieldsInfo);
400 $fieldsInfo = empty($fieldsInfo)? $this->
getFields():$fieldsInfo;
409 $info = isset($listFieldsInfo[$field]) ? $listFieldsInfo[$field]:
null;
442 $fieldsIsAlias = isset($rewriteFields[
$name]);
446 if(isset($rewriteFields[
$name][
'REFERENCE_FIELD']))
466 foreach (
$fields as $rawName=>$value)
470 $fieldsIsAlias = isset($rewriteFields[$field[
'FIELD']]);
474 if(isset($rewriteFields[$field[
'FIELD']][
'REFERENCE_FIELD']))
476 $originalName = $rewriteFields[$field[
'FIELD']][
'REFERENCE_FIELD'];
477 $operation = mb_substr($rawName, 0, mb_strlen($rawName) - mb_strlen($field[
'FIELD']));
478 $result[$operation.$originalName] = $value;
497 $fieldsIsAlias = isset($rewriteFields[
$name]);
501 if(isset($rewriteFields[
$name][
'REFERENCE_FIELD']))
503 $result[$rewriteFields[
$name][
'REFERENCE_FIELD']] = $value;
528 $fieldsInfo = empty($fieldsInfo) ? $this->
getFields():$fieldsInfo;
532 if(is_array($list) &&
count($list)>0)
534 foreach ($list as
$k=>$item)
558 'ignoredAttributes' => [
574 $hasValue = isset($value) && $value !==
'';
578 case DataType::TYPE_STRING:
579 case DataType::TYPE_CHAR:
580 case DataType::TYPE_TEXT:
581 $value = (string)$value;
583 case DataType::TYPE_FLOAT:
584 $value = $hasValue ? (float)$value :
null;
586 case DataType::TYPE_INT:
587 $value = $hasValue ? (int)$value :
null;
589 case DataType::TYPE_DATE:
592 $time = strtotime($value);
593 $value =
$time ? Date::createFromTimestamp(
$time) :
null;
600 case DataType::TYPE_DATETIME:
603 $time = strtotime($value);
604 $value =
$time ? DateTime::createFromTimestamp(
$time) :
null;
611 case DataType::TYPE_DATATYPE:
612 case DataType::TYPE_LIST:
628 if(is_array($list) &&
count($list)>0)
666 return Converter::toJson()
677 if(!$required->isSuccess())
678 $r->addError(
new Error(
'Required fields: '.implode(
', ', $required->getErrorMessages())));
688 if(!$required->isSuccess())
689 $r->addError(
new Error(
'Required fields: '.implode(
', ', $required->getErrorMessages())));
699 if(!$required->isSuccess())
700 $r->addError(
new Error(
'Required fields: '.implode(
' ', $required->getErrorMessages())));
745 if(in_array(
$name, $delRequiredFields))
checkRequiredFieldsAdd($fields)
externalizeListFields($list)
externalizeFields($fields)
rewriteFieldsList($arguments)
internalizeFieldValue($value, $info)
checkFieldsUpdate($fields)
internalizeFieldsTryUpdate($fields)
internalizeFieldsTryModify($fields)
internalizeSelectFields($fields, array $fieldsInfo)
internalizeArguments($name, $arguments)
convertKeysToCamelCase($fields)
getListFieldInfo(array $fieldsInfo, $params=[])
internalizeFilterFields($fields, array $fieldsInfo)
rewriteSelectFields($fields)
checkFieldsModify($fields)
externalizeFieldsModify($fields)
externalizeFieldsTryModify($fields)
convertKeysToSnakeCaseOrder($fields)
convertKeysToSnakeCaseArguments($name, $arguments)
prepareFieldInfos($fields)
checkArguments($name, $arguments)
convertKeysToSnakeCase($data)
rewriteOrderFields($fields)
internalizeFieldsTryAdd($fields)
internalizeOrderFields($fields, array $fieldsInfo)
internalizeFieldsUpdate($fields)
convertKeysToSnakeCaseSelect($fields)
checkRequiredFieldsUpdate($fields)
internalizeFieldsList($arguments)
externalizeResult($name, $fields)
checkRequiredFieldsModify($fields)
internalizeFields($fields, array $fieldsInfo)
internalizeListFields($list, $fieldsInfo=[])
convertKeysToSnakeCaseFields($fields)
internalizeFieldsAdd($fields)
convertKeysToSnakeCaseFilter($fields)
rewriteFilterFields($fields)
checkRequiredFields($fields, array $fieldsInfo, $params=[])
internalizeFieldsModify($fields)
static GetFilterOperation($key)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
if($NS['step']==6) if( $NS[ 'step']==7) if(COption::GetOptionInt('main', 'disk_space', 0) > 0) $info
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
if(empty($signedUserToken)) $key
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"
if($inWords) echo htmlspecialcharsbx(Number2Word_Rus(roundEx($totalVatSum $params['CURRENCY']