d443caf059
bulk_operation.php: ticket ID validation was converting IDs to int then back to string, so '000123456' became '123456' which never matched the DB VARCHAR key, silently rejecting ~11% of tickets from bulk operations. Now validates with ctype_digit() to preserve leading zeros. TicketModel::getTicketsByIds(): changed intval() to strval() and bind type 'i' to 's' so VARCHAR ticket_id columns are queried consistently as strings. DashboardController::getCategoriesAndTypes(): added null check on query result before calling fetch_assoc() to prevent TypeError if query fails. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>