insert('website', ['id' => 'default', 'name' => 'Browser test', 'default_locale' => 'de', 'theme' => '{}']); $pages = new PageRepository($db, new DocumentValidator(), new SiteSettings($db, new MediaLibrary($db, $path.'-media'))); foreach (DemoContent::pages() as $slug => $document) { $id = 'test-'.$slug; $db->insert('page', ['id' => $id, 'slug' => $slug, 'path' => $slug, 'type' => 'page', 'locale' => 'de', 'website_id' => 'default', 'version' => 0, 'created_at' => gmdate('Y-m-d H:i:s')]); $revision = $pages->saveDraft($id, $document, 0); $pages->publish($id, $revision, 1); } $partials = new PartialRepository($db, new DocumentValidator()); foreach (DemoContent::areas() as $kind => $area) { $partials->create($kind, 'default', $area['name'], $area['document']); } $password = bin2hex(random_bytes(20)); $username = 'browser-'.bin2hex(random_bytes(6)); $db->insert('cms_user', ['id' => $username, 'username' => $username, 'password_hash' => password_hash($password, PASSWORD_BCRYPT, ['cost' => 4]), 'roles' => '["ROLE_ADMIN"]']); $images = []; foreach (['Berge', 'Küste'] as $index => $title) { $image = imagecreatetruecolor(1800, 1200); for ($y = 0; $y < 1200; ++$y) { $color = imagecolorallocate($image, 110 + (int) ($y / 18), 150 + (int) ($y / 30), 155 + (int) ($y / 28)); imageline($image, 0, $y, 1799, $y, $color); } imagefilledellipse($image, 1300, 270, 210, 210, imagecolorallocate($image, 245, 223, 169)); imagefilledpolygon($image, [0, 1000, 420, 350 + $index * 150, 950, 980, 1400, 550, 1800, 1100, 1800, 1200, 0, 1200], imagecolorallocate($image, 42, 83 + $index * 20, 75)); $imagePath = $path.'-'.$title.'.png'; imagepng($image, $imagePath); imagedestroy($image); $images[] = $imagePath; } echo json_encode(['databaseUrl' => $url, 'mediaDirectory' => $path.'-media', 'images' => $images, 'username' => $username, 'password' => $password]);