HEX
Server: LiteSpeed
System: Linux houston.panomity.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
User: nudepix (1011)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //proc/thread-self/root/tmp/cs-sound-ready-create-setup.patch
*** Begin Patch
*** Update File: /home/kiwerkzeuge.de/public_html/creator-studio/_lib/bootstrap.php
@@
     $template = cs_photo_carousel_template($templateId);
     $templateId = (string) $template['template_id'];
+    $delivery = cs_photo_carousel_delivery_mode((string) ($input['delivery_mode'] ?? 'photo_media_upload'));
+    $deliveryMode = (string) $delivery['mode'];
+    $ctaUrl = trim((string) ($input['cta_url'] ?? ''));
+    if ($ctaUrl !== '') {
+        $ctaUrl = cs_validate_https_url($ctaUrl, 'CTA URL');
+    }
+    $ctaHost = '';
+    if ($ctaUrl !== '') {
+        $host = parse_url($ctaUrl, PHP_URL_HOST);
+        $ctaHost = is_string($host) ? strtolower($host) : '';
+    }
+    $soundDirection = cs_clean_lead_text($input['sound_direction'] ?? '', 240);
+    if ($soundDirection === '' && $deliveryMode === 'sound_ready_mp4') {
+        $soundDirection = 'Brand-safe upbeat bed embedded into the vertical MP4 before TikTok handoff.';
+    }
+    $visibleUrlRequired = cs_notification_bool_value($input['visible_url_required'] ?? ($deliveryMode === 'sound_ready_mp4'), $deliveryMode === 'sound_ready_mp4');
+    $qrRequired = cs_notification_bool_value($input['qr_required'] ?? ($deliveryMode === 'sound_ready_mp4'), $deliveryMode === 'sound_ready_mp4');
+    $aiDisclosureRequired = cs_notification_bool_value($input['ai_disclosure_required'] ?? true, true);
+    if ($deliveryMode === 'sound_ready_mp4' && ($visibleUrlRequired || $qrRequired) && $ctaUrl === '') {
+        throw new RuntimeException('Sound-ready MP4 briefs need a CTA URL when visible URL or QR is required.');
+    }
     $coverIndex = max(0, min((int) ($input['cover_index'] ?? 0), count($imageUrls) - 1));
*** End Patch