Ejemplo n.º 1
0
 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;
 }
Ejemplo n.º 2
0
 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 === '';
 }
Ejemplo n.º 3
0
 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 === '';
 }