Files
Siro/backend/Admin
Hamza-AyedandClaude Opus 5 a0ab6c5155 Add broadcast notifications and transit route approvals
Broadcast: ride/firebase/send_fcm.php is an internal service guarded by a
shared secret, so the browser cannot call it — holding that key client-side
would expose it, and the endpoint cannot tell who the sender is. A new
Admin/notifications/broadcast.php sits in front of it: it runs behind
connect.php, requires super_admin, restricts the target to the two topics the
apps actually subscribe to ('drivers'/'passengers') so it cannot be used to
push to an arbitrary topic or a single device token, bounds the title and
body, writes an audit entry before dispatching, and only then forwards the
call internally with the shared secret.

The composer shows a live push preview and an explicit confirmation naming
the audience, since a broadcast cannot be recalled.

Route approvals: draft routes render with their stops, distance and stop
count, and approve/reject posts to transit/route/approve.php behind a
confirmation stating the consequence. Available to admins and super admins,
matching the endpoint's own role check.

Also render user-supplied text with unicode-bidi: plaintext — Arabic names,
addresses and messages were being laid out left-to-right inside the
English UI.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-25 02:15:02 +03:00
..
2026-06-09 08:40:31 +03:00
2026-06-26 17:59:47 +03:00
2026-06-12 20:40:40 +03:00
2026-06-12 20:40:40 +03:00
2026-07-02 05:27:05 +03:00
2026-07-09 01:01:16 +03:00
2026-07-12 18:53:59 +03:00
2026-07-10 23:59:23 +03:00
2026-06-09 08:40:31 +03:00
2026-06-09 08:40:31 +03:00
2026-06-16 01:17:29 +03:00
2026-06-09 08:40:31 +03:00
2026-06-12 20:40:40 +03:00