public static function convertValue($method, $valueType, $value) { $result = null; $convert = 'no'; if ($valueType === 'datetime' || $valueType === 'date') { $postfix = ''; switch ($valueType) { case 'datetime': $postfix = '_dt'; break; case 'date': $postfix = '_d'; break; } switch ($method) { case 'add': case 'update': $convert = 'in' . $postfix; break; case 'list': case 'get': $convert = 'out' . $postfix; break; } } switch ($convert) { case 'no': $result = $value; break; case 'in_dt': $result = CRestUtil::unConvertDateTime($value); break; case 'in_d': $result = CRestUtil::unConvertDate($value); break; case 'out_dt': $result = CRestUtil::ConvertDateTime($value); break; case 'out_d': $result = CRestUtil::ConvertDate($value); break; } return $result; }
public static function getGroup($arFields, $n, $server) { $arOrder = $arFields['ORDER']; if(!is_array($arOrder)) $arOrder = array("ID" => "DESC"); $arFilter = self::checkGroupFilter($arFields['FILTER']); $arFilter['CHECK_PERMISSIONS'] = 'Y'; $result = array(); $dbRes = CSocNetGroup::GetList($arOrder, $arFilter, false, self::getNavData($n)); while($arRes = $dbRes->Fetch()) { $arRes['DATE_CREATE'] = CRestUtil::ConvertDateTime($arRes['DATE_CREATE']); $arRes['DATE_UPDATE'] = CRestUtil::ConvertDateTime($arRes['DATE_UPDATE']); $arRes['DATE_ACTIVITY'] = CRestUtil::ConvertDateTime($arRes['DATE_ACTIVITY']); if($arRes['IMAGE_ID'] > 0) { $arRes['IMAGE'] = self::getFile($arRes['IMAGE_ID']); } unset($arRes['INITIATE_PERMS']); unset($arRes['SPAM_PERMS']); unset($arRes['IMAGE_ID']); $result[] = $arRes; } return self::setNavData($result, $dbRes); }
public static function getGroup($arFields, $n, $server) { $arOrder = $arFields['ORDER']; if (!is_array($arOrder)) { $arOrder = array("ID" => "DESC"); } if ($arFields['IS_ADMIN'] == 'Y') { if (!CSocNetUser::IsCurrentUserModuleAdmin(SITE_ID, false)) { unset($arFields['IS_ADMIN']); } } $arFilter = self::checkGroupFilter($arFields['FILTER']); if ($arFields['IS_ADMIN'] != 'Y') { $arFilter['CHECK_PERMISSIONS'] = $GLOBALS["USER"]->GetID(); } $result = array(); $dbRes = CSocNetGroup::GetList($arOrder, $arFilter, false, self::getNavData($n)); while ($arRes = $dbRes->Fetch()) { $arRes['DATE_CREATE'] = CRestUtil::ConvertDateTime($arRes['DATE_CREATE']); $arRes['DATE_UPDATE'] = CRestUtil::ConvertDateTime($arRes['DATE_UPDATE']); $arRes['DATE_ACTIVITY'] = CRestUtil::ConvertDateTime($arRes['DATE_ACTIVITY']); if ($arRes['IMAGE_ID'] > 0) { $arRes['IMAGE'] = self::getFile($arRes['IMAGE_ID']); } if (CModule::IncludeModule("extranet") && ($extranet_site_id = CExtranet::GetExtranetSiteID())) { $arRes["IS_EXTRANET"] = "N"; $rsGroupSite = CSocNetGroup::GetSite($arRes["ID"]); while ($arGroupSite = $rsGroupSite->Fetch()) { if ($arGroupSite["LID"] == $extranet_site_id) { $arRes["IS_EXTRANET"] = "Y"; break; } } } unset($arRes['INITIATE_PERMS']); unset($arRes['SPAM_PERMS']); unset($arRes['IMAGE_ID']); $result[] = $arRes; } return self::setNavData($result, $dbRes); }
public static function onCallEnd($arParams) { $arParams['CALL_START_DATE'] = CRestUtil::ConvertDateTime($arParams['CALL_START_DATE']); return $arParams; }
protected function externalizeFields(&$fields, &$fieldsInfo) { if (!is_array($fields)) { return; } //Multi fields processing if (isset($fields['FM'])) { foreach ($fields['FM'] as $fmTypeID => &$fmItems) { foreach ($fmItems as &$fmItem) { $fmItem['TYPE_ID'] = $fmTypeID; unset($fmItem['ENTITY_ID'], $fmItem['ELEMENT_ID']); } unset($fmItem); $fields[$fmTypeID] = $fmItems; } unset($fmItems); unset($fields['FM']); } foreach ($fields as $k => $v) { $info = isset($fieldsInfo[$k]) ? $fieldsInfo[$k] : null; if (!$info) { unset($fields[$k]); continue; } $attrs = isset($info['ATTRIBUTES']) ? $info['ATTRIBUTES'] : array(); $isMultiple = in_array(CCrmFieldInfoAttr::Multiple, $attrs, true); $isHidden = in_array(CCrmFieldInfoAttr::Hidden, $attrs, true); $isDynamic = in_array(CCrmFieldInfoAttr::Dynamic, $attrs, true); if ($isHidden) { unset($fields[$k]); continue; } $fieldType = isset($info['TYPE']) ? $info['TYPE'] : ''; if ($fieldType === 'datetime') { if (!is_array($v)) { $fields[$k] = CRestUtil::ConvertDateTime($v); } else { $fields[$k] = array(); foreach ($v as &$value) { $fields[$k][] = CRestUtil::ConvertDateTime($value); } unset($value); } } elseif ($fieldType === 'file') { $this->tryExternalizeFileField($fields, $k, $isMultiple, $isDynamic); } elseif ($fieldType === 'webdav') { $this->tryExternalizeWebDavElementField($fields, $k, $isMultiple); } elseif ($fieldType === 'diskfile') { $this->tryExternalizeDiskFileField($fields, $k, $isMultiple); } } }
protected function tryExternalizeProductPropertyField(&$fields, &$fieldsInfo, $fieldName) { if (!is_array($fields) || !isset($fields[$fieldName])) { return; } $info = isset($fieldsInfo[$fieldName]) ? $fieldsInfo[$fieldName] : null; $value = isset($fields[$fieldName]) ? $fields[$fieldName] : null; if (!$info) { unset($fields[$fieldName]); return; } $attrs = isset($info['ATTRIBUTES']) ? $info['ATTRIBUTES'] : array(); $isMultiple = in_array(CCrmFieldInfoAttr::Multiple, $attrs, true); $isDynamic = in_array(CCrmFieldInfoAttr::Dynamic, $attrs, true); $fieldType = isset($info['TYPE']) ? $info['TYPE'] : ''; $propertyType = isset($info['PROPERTY_TYPE']) ? $info['PROPERTY_TYPE'] : ''; $userType = isset($info['USER_TYPE']) ? $info['USER_TYPE'] : ''; if ($fieldType === 'product_property' && $propertyType === 'S' && $userType === 'Date') { if (self::isIndexedArray($value)) { $fields[$fieldName] = array(); CTimeZone::Disable(); foreach ($value as $valueElement) { if (isset($valueElement['VALUE_ID']) && isset($valueElement['VALUE'])) { $fields[$fieldName][] = array('valueId' => $valueElement['VALUE_ID'], 'value' => CRestUtil::ConvertDate($valueElement['VALUE'])); } } CTimeZone::Enable(); } else { if (isset($value['VALUE_ID']) && isset($value['VALUE'])) { CTimeZone::Disable(); $fields[$fieldName] = array('valueId' => $value['VALUE_ID'], 'value' => CRestUtil::ConvertDate($value['VALUE'])); CTimeZone::Enable(); } else { $fields[$fieldName] = null; } } } elseif ($fieldType === 'product_property' && $propertyType === 'S' && $userType === 'DateTime') { if (self::isIndexedArray($value)) { $fields[$fieldName] = array(); foreach ($value as $valueElement) { if (isset($valueElement['VALUE_ID']) && isset($valueElement['VALUE'])) { $fields[$fieldName][] = array('valueId' => $valueElement['VALUE_ID'], 'value' => CRestUtil::ConvertDateTime($valueElement['VALUE'])); } } } else { if (isset($value['VALUE_ID']) && isset($value['VALUE'])) { $fields[$fieldName] = array('valueId' => $value['VALUE_ID'], 'value' => CRestUtil::ConvertDateTime($value['VALUE'])); } else { $fields[$fieldName] = null; } } } elseif ($fieldType === 'product_property' && $propertyType === 'F' && empty($userType)) { $this->tryExternalizeProductFileField($fields, $fieldName, $isMultiple, $isDynamic); } else { if (self::isIndexedArray($value)) { $fields[$fieldName] = array(); foreach ($value as $valueElement) { if (isset($valueElement['VALUE_ID']) && isset($valueElement['VALUE'])) { $fields[$fieldName][] = array('valueId' => $valueElement['VALUE_ID'], 'value' => $valueElement['VALUE']); } } } else { if (isset($value['VALUE_ID']) && isset($value['VALUE'])) { $fields[$fieldName] = array('valueId' => $value['VALUE_ID'], 'value' => $value['VALUE']); } else { $fields[$fieldName] = null; } } } }