...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/webform/design.php
- Класс: Bitrix\Crm\WebForm\Design
- Вызов: Design::setOptions
public function setOptions(array $options = []) { foreach ($options as $key => $value) { if (!isset($this->options[$key])) { continue; } $value = is_bool($value) ? ($value ? 'Y' : 'N') : $value; switch ($key) { case 'theme': $allowed = self::getThemes(); if (!isset($allowed[$value])) { $value = ''; } break; case 'dark': $allowed = self::getModes(); if (!isset($allowed[$value])) { $value = 'N'; } break; case 'shadow': $value = $value === 'Y' ? 'Y' : 'N'; break; case 'font': if (!is_array($value)) { $value = []; } $fontUri = trim(isset($value['uri']) ? (string) $value['uri'] : ''); $fontUri = mb_strpos($fontUri, 'https://fonts.googleapis.com/css') === 0 ? $fontUri : ''; $value = [ 'uri' => $fontUri, 'family' => isset($value['family']) ? (string) $value['family'] : '' ]; break; case 'border': if (!is_array($value)) { $value = []; } $value = array_intersect_key($value, $this->options['border']); foreach ($value as $index => $val) { $val = is_bool($val) ? ($val ? 'Y' : 'N') : $val; $value[$index] = $val === 'Y' ? 'Y' : 'N'; } break; case 'color': if (!is_array($value)) { $value = []; } $value = array_intersect_key($value, $this->options['color']); foreach ($value as $index => $val) { $value[$index] = (string) $val; } break; default: $value = (string) $value; break; } $this->options[$key] = $value; } return $this; }