public function CheckFields(&$arFields, $ID = false, $options = array()) { global $APPLICATION, $USER_FIELD_MANAGER; $this->LAST_ERROR = ''; if (($ID == false || isset($arFields['TITLE'])) && empty($arFields['TITLE'])) { $this->LAST_ERROR .= GetMessage('CRM_ERROR_FIELD_IS_MISSING', array('%FIELD_NAME%' => GetMessage('CRM_FIELD_TITLE'))) . "<br />"; } if (isset($arFields['FM']) && is_array($arFields['FM'])) { $CCrmFieldMulti = new CCrmFieldMulti(); if (!$CCrmFieldMulti->CheckComplexFields($arFields['FM'])) { $this->LAST_ERROR .= $CCrmFieldMulti->LAST_ERROR; } } if (isset($arFields['LOGO']) && is_array($arFields['LOGO'])) { if (($strError = CFile::CheckFile($arFields['LOGO'], 0, 0, CFile::GetImageExtensions())) != '') { $this->LAST_ERROR .= $strError . "<br />"; } } $enableUserFildCheck = !(is_array($options) && isset($options['DISABLE_USER_FIELD_CHECK']) && $options['DISABLE_USER_FIELD_CHECK'] === true); if ($enableUserFildCheck) { // We have to prepare field data before check (issue #22966) CCrmEntityHelper::NormalizeUserFields($arFields, self::$sUFEntityID, $USER_FIELD_MANAGER, array('IS_NEW' => $ID == false)); if (!$USER_FIELD_MANAGER->CheckFields(self::$sUFEntityID, $ID, $arFields)) { $e = $APPLICATION->GetException(); $this->LAST_ERROR .= $e->GetString(); } } if (strlen($this->LAST_ERROR) > 0) { return false; } return true; }
public function CheckFields(&$arFields, $ID = false, $options = array()) { global $APPLICATION, $USER_FIELD_MANAGER; $this->LAST_ERROR = ''; if (($ID == false || isset($arFields['TITLE'])) && empty($arFields['TITLE'])) { $this->LAST_ERROR .= GetMessage('CRM_ERROR_FIELD_IS_MISSING', array('%FIELD_NAME%' => GetMessage('CRM_FIELD_TITLE'))) . "<br />"; } if (is_string($arFields['OPPORTUNITY']) && $arFields['OPPORTUNITY'] !== '') { $arFields['OPPORTUNITY'] = str_replace(array(',', ' '), array('.', ''), $arFields['OPPORTUNITY']); //HACK: MSSQL returns '.00' for zero value if (strpos($arFields['OPPORTUNITY'], '.') === 0) { $arFields['OPPORTUNITY'] = '0' . $arFields['OPPORTUNITY']; } if (!preg_match('/^\\d{1,}(\\.\\d{1,})?$/', $arFields['OPPORTUNITY'])) { $this->LAST_ERROR .= GetMessage('CRM_LEAD_FIELD_OPPORTUNITY_INVALID') . "<br />"; } } if (isset($arFields['FM']) && is_array($arFields['FM'])) { $CCrmFieldMulti = new CCrmFieldMulti(); if (!$CCrmFieldMulti->CheckComplexFields($arFields['FM'])) { $this->LAST_ERROR .= $CCrmFieldMulti->LAST_ERROR; } } if (isset($arFields['BIRTHDATE']) && $arFields['BIRTHDATE'] !== '' && !CheckDateTime($arFields['BIRTHDATE'])) { $this->LAST_ERROR .= GetMessage('CRM_ERROR_FIELD_INCORRECT', array('%FIELD_NAME%' => self::GetFieldCaption('BIRTHDATE'))) . "<br />"; } $enableUserFildCheck = !(is_array($options) && isset($options['DISABLE_USER_FIELD_CHECK']) && $options['DISABLE_USER_FIELD_CHECK'] === true); if ($enableUserFildCheck) { // We have to prepare field data before check (issue #22966) CCrmEntityHelper::NormalizeUserFields($arFields, self::$sUFEntityID, $USER_FIELD_MANAGER, array('IS_NEW' => $ID == false)); if (!$USER_FIELD_MANAGER->CheckFields(self::$sUFEntityID, $ID, $arFields)) { $e = $APPLICATION->GetException(); $this->LAST_ERROR .= $e->GetString(); } } return $this->LAST_ERROR === ''; }
public function CheckFields(&$arFields, $ID = false, $options = array()) { global $APPLICATION, $USER_FIELD_MANAGER; $this->LAST_ERROR = ''; if (($ID == false || isset($arFields['NAME']) && isset($arFields['LAST_NAME'])) && (empty($arFields['NAME']) && empty($arFields['LAST_NAME']))) { $this->LAST_ERROR .= GetMessage('CRM_ERROR_REQUIRED_FIELDS') . "<br />"; } if (isset($arFields['FM']) && is_array($arFields['FM'])) { $CCrmFieldMulti = new CCrmFieldMulti(); if (!$CCrmFieldMulti->CheckComplexFields($arFields['FM'])) { $this->LAST_ERROR .= $CCrmFieldMulti->LAST_ERROR; } } if (isset($arFields['PHOTO']) && is_array($arFields['PHOTO'])) { if (($strError = CFile::CheckFile($arFields['PHOTO'], 0, 0, CFile::GetImageExtensions())) != '') { $this->LAST_ERROR .= $strError . "<br />"; } } if (isset($arFields['BIRTHDATE']) && $arFields['BIRTHDATE'] !== '' && !CheckDateTime($arFields['BIRTHDATE'])) { $this->LAST_ERROR .= GetMessage('CRM_ERROR_FIELD_INCORRECT', array('%FIELD_NAME%' => self::GetFieldCaption('BIRTHDATE'))) . "<br />"; } $enableUserFildCheck = !(is_array($options) && isset($options['DISABLE_USER_FIELD_CHECK']) && $options['DISABLE_USER_FIELD_CHECK'] === true); if ($enableUserFildCheck) { // We have to prepare field data before check (issue #22966) CCrmEntityHelper::NormalizeUserFields($arFields, self::$sUFEntityID, $USER_FIELD_MANAGER, array('IS_NEW' => $ID == false)); if (!$USER_FIELD_MANAGER->CheckFields(self::$sUFEntityID, $ID, $arFields)) { $e = $APPLICATION->GetException(); $this->LAST_ERROR .= $e->GetString(); } } return $this->LAST_ERROR === ''; }