fix(admin): align UTM notes and block obsolete chb publication
deploy-preland / deploy zoomstage.online (push) Successful in 54s
deploy-preland / deploy zoomstage.online (push) Successful in 54s
This commit is contained in:
1 parent
f2097d4800
commit
84f70b1c71
14 files changed
+93
-29
No files matched your search
@@ -56,6 +56,12 @@ try {
|
||||
// Валидация всей грамматики без последующей сериализации decoded данных.
|
||||
json_decode($raw,false,512,JSON_THROW_ON_ERROR|JSON_BIGINT_AS_STRING);
|
||||
$offset=0; $root=utmConfigNode($raw,$offset);
|
||||
// Проверяем source keys, а не decoded object: escaped/повторные имена
|
||||
// тоже не должны скрыть chb перед публикацией enum replacement.
|
||||
foreach($root['properties']??[] as $property){
|
||||
if($property['key']['value']!=='utm'||($property['value']['type']??null)!=='object')continue;
|
||||
foreach($property['value']['properties'] as $setting)if($setting['key']['value']==='chb')throw new RuntimeException('Устаревший ключ utm.chb нельзя публиковать. Явно удалите его перед миграцией.');
|
||||
}
|
||||
$utm=utmConfigProperty($root,'utm')['value'] ?? null;
|
||||
if (($root['type'] ?? null)!=='object' || ($utm['type'] ?? null)!=='object') throw new RuntimeException('Отсутствует объект utm');
|
||||
$replacements=[];
|
||||
|
||||
Reference in new issue
Block a user