-- ============================================================ -- Blind index columns for searching encrypted fields -- 2026-07-25 -- -- تُضاف أعمدة بحث حتمية (HMAC) بجانب الأعمدة المشفّرة، حتى يمكن نقل التخزين -- إلى AES-GCM العشوائي دون فقدان القدرة على البحث. -- -- آمنة للتشغيل على قاعدة تعمل: كل الأعمدة NULL افتراضياً ولا يقرأها أي كود -- قبل تشغيل سكربت التعبئة. -- ============================================================ ALTER TABLE `driver` ADD COLUMN `phone_bidx` CHAR(64) NULL DEFAULT NULL COMMENT 'HMAC للبحث بالهاتف', ADD COLUMN `email_bidx` CHAR(64) NULL DEFAULT NULL COMMENT 'HMAC للبحث بالبريد', ADD COLUMN `name_bidx` CHAR(64) NULL DEFAULT NULL COMMENT 'HMAC للاسم الكامل بعد التطبيع', ADD INDEX `idx_driver_phone_bidx` (`phone_bidx`), ADD INDEX `idx_driver_email_bidx` (`email_bidx`), ADD INDEX `idx_driver_name_bidx` (`name_bidx`); ALTER TABLE `passengers` ADD COLUMN `phone_bidx` CHAR(64) NULL DEFAULT NULL COMMENT 'HMAC للبحث بالهاتف', ADD COLUMN `email_bidx` CHAR(64) NULL DEFAULT NULL COMMENT 'HMAC للبحث بالبريد', ADD COLUMN `name_bidx` CHAR(64) NULL DEFAULT NULL COMMENT 'HMAC للاسم الكامل بعد التطبيع', ADD INDEX `idx_passengers_phone_bidx` (`phone_bidx`), ADD INDEX `idx_passengers_email_bidx` (`email_bidx`), ADD INDEX `idx_passengers_name_bidx` (`name_bidx`); ALTER TABLE `adminUser` ADD COLUMN `phone_bidx` CHAR(64) NULL DEFAULT NULL COMMENT 'HMAC للبحث بالهاتف', ADD COLUMN `email_bidx` CHAR(64) NULL DEFAULT NULL COMMENT 'HMAC للبحث بالبريد', ADD INDEX `idx_adminuser_phone_bidx` (`phone_bidx`), ADD INDEX `idx_adminuser_email_bidx` (`email_bidx`); -- عمود status مفقود في هذا النشر، وبدونه لا يمكن تتبّع موافقات المشرفين -- (Admin/Staff/pending.php و auth/approve_admin.php يعتمدان عليه). -- القيمة الافتراضية 'active' مقصودة حتى لا تُقفل الحسابات القائمة خارج النظام. ALTER TABLE `adminUser` ADD COLUMN `status` VARCHAR(20) NOT NULL DEFAULT 'active' COMMENT 'active | pending | suspended | rejected', ADD COLUMN `approved_by` VARCHAR(32) NULL DEFAULT NULL, ADD COLUMN `approved_at` TIMESTAMP NULL DEFAULT NULL;