getSettings(SettingsConfig::VIDEO_SOURCE); if ($source === 'plugin_box') { return ProductMetaKey::basalamProductVideo(); } $mode = $settings->getSettings(SettingsConfig::VIDEO_INHERIT_MODE); if ($mode === 'manual') { $key = trim((string) $settings->getSettings(SettingsConfig::VIDEO_META_KEY)); return $key !== '' ? $key : null; } return null; } public static function resolveValue(int $productId): ?string { $settings = syncBasalamSettings(); $source = $settings->getSettings(SettingsConfig::VIDEO_SOURCE); if ($source === 'plugin_box') { return self::readMeta($productId, ProductMetaKey::basalamProductVideo()); } $mode = $settings->getSettings(SettingsConfig::VIDEO_INHERIT_MODE); if ($mode === 'manual') { $key = trim((string) $settings->getSettings(SettingsConfig::VIDEO_META_KEY)); return $key !== '' ? self::readMeta($productId, $key) : null; } foreach (self::AUTO_DETECT_META_KEYS as $key) { $value = self::readMeta($productId, $key); if ($value !== null) { return $value; } } return null; } public static function isUsingPluginBox(): bool { $source = syncBasalamSettings()->getSettings(SettingsConfig::VIDEO_SOURCE); return $source === 'plugin_box'; } public static function autoDetectMetaKeys(): array { return self::AUTO_DETECT_META_KEYS; } private static function readMeta(int $productId, string $key): ?string { $value = get_post_meta($productId, $key, true); if (is_array($value)) { $value = reset($value); } if ($value === '' || $value === null || $value === false) { return null; } return (string) $value; } }