Example #1
0
 /**
  * @param array $fields Section fields.
  * @return bool
  */
 public static function onBeforeUpdate(&$fields)
 {
     if ($settings = InterfaceHelper::getIblockSettings($fields['IBLOCK_ID'])) {
         if (static::checkDoubleSection($fields, $settings)) {
             return false;
         }
     }
 }
Example #2
0
 /**
  * Verify the existence of duplicate elements.
  * 
  * @param array $fields Element fields.
  * @param array $settings Internationalization settings of info block.
  * @param string $action Action name.
  * @return bool
  */
 protected static function checkDoubleElement(array $fields, $settings, $action)
 {
     global $APPLICATION;
     $propIdPublicId = InterfaceHelper::getPropIdByCode($fields['IBLOCK_ID'], $settings['PROP_CODE_PUBLIC_ID']);
     $propIdLang = InterfaceHelper::getPropIdByCode($fields['IBLOCK_ID'], $settings['PROP_CODE_LANG']);
     if ($action === static::ACTION_ADD) {
         $publicId = $fields['PROPERTY_VALUES'][$propIdPublicId]['n0']['VALUE'];
         $langId = $fields['PROPERTY_VALUES'][$propIdLang]['n0']['VALUE'];
     } else {
         $publicId = $fields['PROPERTY_VALUES'][$propIdPublicId][$fields['ID'] . ':' . $propIdPublicId]['VALUE'];
         $langId = $fields['PROPERTY_VALUES'][$propIdLang][$fields['ID'] . ':' . $propIdLang]['VALUE'];
     }
     if ($fields['PROPERTY_VALUES'][$propIdPublicId]) {
         $rsElement = \CIBlockElement::GetList([], ['IBLOCK_ID' => $fields['IBLOCK_ID'], 'PROPERTY_' . $settings['PROP_CODE_PUBLIC_ID'] => $publicId, 'PROPERTY_' . $settings['PROP_CODE_LANG'] => $langId, '!ID' => $fields['ID']], false, ['nTopCount' => 1], ['ID', 'IBLOCK_ID']);
         if ($element = $rsElement->Fetch()) {
             $APPLICATION->ThrowException(Loc::getMessage('NOTAMEDIA_I18N_IBLOCK_HANDLER_ELEMENT_ALREADY_EXIST'));
             return true;
         }
     }
     return false;
 }
Example #3
0
 public static function getPropertyFieldHtml($property, $value, $strHTMLControlName)
 {
     return InterfaceHelper::getLangFieldHtml($strHTMLControlName['VALUE'], $value['VALUE'], InterfaceHelper::MODEL_ELEMENT);
 }
Example #4
0
 public function GetEditFormHTML($userField, $htmlControl)
 {
     return InterfaceHelper::getLangFieldHtml($htmlControl['NAME'], $htmlControl['VALUE'], InterfaceHelper::MODEL_SECTION);
 }