- Add comprehensive health check system with multiple endpoints - Add Prometheus metrics endpoint - Add production logging configurations (5 strategies) - Add complete deployment documentation suite: * QUICKSTART.md - 30-minute deployment guide * DEPLOYMENT_CHECKLIST.md - Printable verification checklist * DEPLOYMENT_WORKFLOW.md - Complete deployment lifecycle * PRODUCTION_DEPLOYMENT.md - Comprehensive technical reference * production-logging.md - Logging configuration guide * ANSIBLE_DEPLOYMENT.md - Infrastructure as Code automation * README.md - Navigation hub * DEPLOYMENT_SUMMARY.md - Executive summary - Add deployment scripts and automation - Add DEPLOYMENT_PLAN.md - Concrete plan for immediate deployment - Update README with production-ready features All production infrastructure is now complete and ready for deployment.
74 lines
2.1 KiB
PHP
74 lines
2.1 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
// Make HTTP request to get rendered HTML
|
|
$ch = curl_init('http://localhost/livecomponent-demo');
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
|
curl_setopt($ch, CURLOPT_HTTPHEADER, [
|
|
'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
|
|
]);
|
|
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
|
|
$html = curl_exec($ch);
|
|
$error = curl_error($ch);
|
|
|
|
if (! $html || $error) {
|
|
echo "❌ Failed to fetch page: $error\n";
|
|
exit(1);
|
|
}
|
|
|
|
echo "=== Checking Filter Placeholders ===\n\n";
|
|
|
|
// Check for unreplaced placeholders
|
|
$unplacedFound = false;
|
|
|
|
if (str_contains($html, '{{filters.id}}')) {
|
|
echo "❌ FAILED: {{filters.id}} placeholder NOT replaced\n";
|
|
$unplacedFound = true;
|
|
}
|
|
|
|
if (str_contains($html, '{{filters.name}}')) {
|
|
echo "❌ FAILED: {{filters.name}} placeholder NOT replaced\n";
|
|
$unplacedFound = true;
|
|
}
|
|
|
|
if (str_contains($html, '{{filters.email}}')) {
|
|
echo "❌ FAILED: {{filters.email}} placeholder NOT replaced\n";
|
|
$unplacedFound = true;
|
|
}
|
|
|
|
if (str_contains($html, '{{filters.role')) {
|
|
echo "❌ FAILED: {{filters.role}} placeholders NOT replaced\n";
|
|
$unplacedFound = true;
|
|
}
|
|
|
|
if (! $unplacedFound) {
|
|
echo "✅ SUCCESS: All filter placeholders replaced\n";
|
|
}
|
|
|
|
// Extract and show filter inputs
|
|
echo "\n=== Filter Inputs ===\n\n";
|
|
|
|
if (preg_match('/<input[^>]*name="filter_id"[^>]*>/', $html, $matches)) {
|
|
echo "Filter ID: " . $matches[0] . "\n";
|
|
}
|
|
|
|
if (preg_match('/<input[^>]*name="filter_name"[^>]*>/', $html, $matches)) {
|
|
echo "Filter Name: " . $matches[0] . "\n";
|
|
}
|
|
|
|
if (preg_match('/<input[^>]*name="filter_email"[^>]*>/', $html, $matches)) {
|
|
echo "Filter Email: " . $matches[0] . "\n";
|
|
}
|
|
|
|
// Check select with role filter
|
|
if (preg_match('/<select[^>]*name="filter_role"[^>]*>.*?<\/select>/s', $html, $matches)) {
|
|
echo "\nFilter Role Select:\n";
|
|
// Extract just the opening tag and first option
|
|
if (preg_match('/<select[^>]*>.*?<option[^>]*>.*?<\/option>/s', $matches[0], $snippet)) {
|
|
echo substr($snippet[0], 0, 200) . "...\n";
|
|
}
|
|
}
|
|
|
|
echo "\n=== Done ===\n";
|