mirror of
https://github.com/myronblair/tomtomgames
synced 2026-06-30 17:51:08 -05:00
29 lines
1.8 KiB
PHP
29 lines
1.8 KiB
PHP
<?php
|
|
// Fix broadcast_list in admin.php on server - delete after running
|
|
$f = '/home/tomtomgames.com/public_html/api/admin.php';
|
|
$c = file_get_contents($f);
|
|
|
|
$idx = strpos($c, "case 'broadcast_list':");
|
|
$end = strpos($c, " break;", $idx) + 14;
|
|
|
|
$new = "case 'broadcast_list':\n try {\n \$sql = \"SELECT b.id, b.subject, b.message, b.target, b.sent_at, u.username AS sender_name, (SELECT COUNT(*) FROM broadcast_reads WHERE broadcast_id=b.id) AS read_count, (SELECT COUNT(*) FROM broadcast_replies WHERE broadcast_id=b.id) AS reply_count, (SELECT COUNT(*) FROM users WHERE status='active' AND is_admin=0) AS total_players FROM broadcasts b JOIN users u ON b.admin_id=u.id ORDER BY b.sent_at DESC LIMIT 100\";\n \$stmt = db()->query(\$sql);\n echo json_encode(['success'=>true,'broadcasts'=>\$stmt->fetchAll()]);\n } catch(Exception \$e) {\n echo json_encode(['success'=>false,'error'=>\$e->getMessage()]);\n }\n break;";
|
|
|
|
$c = substr($c, 0, $idx) . $new . substr($c, $end);
|
|
file_put_contents($f, $c);
|
|
|
|
// Verify it works
|
|
require_once '/home/tomtomgames.com/includes/config.php';
|
|
require_once '/home/tomtomgames.com/includes/db.php';
|
|
|
|
try {
|
|
$stmt = db()->query("SELECT COUNT(*) FROM broadcasts");
|
|
echo "OK - broadcasts in DB: " . $stmt->fetchColumn() . "\n";
|
|
$stmt2 = db()->query("SELECT b.id, b.subject, b.sent_at, u.username AS sender_name FROM broadcasts b JOIN users u ON b.admin_id=u.id ORDER BY b.sent_at DESC LIMIT 5");
|
|
$rows = $stmt2->fetchAll();
|
|
echo "Query works - rows: " . count($rows) . "\n";
|
|
foreach($rows as $r) echo " #{$r['id']}: {$r['subject']} by {$r['sender_name']}\n";
|
|
} catch(Exception $e) {
|
|
echo "ERROR: " . $e->getMessage() . "\n";
|
|
}
|
|
echo "DONE - delete this file\n";
|